Data structure programming: with the standard template library in C++
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Buch |
Sprache: | English |
Veröffentlicht: |
New York u.a.
Springer
1998
|
Schriftenreihe: | Undergraduate texts in computer science
|
Schlagworte: | |
Online-Zugang: | Inhaltsverzeichnis |
Beschreibung: | XIV,336 S. |
ISBN: | 0387949208 |
Internformat
MARC
LEADER | 00000nam a2200000 c 4500 | ||
---|---|---|---|
001 | BV012071994 | ||
003 | DE-604 | ||
005 | 00000000000000.0 | ||
007 | t | ||
008 | 980723s1998 |||| 00||| eng d | ||
016 | 7 | |a 954354672 |2 DE-101 | |
020 | |a 0387949208 |9 0-387-94920-8 | ||
035 | |a (OCoLC)37917397 | ||
035 | |a (DE-599)BVBBV012071994 | ||
040 | |a DE-604 |b ger |e rakddb | ||
041 | 0 | |a eng | |
049 | |a DE-739 |a DE-473 |a DE-523 | ||
050 | 0 | |a QA76.73.C153 | |
082 | 0 | |a 005.7/3 |2 21 | |
084 | |a ST 250 |0 (DE-625)143626: |2 rvk | ||
084 | |a ST 265 |0 (DE-625)143634: |2 rvk | ||
084 | |a ST 270 |0 (DE-625)143638: |2 rvk | ||
100 | 1 | |a Bergin, Joseph |e Verfasser |4 aut | |
245 | 1 | 0 | |a Data structure programming |b with the standard template library in C++ |c Joseph Bergin |
264 | 1 | |a New York u.a. |b Springer |c 1998 | |
300 | |a XIV,336 S. | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
490 | 0 | |a Undergraduate texts in computer science | |
630 | 0 | 4 | |a Standard template library |
650 | 7 | |a C plus-plus (langage de programmation) |2 ram | |
650 | 7 | |a C++ |2 gtt | |
650 | 7 | |a C++ |2 inriac | |
650 | 7 | |a Gegevensmodellering |2 gtt | |
650 | 7 | |a STL |2 inriac | |
650 | 7 | |a Structures de données (informatique) |2 ram | |
650 | 7 | |a structure donnée |2 inriac | |
650 | 4 | |a C++ (Computer program language) | |
650 | 4 | |a Data structures (Computer science) | |
650 | 0 | 7 | |a Datenstruktur |0 (DE-588)4011146-5 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a C++ |0 (DE-588)4193909-8 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Programmierung |0 (DE-588)4076370-5 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a STL |0 (DE-588)4411326-2 |2 gnd |9 rswk-swf |
689 | 0 | 0 | |a Datenstruktur |0 (DE-588)4011146-5 |D s |
689 | 0 | 1 | |a Programmierung |0 (DE-588)4076370-5 |D s |
689 | 0 | 2 | |a STL |0 (DE-588)4411326-2 |D s |
689 | 0 | |5 DE-604 | |
689 | 1 | 0 | |a Datenstruktur |0 (DE-588)4011146-5 |D s |
689 | 1 | 1 | |a STL |0 (DE-588)4411326-2 |D s |
689 | 1 | 2 | |a C++ |0 (DE-588)4193909-8 |D s |
689 | 1 | |5 DE-604 | |
856 | 4 | 2 | |m HEBIS Datenaustausch |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=008171838&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
999 | |a oai:aleph.bib-bvb.de:BVB01-008171838 |
Datensatz im Suchindex
_version_ | 1804126671984394240 |
---|---|
adam_text | Joseph Bergin
Data Structure
Programming
With the Standard Template
Library in C++
With 49 Illustrations
Springer
Contents
Preface v
The Standard Template Library vi
Acknowledgments vi
Dedication vii
Chapter 1 Data Structures and Algorithms 1
1 1 Data Abstraction and Encapsulation 1
1 2 Classes, Data Abstraction, Encapsulation, and
Information Hiding 3
1 3 Derived Classes Object Orientation 11
1 4 Templates 13
1 5 Which Data Abstractions Are Useful? 18
1 6 Abstractions Provided by the STL 20
1 7 Summary 22
1 8 Exercises 23
Chapter 2 Programming with Arrays and Pointers 27
2 1 Arrays 27
211 An Example A Guessing Game 28
212 Another Example Array of Objects 29
2 2 Pointers and Arrays 30
2 3 Pointer Arithmetic 33
2 4 Arrays with More than One Dimension 35
2 5 Putting It Together An Application 37
2 6 How the STL Generalizes Arrays and Pointers 38
2 7 Some Common Problems Searching and Sorting 39
271 Linear Search in Arrays 39
Data Structure Programming with the Standard Template Library in C++
272 Selection Sort 40
2 73 Binary Search 46
274 Quicksort 47
275 The Efficiency of These Algorithms 50
2 8 Using Arrays with the STL 54
2 9 Another Example A Simple Database 55
2 10 Arrays That Contain Pointers 58
2 11 Another Use for Pointers—Lists 59
2 12 Summary 59
2 13 Exercises 60
Chapter 3 Overview of Container Mechanisms 65
3 1 Storage Mechanisms 65
3 2 Dense Storage 65
3 3 An Extended Example Parti: The Array Stack 66
3 4 Linked Storage 75
3 5 An Extended Example Part 2: The Linked Stack 81
3 6 Tree Storage 88
3 7 Graph Storage 91
3 8 Hashed Storage 91
3 9 Indexed Storage 93
3 10 Summary 95
3 11 Exercises 95
Chapter 4 Overview of the Standard Template Library 9 9
4 1 Components of the STL 99
42A Motivating Example: A Spell Checker 101
4 3 Containers 108
431 Sequence Containers 110
43 2 More on the Spell Checker I l l
433 Sorted Associative Containers 113
43 4 Rebuilding the Spelling Dictionary as a Set 115
4 4 Iterators 117
441 Forward Iterators 119
4 42 Bidirectional Iterators 119
4 43 Random Access Iterators 120
444 Input Iterators 121
4 4:5 Output Iterators 121
446 Istream and Ostream Iterators 122
Contents xi
4 5 Generic Algorithms 123
451 Minimum and Maximum Algorithms 124
452 Generalized Numeric Algorithms 125
4 53 Nonmutating Sequence Operations 127
4J5 4 Mutating Sequence Operations 129
455 Sorting Related Operations 132
456 Set Operations on Sorted Structures 135
457 Heap Operations 137
458 Lexicographical Compare Operations 138
459 Permutation Generation Operations 138
4 J 10 Miscellaneous Additional Operations 138
4 6 Function Objects 139
461 Arithmetic Operations 140
462 Comparison Operations 140
4 63 Logical Operations 140
4 7 Adaptors 141
471 Function Adaptors 141
472 Container Adaptors 141
4 73 Iterator Adaptors 143
4 8 Allocators 144
4 9 Summary 145
4 10 Exercises 145
Chapter 5 Vector Programming 147
5 1 Vectors—Expandable Arrays 147
5 2 The Indexing Problem 148
5 3 How We Can Implement Vectors 150
5 4 Memory Management 154
5 5 Adding to the Functionality of Expandable Arrays 156
5 6 Programming with Expandable Arrays 158
5 7 Building a Stack Adaptor 161
5 8 The STL vector Template 163
59A Graph Implemented with STL vectors 168
5 10 Summary 175
5 11 Exercises 175
Chapter 6 Dequeue Programming 179
6 1 Queues and Double-Ended Queues 179
6 2 Implementing a Dequeue 180
63A Simple deque Example 182
xii Data Structure Programming with the Standard Template Library in C++
6 4 The deque Interface 183
6 5 Efficiency of deque 184
6 6 More on Container Adaptors—The queue Adaptor 184
6 7 Priority Queues and Heaps 186
671 Heaps 186
672 Priority Queues 190
6 8 STL Generic Algorithms—Searching and Sorting 192
681 Generalized Searching 192
682 Sorting 196
6 83 Searching Sorted Containers 199
6 9 Median and Other Order Statistics 202
6 10 Merging 206
6 11 Summary 208
6 12 Exercises 209
Chapter 7 Lists 211
7 1 Implementation Strategies of STL Lists 211
7 2 Properties of STL Lists 213
73A Simple Implementation of Circular Lists 215
73 1 Sorting a List 219
73 2 Recursive List Operations 220
7 33 Some Difficulties with This Implementation 222
7 4 An Alternate Implementation of Lists 222
7 5 The Iterator Invalidation Problem and Its Solution 227
7 6 Techniques for STL Lists 230
761 Finding an Item in a Sorted List 231
762 Inserting into a Sorted List 231
763 Applying an Arbitrary Function to Each Element of a List 232
764 Splicing Lists 233
765 Merging Sorted Lists 234
766 Reversing a List 234
767 Building a Spelling Dictionary 234
768A Merge Sort Suitable for Lists 235
7 7 Summary 236
7 8 Exercises 236
Chapter 8 Sets, Maps, Multisets, and MultiMaps 239
8 1 Sequential Versus Sorted Containers 239
8 2 Binary Trees 240
8 3 Binary Search Trees 241
Contents xiii
8 4 Balanced Binary Search Trees 242
8 5 2-3-4 Trees 242
8 6 Red-Black Trees 243
8 7 Sets and Multisets 246
8 8 Maps and Multimaps 250
8 9 An Implementation of Red-Black Trees 251
8 10 Summary 264
8 11 Exercises 264
Chapter 9 Hash Tables 267
9 1 Hashed Associative Containers and the STL 267
9 2 Simple Hashing—Separate Chaining 271
9 3 Simple Hashing—Circular Hashing 272
9 4 Variations on Simple Hashing 274
9 5 Hash Functions 275
9 6 Reorganization of a Hash Table 277
9 7 Using Hashed Structures 279
9 8 Elements of an Implementation 280
981 TheHash Table 280
982 Sets and Maps 287
9 83 Using the Sets and Maps 290
9 9 Design Issues 292
9 10 Extending the Standard Template Library 292
9 11 Summary 293
9 12 Exercises 293
Appendix STL Summary 295
A I Algorithms Prototypes 295
AII Maximum and Minimum 295
AI2 Generalized Numeric Operations 296
A I3 Nonmutating Sequence Operations 298
AI4 Mutating Sequence Operations 300
A U Sorting Related Operations 306
AI6 Set Operations on Sorted Structures 310
A17 Heap Operations 312
A18 Lexicographical Compare Operations 314
A19 Permutation Generator Operations 314
A I 10 Miscellaneous Operations 315
xiv Data Structure Programming with the Standard Template Library in C++
A 2 Containers 315
A21 Sequential Containers 315
A22 Sorted Associative Containers 322
A 3 Adaptors 327
A31 Container Adaptors 327
Bibliography 331
Index 333
|
any_adam_object | 1 |
author | Bergin, Joseph |
author_facet | Bergin, Joseph |
author_role | aut |
author_sort | Bergin, Joseph |
author_variant | j b jb |
building | Verbundindex |
bvnumber | BV012071994 |
callnumber-first | Q - Science |
callnumber-label | QA76 |
callnumber-raw | QA76.73.C153 |
callnumber-search | QA76.73.C153 |
callnumber-sort | QA 276.73 C153 |
callnumber-subject | QA - Mathematics |
classification_rvk | ST 250 ST 265 ST 270 |
ctrlnum | (OCoLC)37917397 (DE-599)BVBBV012071994 |
dewey-full | 005.7/3 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 005 - Computer programming, programs, data, security |
dewey-raw | 005.7/3 |
dewey-search | 005.7/3 |
dewey-sort | 15.7 13 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Informatik |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>02257nam a2200613 c 4500</leader><controlfield tag="001">BV012071994</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">00000000000000.0</controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">980723s1998 |||| 00||| eng d</controlfield><datafield tag="016" ind1="7" ind2=" "><subfield code="a">954354672</subfield><subfield code="2">DE-101</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">0387949208</subfield><subfield code="9">0-387-94920-8</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)37917397</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BVBBV012071994</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">rakddb</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-739</subfield><subfield code="a">DE-473</subfield><subfield code="a">DE-523</subfield></datafield><datafield tag="050" ind1=" " ind2="0"><subfield code="a">QA76.73.C153</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">005.7/3</subfield><subfield code="2">21</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 250</subfield><subfield code="0">(DE-625)143626:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 265</subfield><subfield code="0">(DE-625)143634:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 270</subfield><subfield code="0">(DE-625)143638:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Bergin, Joseph</subfield><subfield code="e">Verfasser</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Data structure programming</subfield><subfield code="b">with the standard template library in C++</subfield><subfield code="c">Joseph Bergin</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">New York u.a.</subfield><subfield code="b">Springer</subfield><subfield code="c">1998</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">XIV,336 S.</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="490" ind1="0" ind2=" "><subfield code="a">Undergraduate texts in computer science</subfield></datafield><datafield tag="630" ind1="0" ind2="4"><subfield code="a">Standard template library</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">C plus-plus (langage de programmation)</subfield><subfield code="2">ram</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">C++</subfield><subfield code="2">gtt</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">C++</subfield><subfield code="2">inriac</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">Gegevensmodellering</subfield><subfield code="2">gtt</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">STL</subfield><subfield code="2">inriac</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">Structures de données (informatique)</subfield><subfield code="2">ram</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">structure donnée</subfield><subfield code="2">inriac</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">C++ (Computer program language)</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Data structures (Computer science)</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Datenstruktur</subfield><subfield code="0">(DE-588)4011146-5</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">C++</subfield><subfield code="0">(DE-588)4193909-8</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Programmierung</subfield><subfield code="0">(DE-588)4076370-5</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">STL</subfield><subfield code="0">(DE-588)4411326-2</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">Datenstruktur</subfield><subfield code="0">(DE-588)4011146-5</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="1"><subfield code="a">Programmierung</subfield><subfield code="0">(DE-588)4076370-5</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="2"><subfield code="a">STL</subfield><subfield code="0">(DE-588)4411326-2</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="689" ind1="1" ind2="0"><subfield code="a">Datenstruktur</subfield><subfield code="0">(DE-588)4011146-5</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="1" ind2="1"><subfield code="a">STL</subfield><subfield code="0">(DE-588)4411326-2</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="1" ind2="2"><subfield code="a">C++</subfield><subfield code="0">(DE-588)4193909-8</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="1" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">HEBIS Datenaustausch</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=008171838&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="999" ind1=" " ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-008171838</subfield></datafield></record></collection> |
id | DE-604.BV012071994 |
illustrated | Not Illustrated |
indexdate | 2024-07-09T18:21:10Z |
institution | BVB |
isbn | 0387949208 |
language | English |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-008171838 |
oclc_num | 37917397 |
open_access_boolean | |
owner | DE-739 DE-473 DE-BY-UBG DE-523 |
owner_facet | DE-739 DE-473 DE-BY-UBG DE-523 |
physical | XIV,336 S. |
publishDate | 1998 |
publishDateSearch | 1998 |
publishDateSort | 1998 |
publisher | Springer |
record_format | marc |
series2 | Undergraduate texts in computer science |
spelling | Bergin, Joseph Verfasser aut Data structure programming with the standard template library in C++ Joseph Bergin New York u.a. Springer 1998 XIV,336 S. txt rdacontent n rdamedia nc rdacarrier Undergraduate texts in computer science Standard template library C plus-plus (langage de programmation) ram C++ gtt C++ inriac Gegevensmodellering gtt STL inriac Structures de données (informatique) ram structure donnée inriac C++ (Computer program language) Data structures (Computer science) Datenstruktur (DE-588)4011146-5 gnd rswk-swf C++ (DE-588)4193909-8 gnd rswk-swf Programmierung (DE-588)4076370-5 gnd rswk-swf STL (DE-588)4411326-2 gnd rswk-swf Datenstruktur (DE-588)4011146-5 s Programmierung (DE-588)4076370-5 s STL (DE-588)4411326-2 s DE-604 C++ (DE-588)4193909-8 s HEBIS Datenaustausch application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=008171838&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis |
spellingShingle | Bergin, Joseph Data structure programming with the standard template library in C++ Standard template library C plus-plus (langage de programmation) ram C++ gtt C++ inriac Gegevensmodellering gtt STL inriac Structures de données (informatique) ram structure donnée inriac C++ (Computer program language) Data structures (Computer science) Datenstruktur (DE-588)4011146-5 gnd C++ (DE-588)4193909-8 gnd Programmierung (DE-588)4076370-5 gnd STL (DE-588)4411326-2 gnd |
subject_GND | (DE-588)4011146-5 (DE-588)4193909-8 (DE-588)4076370-5 (DE-588)4411326-2 |
title | Data structure programming with the standard template library in C++ |
title_auth | Data structure programming with the standard template library in C++ |
title_exact_search | Data structure programming with the standard template library in C++ |
title_full | Data structure programming with the standard template library in C++ Joseph Bergin |
title_fullStr | Data structure programming with the standard template library in C++ Joseph Bergin |
title_full_unstemmed | Data structure programming with the standard template library in C++ Joseph Bergin |
title_short | Data structure programming |
title_sort | data structure programming with the standard template library in c |
title_sub | with the standard template library in C++ |
topic | Standard template library C plus-plus (langage de programmation) ram C++ gtt C++ inriac Gegevensmodellering gtt STL inriac Structures de données (informatique) ram structure donnée inriac C++ (Computer program language) Data structures (Computer science) Datenstruktur (DE-588)4011146-5 gnd C++ (DE-588)4193909-8 gnd Programmierung (DE-588)4076370-5 gnd STL (DE-588)4411326-2 gnd |
topic_facet | Standard template library C plus-plus (langage de programmation) C++ Gegevensmodellering STL Structures de données (informatique) structure donnée C++ (Computer program language) Data structures (Computer science) Datenstruktur Programmierung |
url | http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=008171838&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT berginjoseph datastructureprogrammingwiththestandardtemplatelibraryinc |