HOME > 상세정보

상세정보

Data structures and algorithm analysis in C++

Data structures and algorithm analysis in C++ (7회 대출)

자료유형
단행본
개인저자
Weiss, Mark Allen.
서명 / 저자사항
Data structures and algorithm analysis in C++ / Mark Allen Weiss.
발행사항
Redwood City, Calif. :   Benjamin/Cummings Pub. Co. ,   c1994.  
형태사항
xiv, 498 p. : ill. ; 24 cm.
ISBN
0805354433
서지주기
Includes bibliographical references and index.
일반주제명
C++ (Computer program language). Data structures (Computer science). Computer algorithms.
000 00877camuu2200265 a 4500
001 000000593727
005 20060704095049
008 930921s1994 caua b 001 0 eng
010 ▼a 93037035
020 ▼a 0805354433
040 ▼a DLC ▼c DLC ▼d 211009
049 1 ▼l 111107880
050 0 0 ▼a QA76.73.C153 ▼b W46 1994
082 0 0 ▼a 005.13/3 ▼2 20
090 ▼a 005.133 ▼b W431d
100 1 ▼a Weiss, Mark Allen.
245 1 0 ▼a Data structures and algorithm analysis in C++ / ▼c Mark Allen Weiss.
260 ▼a Redwood City, Calif. : ▼b Benjamin/Cummings Pub. Co. , ▼c c1994.
300 ▼a xiv, 498 p. : ▼b ill. ; ▼c 24 cm.
504 ▼a Includes bibliographical references and index.
650 0 ▼a C++ (Computer program language).
650 0 ▼a Data structures (Computer science).
650 0 ▼a Computer algorithms.
945 ▼a KINS

소장정보

No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 학술정보관(CDL)/B1 국제기구자료실(보존서고8)/ 청구기호 005.133 W431d 등록번호 111107880 (7회 대출) 도서상태 대출가능 반납예정일 예약 서비스 B M

컨텐츠정보

책소개

In this adaptation of his successful book, Data Structures and Algorithm Analysis, Mark Allen Weiss provides an innovative approach to algorithms and data structures in C++. He highlights conceptual topics, focusing on ADTs and the analysis of algorithms for efficiency as well as performance and running time. Dr. Weiss also distinguishes Data Structures and Algorithm Analysis in C++ with his clear, friendly writing style, logical organization or topics, and extensive use of figures and examples that show the successive stages of an algorithm. 0805354433B04062001


정보제공 : Aladin

목차


CONTENTS
1 Introduction = 1
 1.1 What's the Book About? = 1
 1.2. Mathematics Review = 3
  1.2.1. Exponents = 3
  1.2.2. Logarithms = 3
  1.2.3. Series = 4
  1.2.4. Modular Arithmetic = 5
  1.2.5. The P Word = 6
 1.3. A Brief Introduction to Recursion = 8
 1.4. C++ at a Glance = 12
  1.4.1. A String Class = 14
  1.4.2. A Complex Number Class = 21
 Summary = 25
 Exercises = 25
 References = 26
2 Algorithm Analysis = 29
 2.1. Mathematical Background = 29
 2.2. Model = 32
 2.3. What to Analyze = 32
 2.4. Running Time Calculations = 34
  2.4.1. A Simple Example = 35
  2.4.2. General Example = 36
  2.4.3. Solutions for the Maximum Subsequence Sum Problem = 38
  2.4.4. Logarithms in the Running Time = 43
  2.4.5. Checking Your Analysis = 48
  2.4.6. A Grain of Salt = 48
 Summary = 48
 Exercises = 50
 References = 54
3 Lists, Stacks, and Queues = 57
 3.1. Abstract Data Types (ADTs) = 57
 3.2. The List ADT = 57
  3.2.1. Simple Array Implementation of Lists = 59
  3.2.2. Linked Lists = 59
  3.2.3. Programming Details = 60
  3.2.4. Common Errors = 69
  3.2.5. Doubly and Circularly Linked Lists = 71
  3.2.6. Sorted Linked Lists, Inheritance, and Virtual Functions = 71
  3.2.7. Examples = 73
  3.2.8. Cursor Implementation of Linked Lists = 80
 3.3. The Stack ADT = 88
  3.3.1. Stack Model = 88
  3.3.2. Implementation of Stacks = 89
  3.3.3. Applications = 96
 3.4. The Queue ADT = 104
  3.4.1. Queue Model = 104
  3.4.2. Array Implementation of Queues = 105
  3.4.3. Applications of Queues = 107
 Summary = 110
 Exercises = 111
4 Trees = 115
 4.1. Preliminaries = 115
  4.1.1. Implementation of Trees = 116
  4.1.2. Tree Traversals with an Application = 117
 4.2. Binary Trees = 121
  4.2.1. Implementation = 122
  4.2.2. Expression Trees = 123
 4.3. The Search Tree ADT - Binary Search Trees = 126
  4.3.1. Make_Empty = 129
  4.3.2. Find = 130
  4.3.3. Find_Min and Find_Max = 130
  4.3.4. Insert = 131
  4.3.5. Remove = 133
  4.3.6. Average-Case Analysis = 135
 4.4. AVL Trees = 137
  4.4.1. Single Rotation = 139
  4.4.2. Double Rotation = 141
 4.5. Splay Trees = 150
  4.5.1. A Simple Idea (That Does Not Work) = 150
  4.5.2. Splaying = 153
 4.6. Tree Traversals (Revisited) = 164
 4.7. B-Trees = 165
 Summary = 170
 Exercises = 171
 References = 177
5 Hashing = 181
 5.1. General Idea = 181
 5.2. Hash Function = 182
 5.3. Open Hashing (Separate Chaining) = 184
 5.4. Closed Hashing (Open Addressing) = 189
  5.4.1. Linear Probing = 189
  5.4.2. Quadratic Probing = 191
  5.4.3. Double Hashing = 193
 5.5. Rehashing = 198
 5.6. Extendible Hashing = 200
 Summary = 204
 Exercises = 206
 References = 208
6 Priority Queues (Heaps) = 211
 6.1. Model = 211
 6.2. Simple Implementations = 212
 6.3. Binary Heap = 213
  6.3.1. Structure Property = 213
  6.3.2. Heap Order Property = 215
  6.3.3. Basic Heap Operations = 216
  6.3.4. Other Heap Operations = 220
 6.4. Applications of Priority Queues = 223
  6.4.1. The Selection Problem = 224
  6.4.2. Event Simulation = 225
 6.5. d-Heaps = 226
 6.6. Leftist Heaps = 227
  6.6.1. Leftist Heap Property = 227
  6.6.2. Leftist Heap Operations = 228
 6.7. Skew Heaps = 235
 6.8. Binomial Queues = 237
  6.8.1. Binomial Queue Structure = 237
  6.8.2. Binomial Queue Operations = 237
  6.8.3. Implementation of Binomial Queues = 242
 Summary = 246
 Exercises = 247
 References = 251
7 Sorting = 253
 7.1. Preliminaries = 253
 7.2. Insertion Sort = 254
  7.2.1. The Algorithm = 254
  7.2.2. Analysis of Insertion Sort = 254
 7.3. A Lower Bound for Simple Sorting Algorithms = 255
 7.4. Shellsort = 256
  7.4.1. Worst-Case Analysis of Shellsort = 258
 7.5. Heapsort = 260
 7.6. Mergesort = 262
  7.6.1. Analysis of Mergesort = 265
 7.7. Quicksort = 267
  7.7.1. Picking the Pivot = 268
  7.7.2. Partitioning Strategy = 270
  7.7.3. Small Files = 272
  7.7.4. Actual Quicksort Routines = 272
  7.7.5. Analysis of Quicksort = 275
  7.7.6. A Linear-Expected-Time Algorithm for Selection = 278
 7.8 Sorting Large Objects = 280
 7.9. A General Lower Bound for Sorting = 280
  7.9.1. Decision Trees = 280
 7.10. Bucket Sort = 283
 7.11. External Sorting = 283
  7.11.1. Why We Need New Algorithms = 284
  7.11.2. Model for External Sorting = 284
  7.11.3. The Simple Algorithm = 284
  7.11.4. Multiway Merge = 286
  7.11.5. Polyphase Merge = 287
  7.11.6. Replacement Selection = 288
 Summary = 289
 Exercises = 290
 References = 293
8 The Disjoint Set ADT = 297
 8.1. Equivalence Relations = 297
 8.2. The Dynamic Equivalence Problem = 298
 8.3. Basic Data Structure = 299
 8.4. Smart Union Algorithms = 303
 8.5. Path Compression = 306
 8.6. Worst Case for Union-by-Rank and Path Compression = 307
  8.6.1. Analysis of the Union / Find Algorithm = 308
 8.7. An Applications = 314
 Summary = 314
 Exercises = 315
 References = 316
9 Graph Algorithms = 319
 9.1. Definitions = 319
  9.1.1. Representation of Graphs = 320
 9.2. Topological Sort = 332
 9.3. Shortest-Path Algorithms = 326
  9.3.1. Unweighted Shortest Paths = 327
  9.3.2. Dijkstra's Algorithm = 333
  9.3.3. Graphs with Negative Edge Costs = 340
  9.3.4. Acyclic Graphs = 341
  9.3.5. All-Pairs Shortest Path = 344
 9.4. Network Flow Problems = 345
  9.4.1. A Simple Maximum-Flow Algorithm = 345
 9.5. Minimum Spanning Tree = 350
 9.6. Applications of Depth-First Search = 356
  9.6.1. Undirected Graphs = 357
  9.6.2. Biconnectivity = 359
  9.6.3. Euler Circuits = 363
  9.6.4. Directed Graphs = 366
  9.6.5. Finding Strong components = 368
 9.7. Introduction to NP-Completeness = 369
  9.7.1. Easy vs, Hard = 370
  9.7.2. The Class NP = 371
  9.7.3. NP-Complete Problems = 372
 Summary = 374
 Exercises = 374
 References = 380
10 Algorithm Design Techniques = 383
 10.1. Greedy Algorithms = 383
  10.1.1. A Simple Scheduling Problem = 384
  10.1.2. Huffman Codes = 387
  10.1.3. Approximate Bin Packing = 393
 10.2. Divide and Conquer = 401
  10.2.1. Running Time of Divide and Conquer Algorithms = 402
  10.2.2. closest-Points Problem = 404
  10.2.3. The Selection Problem = 409
  10.2.4. Theoretical Improvements for Arithmetic problems = 412
 10.3. Dynamic Programming = 416
  10.3.1. Using a Table Instead of Recursion = 416
  10.3.2. Ordering Matrix Multiplications = 419
  10.3.3. Optimal Binary Search Tree = 422
  10.3.4. All-Pairs Shortest Path = 425
 10.4. Randomized Algorithms = 428
  10.4.1. Random Number Generators = 429
  10.4.2. Skip Lists = 433
  10.4.3. Primality Testing = 436
 10.5. Backtracking Algorithms = 438
  10.5.1. The Turnpike Reconstruction Problem = 439
  10.5.2. Games = 444
 Summary = 450
 Exercises = 451
 References = 458
11 Amortized Analysis = 463
 11.1. An Unrelated Puzzle = 464
 11.2. Binomial Queues = 464
 11.3. Skew heaps = 469
 11.4. Fibonacci Heaps = 471
  11.4.1. Cutting Nodes in Leftist heaps = 472
  11.4.2. Lazy Merging for Binomial Queues = 474
  11.4.3. The Fibonacci Heap Operations = 478
  11.4.4. Proof of the Time Bound = 479
 11.5. Splay Trees = 481
 Summary = 485
 Exercises = 486
 References = 487
Index = 489


관련분야 신착자료

Harvard Business Review (2025)