• books
    • book1
      • Fundamentals: APPENDIX A: SPARKS
      • Fundamentals: APPENDIX B: ETHICAL CODE IN INFORMATION PROCESSING
      • Fundamentals: APPENDIX C: ALGORITHM INDEX BY CHAPTER
      • Fundamentals: CHAPTER 1: INTRODUCTION
      • Fundamentals: CHAPTER 2: ARRAYS
      • Fundamentals: CHAPTER 3: STACKS AND QUEUES
      • Fundamentals: CHAPTER 4: LINKED LISTS
      • Fundamentals: CHAPTER 5: TREES
      • Fundamentals: CHAPTER 6: GRAPHS
      • Fundamentals: CHAPTER 7: INTERNAL SORTING
      • Fundamentals: CHAPTER 8: EXTERNAL SORTING
      • Fundamentals: CHAPTER 9: SYMBOL TABLES
      • Fundamentals: CHAPTER 10: FILES
      • Fundamentals: PREFACE
      • Fundamentals: Table of Contents
    • book10
      • DDJ Algorithms and Data Structures Articles
      • 8909a
        • Figure 2
        • Figure 2
        • Figure 2a
        • Figure 2b
        • Figure 2c
        • Figure 4
        • Figure 4a
        • Figure 4b
        • Figure 4c
        • Figure 5
        • Figure 5
        • Figure 5
        • Figure 5
        • SEP89: AUTOROUTING WITH THE A* ALGORITHM
      • 8909b
        • Figure 1
        • Figure 1
        • Figure 1
        • Figure 2
        • Figure 2
        • Figure 1
        • Figure 1
        • Figure 3
        • Figure 4
        • Figure 5
        • Figure 4
        • Figure 5
        • Figure 4
        • Figure 5
        • Figure 1
        • SEP89: SIMULATED ANNEALING
      • 9002d
        • Figure 1
        • Figure 2
        • Figure 3
        • Figure 4
        • Figure 5
        • Figure 7
        • FEB90: SELF-ADJUSTING DATA STRUCTURES
      • 9010f
        • Example 1(a)
        • Example 1(b)
        • Example 1(c)
        • Example 1(d)
        • Example 1(e)
        • Figure 1
        • Figure 2
        • Example 1(f)
        • Example 1(g)
        • Example 3(a)
        • Example 3(b)
        • Example 3(c)
        • Example 3(d)
        • Figure 3
        • Example 3(e)
        • Example 4(a)
        • Example 4(b)
        • Example 4(c)
        • Example 4(d)
        • Example 4(e)
        • Example 5(a)
        • Example 5(b)
        • Figure 4
        • Example 5(c)
        • Example 5(d)
        • Example 5(e)
        • 19900289
        • OCT90: IMPLEMENTING CORDIC ALGORITHMS
      • 9109g
        • SEP91: ONE-WAY HASH FUNCTIONS
      • 9204d
        • Figure 1
        • Figure 1(a)
        • Figure 1(b)
        • Figure 1(c)
        • Example 1(a)
        • Example 1(b)
        • Example 1(c)
        • Example 1(d)
        • Example 1(a)
        • Example 1(e)
        • Example 1(f)
        • Example 1(a)
        • Example 1(b)
        • Figure 1(d)
        • Example 1(e)
        • Example 1(f)
        • Figure 1(b)
        • Figure 1(c)
        • Figure 1(d)
        • Example 1(f)
        • Example 1(f)
        • Figure 1(e)
        • Figure 2(a)
        • Figure 2(b)
        • Example 1(e)
        • APR92: BLOCK TRUNCATION COMPRESSION
      • 9207c
        • JUL92: AUDIO COMPRESSION
      • 9304a
        • Figure 1
        • Figure 2
        • Figure 3
        • APR93: ALGORITHMS FOR STEREOSCOPIC IMAGING
      • 9304b
        • Example 1
        • APR93: GENETIC ALGORITHMS AND DATABASE INDEXING
      • 9312e
        • Figure 1
        • Figure 2
        • Figure 3
        • Figure 1
        • Figure 2
        • Figure 3
        • Table 1
        • DEC93: The IDEA Encryption Algorithm
      • 9404d
        • Figure 1
        • Figure 2
        • Figure 1
        • Figure 2
        • APR94: The Blowfish Encryption Algorithm
      • 9407l
        • JUL94: ALGORITHM ALLEY
      • 9410k
        • Figure 1
        • Figure 1
        • Figure 2
        • Figure 3
        • Figure 5
        • Figure 1
        • Figure 2
        • Figure 3
        • Figure 5
        • OCT94: ALGORITHM ALLEY
      • 9411m
        • NOV94: ALGORITHM ALLEY
      • 9412f
        • Figure 1
        • Figure 2
        • Figure 1
        • Figure 3
        • Figure 4
        • Figure 1
        • Figure 2
        • Figure 3
        • Figure 4
        • DEC94: Real-Time Scheduling Algorithms
      • 9413a
        • Figure 1
        • Figure 1
        • Figure 1
        • Example 1(a)
        • Example 1(b)
        • Figure 1
        • Example 1(c)
        • Example 1(d)
        • Figure 8
        • Example 1(e)
        • Example 1(f)
        • Example 1(g)
        • Example 1(a)
        • Figure 8
        • SP 94: Morphing on Your PC
      • 9501f
        • Example 1
        • Example 1
        • JAN95: The RC5 Encryption Algorithm
      • 9501m
        • Figure 1
        • Figure 2
        • Figure 1
        • Figure 2
        • JAN95: ALGORITHM ALLEY
      • 9502n
        • Figure 1
        • Example 1
        • Example 2
        • Example 3
        • Figure 2
        • Figure 3
        • Figure 3
        • Example 5
        • Figure 1
        • Example 1
        • Example 2
        • Example 3
        • Figure 1
        • Figure 2
        • Figure 3
        • Example 5
        • FEB95: ALGORITHM ALLEY
      • 9504k
        • Example 1
        • Table 2
        • Example 1
        • Example 1
        • Example 2
        • Example 2
        • Table 2
        • Example 1
        • Example 2
        • APR95: ALGORITHM ALLEY
      • 9512l
        • DEC95: ALGORITHM ALLEY
      • 9601e
        • Figure 1
        • Figure 2
        • Figure 2
        • JAN96: Evaluating Data-Compression Algorithms
      • 9601p
        • Figure 2
        • JAN96: ALGORITHM ALLEY
      • 9602m
        • FEB96: ALGORITHM ALLEY
      • 9604l
        • APR96: ALGORITHM ALLEY
      • 9606m
        • JUN96: ALGORITHM ALLEY
      • 9607l
        • July 1996: Algorithm Alley
      • 9608n
        • 199703c7
        • 199703c8
        • 199703c9
        • 199703ca
        • 199703cb
        • 199703cc
        • 199703cd
        • 199703ce
        • 199703cf
        • 199703d0
        • 199703d1
        • August 1996: Algorithm Alley
      • 9609n
        • 19970400
        • 19970401
        • 19970402
        • 19970403
        • September 1996: Algorithm Alley
      • 9701o
        • Dr. Dobb's Journal January 1997: Algorithm Alley
        • Dr. Dobb's Journal January 1997: Algorithm Alley, Figure 2
        • Dr. Dobb's Journal January 1997: Algorithm Alley, Table 2
      • 9702m
        • Dr. Dobb's Journal February 1997: Scheduling Algorithms and NP-Complete Problems
        • Dr. Dobb's Journal February 1997: Scheduling Algorithms and NP-Complete Problems
        • Dr. Dobb's Journal February 1997: Scheduling Algorithms and NP-Complete Problems
        • Dr. Dobb's Journal February 1997: Scheduling Algorithms and NP-Complete Problems
      • 9704b
        • Dr. Dobb's Journal April 1997: Elliptic Curves and Cryptography
        • Dr. Dobb's Journal April 1997: Elliptic Curves and Cryptography
        • Dr. Dobb's Journal April 1997: Elliptic Curves and Cryptography
        • Dr. Dobb's Journal April 1997: Elliptic Curves and Cryptography
        • Dr. Dobb's Journal April 1997: Elliptic Curves and Cryptography
        • Dr. Dobb's Journal April 1997: Elliptic Curves and Cryptography
        • Dr. Dobb's Journal April 1997: Elliptic Curves and Cryptography
        • Dr. Dobb's Journal April 1997: Elliptic Curves and Cryptography
        • Dr. Dobb's Journal April 1997: Elliptic Curves and Cryptography
        • Dr. Dobb's Journal April 1997: Elliptic Curves and Cryptography
        • Dr. Dobb's Journal April 1997: Elliptic Curves and Cryptography
        • Dr. Dobb's Journal April 1997: Elliptic Curves and Cryptography
      • 9704m
        • Dr. Dobb's Journal April 1997: Algorithm Alley
        • Dr. Dobb's Journal April 1997: Understanding CRCs
        • Dr. Dobb's Journal April 1997: Understanding CRCs
        • Dr. Dobb's Journal April 1997: Understanding CRCs
      • 9708n
        • Dr. Dobb's Journal August 1997: Algorithm Alley
        • Dr. Dobb's Journal August 1997: Topological Sorting
        • Dr. Dobb's Journal August 1997: Topological Sorting
        • Dr. Dobb's Journal August 1997: Topological Sorting
        • Dr. Dobb's Journal August 1997: Topological Sorting
        • Dr. Dobb's Journal August 1997: Topological Sorting
        • Dr. Dobb's Journal August 1997: Topological Sorting
      • 9710e
        • Dr. Dobb's Journal October 1997: The Block Cipher Square Algorithm
        • Dr. Dobb's Journal October 1997: The Galois Field GF(28)
        • Dr. Dobb's Journal October 1997: The Galois Field GF(28)
        • Dr. Dobb's Journal October 1997: The Galois Field GF(28)
        • Dr. Dobb's Journal October 1997: The Galois Field
      • 9711m
        • Dr. Dobb's Journal November 1997: Algorithm Alley
        • Dr. Dobb's Journal November 1997: Inside IMA ADPCM
        • Dr. Dobb's Journal November 1997: Inside IMA ADPCM
        • Dr. Dobb's Journal November 1997: Inside IMA ADPCM
        • Dr. Dobb's Journal November 1997: Inside IMA ADPCM
      • 9801m
        • Dr. Dobb's Journal January 1998: Algorithm Alley
        • Dr. Dobb's Journal January 1998: Resizable Data Structures
      • 9802n
        • Dr. Dobb's Journal February 1998: The Flashsort1 Algorithm
        • Dr. Dobb's Journal February 1998: The Flashsort1 Algorithm
        • Dr. Dobb's Journal February 1998: The Flashsort1 Algorithm
        • Dr. Dobb's Journal February 1998: The Flashsort1 Algorithm
      • 9803o
        • Dr. Dobb's Journal March 1998: Algorithm Alley
        • Dr. Dobb's Journal March 1998: Exponential Smoothing
        • Dr. Dobb's Journal March 1998: Exponential Smoothing
        • Dr. Dobb's Journal March 1998: Exponential Smoothing
        • Dr. Dobb's Journal March 1998: Exponential Smoothing
        • Dr. Dobb's Journal March 1998: Exponential Smoothing
        • Dr. Dobb's Journal March 1998: Exponential Smoothing
      • 9804n
        • Algorithm Alley
        • Algorithm Alley
        • Algorithm Alley
        • Algorithm Alley
        • Algorithm Alley
        • Algorithm Alley
        • Algorithm Alley
        • Algorithm Alley
        • Algorithm Alley
        • Algorithm Alley
      • 9806m
        • Algorithm Alley
        • Algorithm Alley
        • Algorithm Alley
        • Algorithm Alley
        • Algorithm Alley
        • Algorithm Alley
        • Algorithm Alley
        • A Real Program
        • Algorithm Alley
        • Algorithm Alley
        • Algorithm Alley
      • book2
        • Data Structures Using C: Index
        • INDEX: ! Terms
        • INDEX: A Terms
        • INDEX: B Terms
        • INDEX: C Terms
        • INDEX: D Terms
        • INDEX: E Terms
        • INDEX: F Terms
        • INDEX: G Terms
        • INDEX: H Terms
        • INDEX: I Terms
        • INDEX: J Terms
        • INDEX: K Terms
        • INDEX: L Terms
        • INDEX: M Terms
        • INDEX: N Terms
        • INDEX: O Terms
        • INDEX: P Terms
        • INDEX: Q Terms
        • INDEX: R Terms
        • INDEX: S Terms
        • INDEX: T Terms
        • INDEX: U Terms
        • INDEX: V Terms
        • INDEX: W Terms
        • INDEX: X Terms
        • INDEX: Y Terms
        • INDEX: Z Terms
        • Data Structures Using C: PREFACE
        • Data Structures Using C: CHAPTER 1: PROGRAMMING STRUCTURE
        • Data Structures Using C: 1.1: Structure: Data and Program
        • Data Structures Using C: 1.2: A Look Ahead
        • Data Structures Using C: 1.3: The Need for Structure
        • Data Structures Using C: 1.3.1 Using Structure
        • Data Structures Using C: 1.3.2 A Prime Example
        • Data Structures Using C: 1.4: Basic Constructs
        • Data Structures Using C: 1.5: Top Down Design
        • Data Structures Using C: 1.6: High-Level Languages
        • Data Structures Using C: 1.6.1 Data Types
        • Data Structures Using C: 1.6.2 Data Representation
        • Data Structures Using C: 1.7: Elements of Style
        • Data Structures Using C: 1.7.1 Expressing Purpose
        • Data Structures Using C: 1.7.2 Communication between Functions
        • Data Structures Using C: 1.7.3 Ensuring against Data Errors: Defensive
        • Data Structures Using C: 1.7.4 Changing Programs
        • Data Structures Using C: 1.7.5 Verification and Debugging
        • Data Structures Using C: 1.7.6 In a Nutshell
        • Data Structures Using C: 1.8: Time and Storage Requirements
        • Data Structures Using C: 1.8.1 Analyzing the Prime Example
        • Data Structures Using C: 1.8.2 Limits on Time and Storage
        • Data Structures Using C: 1.9: Case Study: Bowling Scores
        • Data Structures Using C: 1.9.1 Algorithm
        • Data Structures Using C: 1.9.2 Program
        • Data Structures Using C: 1.9.3 Debugging
        • Data Structures Using C: 1.10: Summary
        • Data Structures Using C: Exercises
        • Data Structures Using C: Suggested Assignments
        • Data Structures Using C: CHAPTER 2: RECORDS, ARRAYS, AND POINTERS
        • Data Structures Using C: 2.1: Bricks
        • Data Structures Using C: 2.1.1 Structures or Records in C
        • Data Structures Using C: 2.1.2 Arrays in C
        • Data Structures Using C: 2.1.3 Two-Dimensional Arrays
        • Data Structures Using C: 2.1.4 Representation of Records in Arrays
        • Data Structures Using C: 2.1.5 Variable-Length Records
        • Data Structures Using C: 2.1.6 The Use of Unions in C
        • Data Structures Using C: 2.1.7 Address Calculation without Access
        • Data Structures Using C: 2.2: Mortar
        • Data Structures Using C: 2.2.1 Pointers
        • Data Structures Using C: 2.2.2 Pointer Variables and Dynamic Memory
        • Data Structures Using C: 2.3: Representations of Two-Dimensional Array
        • Data Structures Using C: 2.3.1 Rowwise and Columnwise Representation
        • Data Structures Using C: 2.3.2 Symmetric Array Representation
        • Data Structures Using C: 2.3.3 Pointer Array Representation
        • Data Structures Using C: 2.4: Advantages and Disadvantages of the Tech
        • Data Structures Using C: 2.5: Case Study: Stable Marriages
        • Data Structures Using C: 2.5.1 The ProblemStability of an Entire Pairi
        • Data Structures Using C: 2.5.2 The Algorithm
        • Data Structures Using C: 2.5.3 The Program
        • Data Structures Using C: 2.5.4 Review of the Program's Development
        • Data Structures Using C: 2.5.5 Generating Stable Pairings
        • Data Structures Using C: Exercises
        • Data Structures Using C: Suggested Assignments
        • Data Structures Using C: CHAPTER 3: LISTS
        • Data Structures Using C: 3.1: Why Are Lists Needed?
        • Data Structures Using C: 3.2: Keeping Track of List Pointers
        • Data Structures Using C: 3.2.1 Insertion and Deletion of Records in Li
        • Data Structures Using C: 3.3: Expanding and Contracting Lists
        • Data Structures Using C: 3.3.1 Insertion
        • Data Structures Using C: 3.3.2 Special Cases
        • Data Structures Using C: 3.3.3 Header Records
        • Data Structures Using C: 3.3.4 Deletion
        • Data Structures Using C: 3.4: Traversal of Lists
        • Data Structures Using C: 3.4.1 List Reversal Using a Loop
        • Data Structures Using C: 3.4.2 A General List Traversal Using a Loop
        • Data Structures Using C: 3.4.3 The Merits of Functional Modularization
        • Data Structures Using C: 3.5: Using the Traverse Function for Lists
        • Data Structures Using C: 3.5.1 Why Traverse Was Useful
        • Data Structures Using C: 3.6: Implementing Lists
        • Data Structures Using C: 3.6.1 Lists Stored in Dynamic Memory
        • Data Structures Using C: 3.6.2 Lists Stored in an Array of Records
        • Data Structures Using C: 3.6.3 Lists Stored in Languages without Recor
        • Data Structures Using C: 3.7: Keeping Track of Available Records
        • Data Structures Using C: 3.7.1 Why Dynamic Memory?
        • Data Structures Using C: 3.7.2 Using Dynamic Memory
        • Data Structures Using C: 3.8: Sequential Arrays versus Lists for Recor
        • Data Structures Using C: 3.9: Case Study: Merging and the Perfect Shuf
        • Data Structures Using C: 3.9.1 The Perfect Shuffle
        • Data Structures Using C: 3.9.2 Array Implementation of the Perfect Shu
        • Data Structures Using C: 3.9.3 List Implementation of the Perfect Shuf
        • Data Structures Using C: 3.9.4 Merging Sequences of Entries
        • Data Structures Using C: Exercises
        • Data Structures Using C: Suggested Assignments
        • Data Structures Using C: CHAPTER 4: INTRODUCTION TO RECURSION, STACKS,
        • Data Structures Using C: 4.1: What Is Recursion?
        • Data Structures Using C: 4.2: Using Recursion
        • Data Structures Using C: 4.2.1 The Towers of Hanoi
        • Data Structures Using C: 4.2.2 Verifying and Simulating a Recursive Pr
        • Data Structures Using C: 4.2.3 The Length of a List
        • Data Structures Using C: 4.2.4 Copying a List
        • Data Structures Using C: 4.2.5 Local and Global Variables and Paramete
        • Data Structures Using C: 4.2.6 Counting Squares
        • Data Structures Using C: 4.2.7 Permutations
        • Data Structures Using C: 4.3: A Close Look at the Execution of Recursi
        • Data Structures Using C: 4.4: Implementing Recursive Programs
        • Data Structures Using C: 4.4.1 A Sample Implementation of Towers
        • Data Structures Using C: 4.4.2 A Sample Implementation for Permutation
        • Data Structures Using C: 4.5: Stacks
        • Data Structures Using C: 4.5.1 Array Implementation of a Stack
        • Data Structures Using C: 4.5.2 List Implementation of the Stack with a
        • Data Structures Using C: 4.5.3 List Implementation of the Stack with R
        • Data Structures Using C: 4.6: Evaluation and Translation of Expression
        • Data Structures Using C: 4.6.1 Postfix Expressions
        • Data Structures Using C: 4.6.2 Infix Expressions
        • Data Structures Using C: 4.6.3 Translating Infix to Postfix
        • Data Structures Using C: 4.7: Queues
        • Data Structures Using C: 4.7.1 Array and Circular Array Implementation
        • Data Structures Using C: 4.7.2 List Implementation of the Queue with a
        • Data Structures Using C: 4.7.3 List Implementation of the Queue with R
        • Data Structures Using C: 4.8: Case Study: Checking Sequences for Prope
        • Data Structures Using C: Exercises
        • Data Structures Using C: Suggested Assignments
        • Data Structures Using C: CHAPTER 5: PACKAGING DATA ABSTRACTIONS
        • Data Structures Using C: 5.1: Data Abstraction Revisited
        • Data Structures Using C: 5.2: The Prime Example
        • Data Structures Using C: 5.3: Stable Marriages
        • Data Structures Using C: 5.4 : A List Example
        • Data Structures Using C: 5.5: A Stack Example
        • Data Structures Using C: 5.6: Summary
        • Data Structures Using C: Exercises
        • Data Structures Using C: Suggested Assignments
        • Data Structures Using C: CHAPTER 6: MORE COMPLEX LISTS
        • Data Structures Using C: 6.1: Imposing List Structure on Data
        • Data Structures Using C: 6.1.1 A Definition of List-structures
        • Data Structures Using C: 6.2: Traversal of List-structures
        • Data Structures Using C: 6.2.1 An Iterative Function
        • Data Structures Using C: 6.2.2 A Recursive Function
        • Data Structures Using C: 6.3: Using a Traverse Function for List-struc
        • Data Structures Using C: 6.4: Implementing List-structures
        • Data Structures Using C: 6.4.1 Sharing Storage
        • Data Structures Using C: 6.5: Case Study: Information Retrieval
        • Data Structures Using C: 6.5.1 Family Relationships
        • Data Structures Using C: 6.5.2 A First Solution
        • Data Structures Using C: 6.5.3 A Better Solution
        • Data Structures Using C: 6.5.4 Updating the System
        • Data Structures Using C: 6.5.5 Retrieving Information from the System
        • Data Structures Using C: 6.5.6 Other System Components
        • Data Structures Using C: 6.5.7 Case Study Overview
        • Data Structures Using C: Exercises
        • Data Structures Using C: Suggested Assignment
        • Data Structures Using C: CHAPTER 7: TREES
        • Data Structures Using C: 7.1: Branching Out
        • Data Structures Using C: 7.1.1 Depth versus Capacity*
        • Data Structures Using C: 7.2: Trees of Records
        • Data Structures Using C: 7.2.1 Insertion and Deletion of Records in Bi
        • Data Structures Using C: 7.2.2 Climbing Binary Trees
        • Data Structures Using C: 7.2.3 Three Preorder Traversals of a Binary T
        • Data Structures Using C: 7.3: Using the Traverse Functions for Binary
        • Data Structures Using C: 7.4: Implementing Binary Trees
        • Data Structures Using C: 7.4.1 Sequential Representation
        • Data Structures Using C: 7.4.2 Linked Representation
        • Data Structures Using C: 7.4.3 List-structure Representation
        • Data Structures Using C: 7.5: Trees
        • Data Structures Using C: 7.5.1 Implementing Trees as Binary Trees
        • Data Structures Using C: 7.6: Traversals of Trees
        • Data Structures Using C: 7.6.1 Obtaining the Binary Tree for a Tree
        • Data Structures Using C: 7.6.2 Backtracking: The n-queens Problem
        • Data Structures Using C: 7.6.3 Depth-first
        • Data Structures Using C: 7.6.4 Breadth-first
        • Data Structures Using C: 7.6.5 Branch and Bound
        • Data Structures Using C: 7.7: More on Recursion, Trees, and Stacks
        • Data Structures Using C: 7.7.1 Balanced Binary Trees
        • Data Structures Using C: 7.7.2 Trading Storage for Time
        • Data Structures Using C: Exercises
        • Data Structures Using C: Suggested Assignments
        • Data Structures Using C: CHAPTER 8: INTRODUCTION TO SEARCHING AND SORT
        • Data Structures Using C: 8.1: Overview
        • Data Structures Using C: 8.2: Elementary Searches
        • Data Structures Using C: 8.2.1 Linear Search
        • Data Structures Using C: 8.2.2 Saving Time: A Neat Trick
        • Data Structures Using C: 8.2.3 Binary Search
        • Data Structures Using C: 8.2.4 Timing the Binary Search
        • Data Structures Using C: 8.2.5 Interpolation Search
        • Data Structures Using C: 8.2.6 Efficiency Comparisons
        • Data Structures Using C: 8.3: Elementary Sorts
        • Data Structures Using C: 8.3.1 Maximum Entry Sort
        • Data Structures Using C: 8.3.2 Bubble Sort
        • Data Structures Using C: 8.3.3 Timing the Bubble Sort
        • Data Structures Using C: 8.3.4 Insertion Sort
        • Data Structures Using C: 8.3.5 Timing the Insertion Sort
        • Data Structures Using C: 8.3.6 Attempted Improvements
        • Data Structures Using C: 8.4: Heapsort: A Faster Sort
        • Data Structures Using C: 8.4.1 Heapsorts
        • Data Structures Using C: 8.4.2 Creating a Heap
        • Data Structures Using C: 8.4.3 Timing the Heap Creation
        • Data Structures Using C: 8.4.4 Better Heap Creation
        • Data Structures Using C: 8.4.5 Some Details of Heap Implementation
        • Data Structures Using C: 8.4.6 Reheaping
        • Data Structures Using C: 8.4.7 An Implementation for Heapsort
        • Data Structures Using C: 8.4.8 Heapsort is Uniformly Fast
        • Data Structures Using C: 8.5: Quicksort: Another Fast Sort
        • Data Structures Using C: 8.5.1 Two Quicksort Procedures
        • Data Structures Using C: 8.5.2 The Partition Function
        • Data Structures Using C: 8.5.3 Analyzing Iterative Quicksort
        • Data Structures Using C: 8.5.4 The Worst and Best Cases
        • Data Structures Using C: 8.5.5 Distributive Partitioning
        • Data Structures Using C: 8.6: Simulation of an Algorithm
        • Data Structures Using C: 8.7: Simulation Results for the Sorts
        • Data Structures Using C: 8.8: Synopsis of Search and Sort Efficiencie
        • Data Structures Using C: Exercises
        • Data Structures Using C: Suggested Assignments
        • Data Structures Using C: CHAPTER 9: MORE SEARCHING: INSERTION AND DEL
        • Data Structures Using C: 9.1: Overview
        • Data Structures Using C: 9.2: Priority Queues
        • Data Structures Using C: 9.2.1 Simple Implementations
        • Data Structures Using C: 9.2.2 Using a Heap
        • Data Structures Using C: 9.2.3 Using Leftist Trees
        • Data Structures Using C: 9.3: Hash Tables
        • Data Structures Using C: 9.3.1 Building a Hash Table
        • Data Structures Using C: 9.3.2 Searching a Hash Table
        • Data Structures Using C: 9.3.3 Random Hashing
        • Data Structures Using C: 9.3.4 Other Collision Resolution Policies: Op
        • Data Structures Using C: 9.3.5 Searching in Ordered Hash Tables
        • Data Structures Using C: 9.3.6 Deletion from Hash Tables
        • Data Structures Using C: 9.3.7 Hashing Overview
        • Data Structures Using C: 9.4: Binary Search Trees
        • Data Structures Using C: 9.4.1 Searching the Search Trees
        • Data Structures Using C: 9.4.2 Growing the Search Tree "Simply"
        • Data Structures Using C: 9.4.3 The Shape of Simple Binary Search Trees
        • Data Structures Using C: 9.4.4 Deleting a Record Simply
        • Data Structures Using C: 9.4.5 A Balancing Act
        • Data Structures Using C: 9.4.6 Maintaining Balance
        • Data Structures Using C: 9.4.7 Access By Order in AVL Trees
        • Data Structures Using C: 9.4.8 Binary Search Tree Overview
        • Data Structures Using C: 9.5: A Brief Review
        • Data Structures Using C: Exercises
        • Data Structures Using C: Suggested Assignments
        • Data Structures Using C: CHAPTER 10: FILES
        • Data Structures Using C: 10.1: The File Data Structure
        • Data Structures Using C: 10.2: Internal and External Memory
        • Data Structures Using C: 10.2.1 Operating Systems
        • Data Structures Using C: 10.2.2 Filters
        • Data Structures Using C: 10.3: Organization of Files
        • Data Structures Using C: 10.3.1 Sequential Files
        • Data Structures Using C: 10.4: Sequential Access in External Memory
        • Data Structures Using C: 10.5: Sorting Tape Files
        • Data Structures Using C: 10.5.1 Straight Merge
        • Data Structures Using C: 10.5.2 Natural Merge
        • Data Structures Using C: 10.5.3 Replacement-Selection
        • Data Structures Using C: 10.5.4 Polyphase Sort
        • Data Structures Using C: 10.6: Direct Access in External Memory
        • Data Structures Using C: 10.7: Sequential and Random Access of Disk Fi
        • Data Structures Using C: 10.7.1 Sequential Access
        • Data Structures Using C: 10.7.2 Random Access
        • Data Structures Using C: 10.7.3 Indexed Sequential Access
        • Data Structures Using C: 10.7.4 B-trees for Sequential and Random Acce
        • Data Structures Using C: 10.8: Summary
        • Data Structures Using C: Exercises
        • Data Structures Using C: Suggested Assignment
        • Data Structures Using C: CHAPTER 11: TOPOLOGICAL SORTING: AN ARCHETYP
        • Data Structures Using C: 11.1: Background
        • Data Structures Using C: 11.1.1 Binary Relations and Partial Orders
        • Data Structures Using C: 11.1.2 Graphic Representation of Partial Orde
        • Data Structures Using C: 11.1.3 Topological Sorts: Consistent Rankings
        • Data Structures Using C: 11.2: A Searching Solution
        • Data Structures Using C: 11.3: A Constructed Solution
        • Data Structures Using C: 11.3.1 Correctness
        • Data Structures Using C: 11.3.2 An Initial Implementation
        • Data Structures Using C: 11.3.3 A Better Implementation
        • Data Structures Using C: 11.4: Analysis of Topsort
        • Data Structures Using C: 11.5: Behavior for Replicated Pairs or Loops
        • Data Structures Using C: 11.6: Final Comments on Topsort
        • Data Structures Using C: 11.6.1 An Input Validation
        • Data Structures Using C: 11.7: Reviewing Methodology
        • Data Structures Using C: Exercises
        • Data Structures Using C: Suggested Assignments
        • Data Structures Using C: CHAPTER 12: HUFFMAN CODING AND OPTIMAL AND NE
        • Data Structures Using C: 12.1: Techniques for Compressing Text or Stor
        • Data Structures Using C: 12.2: Weighted Path Length
        • Data Structures Using C: 12.3: Huffman Coding
        • Data Structures Using C: 12.3.1 The Huffman Algorithm
        • Data Structures Using C: 12.3.2 Representation of Huffman Trees
        • Data Structures Using C: 12.3.3 Implementation
        • Data Structures Using C: 12.3.4 A Proof
        • Data Structures Using C: 12.4: Optimal Binary Search Trees
        • Data Structures Using C: 12.4.1 Finding Optimal Binary Search Trees
        • Data Structures Using C: 12.5: Nearly Optimal Binary Search Trees
        • Data Structures Using C: 12.5.1 Greedy Binary Search Trees
        • Data Structures Using C: 12.5.2 Greedy Construction
        • Data Structures Using C: 12.5.3 Implementation
        • Data Structures Using C: 12.5.4 Alphabetic Codes
        • Data Structures Using C: 12.6: Conclusion
        • Data Structures Using C: Exercises
        • Data Structures Using C: Suggested Assignments
        • Data Structures Using C: CHAPTER 13: SOME POINTERS ON STORAGE MANAGEME
        • Data Structures Using C: 13.1: The Need for Storage Management
        • Data Structures Using C: 13.2: The Heap or Dynamic Memory
        • Data Structures Using C: 13.3: The List of Available Space for Variabl
        • Data Structures Using C: 13.3.1 Two-Way Circular Lists
        • Data Structures Using C: 13.3.2 The Buddy System
        • Data Structures Using C: 13.3.3 Indexing Methods
        • Data Structures Using C: 13.4: Shared Storage
        • Data Structures Using C: 13.5: Storage Reclamation Techniques
        • Data Structures Using C: 13.5.1 Garbage Collection
        • Data Structures Using C: 13.5.2 The Reference Counter Method
        • Data Structures Using C: 13.5.3 Overview of Storage Reclamation
        • Data Structures Using C: 13.6: Stackless Traversals
        • Data Structures Using C: 13.6.1 Threaded Trees
        • Data Structures Using C: 13.6.2 Link Inversion
        • Data Structures Using C: 13.6.3 Robson Traversal
        • Data Structures Using C: 13.7: Pitfalls: Garbage Generation and Dangli
        • Data Structures Using C: 13.8: Conclusion
        • Data Structures Using C: Exercises
        • Data Structures Using C: Suggested Assignments
        • Data Structures Using C: BIBLIOGRAPHY
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Comment on this Routine
        • Data Structures Using C: BIBLIOGRAPHY
        • Data Structures Using C: CHAPTER 1: PROGRAMMING STRUCTURE
        • Data Structures Using C: CHAPTER 2: RECORDS, ARRAYS, AND POINTERS
        • Data Structures Using C: CHAPTER 3: LISTS
        • Data Structures Using C: CHAPTER 4: INTRODUCTION TO RECURSION, STACKS,
        • Data Structures Using C: CHAPTER 5: PACKAGING DATA ABSTRACTIONS
        • Data Structures Using C: CHAPTER 6: MORE COMPLEX LISTS
        • Data Structures Using C: CHAPTER 7: TREES
        • Data Structures Using C: CHAPTER 8: INTRODUCTION TO SEARCHING AND SORT
        • Data Structures Using C: CHAPTER 9: MORE SEARCHING: INSERTION AND DEL
        • Data Structures Using C: CHAPTER 10: FILES
        • Data Structures Using C: CHAPTER 11: TOPOLOGICAL SORTING: AN ARCHETYP
        • Data Structures Using C: CHAPTER 12: HUFFMAN CODING AND OPTIMAL AND NE
        • Data Structures Using C: CHAPTER 13: SOME POINTERS ON STORAGE MANAGEME
        • Data Structures Using C: PREFACE
        • Data Structures Using C: Table of Contents
      • book3
        • Structures, Algorithm Analysis: CHAPTER 1: INTRODUCTION
        • Structures, Algorithm Analysis: CHAPTER 10: ALGORITHM DESIGN TECHNIQUE
        • Structures, Algorithm Analysis: CHAPTER 11: AMORTIZED ANALYSIS
        • Structures, Algorithm Analysis: CHAPTER 2: ALGORITHM ANALYSIS
        • Structures, Algorithm Analysis: CHAPTER 3: LISTS, STACKS, AND QUEUES
        • Structures, Algorithm Analysis: CHAPTER 4: TREES
        • Structures, Algorithm Analysis: CHAPTER 5: HASHING
        • Structures, Algorithm Analysis: CHAPTER 6: PRIORITY QUEUES (HEAPS)
        • Structures, Algorithm Analysis: CHAPTER 7: SORTING
        • Structures, Algorithm Analysis: CHAPTER 8: THE DISJOINT SET ADT
        • Structures, Algorithm Analysis: CHAPTER 9: GRAPH ALGORITHMS
        • Structures, Algorithm Analysis: PREFACE
        • Structures, Algorithm Analysis: Table of Contents
      • book4
        • Data Structures: CHAPTER 1: ALGORITHMS AND TIMING ANALYSIS
        • Data Structures: CHAPTER 10: GRAPH ALGORITHMS
        • Data Structures: CHAPTER 2: THE ARRAY STRUCTURE
        • Data Structures: CHAPTER 3: LIST PROCESSING
        • Data Structures: CHAPTER 4: STACKS
        • Data Structures: CHAPTER 5: QUEUES
        • Data Structures: CHAPTER 6: GENERAL LISTS: MULTIPLE ACCESS PATHS
        • Data Structures: CHAPTER 7: RECURSION
        • Data Structures: CHAPTER 8: BINARY TREES
        • Data Structures: CHAPTER 9: MULTIPLE ACCESS PATHS TO DATA
        • Data Structures: PREFACE
        • Data Structures: REFERENCES
        • Data Structures: SECTION A: RANDOM PROCESSES
        • Data Structures: SECTION B: HASH TABLES
        • Data Structures: SECTION C: CIRCULAR LIST OPERATIONS
        • Data Structures: SECTION D: INTEGER ARITHMETIC OF UNBOUNDED PRECISION
        • Data Structures: SECTION E: THE STACK MACHINE
        • Data Structures: SECTION F: STACKS IN THE LANGUAGE FORTH
        • Data Structures: SECTION G: THE P-MACHINE
        • Data Structures: SECTION H: FOLLOWING A MAZE
        • Data Structures: SECTION I: THE QUEUE MACHINE
        • Data Structures: SECTION J: QUEUES IN HARDWARE
        • Data Structures: SECTION K: A SIMULATION OF AN AIRPORT CUSTOMS STATION
        • Data Structures: SECTION L: CHAINING IN SCATTER STORAGE
        • Data Structures: SECTION M: WALKING A GENERAL LIST
        • Data Structures: SECTION N: THE MAIN DIAGONAL CIRCULATION SPARSE MATRI
        • Data Structures: SECTION O: A QUICKSORT PROGRAM
        • Data Structures: SECTION P: A BALANCED STATIC BST
        • Data Structures: SECTION Q: HUFFMAN CODE TREES
        • Data Structures: SECTION R: AVL TREES
        • Data Structures: SECTION S: FILE MERGING AND MERGESORT
        • Data Structures: SECTION T: PRIORITY QUEUE EXTENSION OF MERGE RUNS
        • Data Structures: SECTION U: RED-BLACK TREES
        • Data Structures: SECTION V: THE EIGHT COINS PROBLEM
        • Data Structures: SECTION W: NODE EVALUATION AND PRUNING OF GAME TREES
        • Data Structures: Table of Contents
      • book5
        • Information Retrieval: CHAPTER 1: INTRODUCTION TO INFORMATION STORAGE
        • Information Retrieval: CHAPTER 2: INTRODUCTION TO DATA STRUCTURES AND
        • Information Retrieval: CHAPTER 3: INVERTED FILES
        • Information Retrieval: CHAPTER 4: SIGNATURE FILES
        • Information Retrieval: CHAPTER 5: NEW INDICES FOR TEXT: PAT TREES AND
        • Information Retrieval: CHAPTER 6: FILE ORGANIZATIONS FOR OPTICAL DISKS
        • Information Retrieval: CHAPTER 7: LEXICAL ANALYSIS AND STOPLISTS
        • Information Retrieval: CHAPTER 8: STEMMING ALGORITHMS
        • Information Retrieval: CHAPTER 9: THESAURUS CONSTRUCTION
        • Information Retrieval: CHAPTER 10: STRING SEARCHING ALGORITHMS
        • Information Retrieval: CHAPTER 11: RELEVANCE FEEDBACK AND OTHER QUERY
        • Information Retrieval: CHAPTER 12: BOOLEAN OPERATIONS
        • Information Retrieval: CHAPTER 13: HASHING ALGORITHMS
        • Information Retrieval: CHAPTER 14: RANKING ALGORITHMS
        • Information Retrieval: CHAPTER 15: EXTENDED BOOLEAN MODELS
        • Information Retrieval: CHAPTER 16: CLUSTERING ALGORITHMS
        • Information Retrieval: CHAPTER 17: SPECIAL-PURPOSE HARDWARE FOR INFORM
        • Information Retrieval: CHAPTER 18: PARALLEL INFORMATION RETRIEVAL ALGO
        • Information Retrieval: FOREWORD
        • Information Retrieval: PREFACE
        • Information Retrieval: Table of Contents
      • book6
        • Intro to Algorithms: BIBLIOGRAPHY
        • Intro to Algorithms: CHAPTER 1: INTRODUCTION
        • Intro to Algorithms: CHAPTER 2: GROWTH OF FUNCTIONS
        • Intro to Algorithms: CHAPTER 3: SUMMATIONS
        • Intro to Algorithms: CHAPTER 4: RECURRENCES
        • Intro to Algorithms: CHAPTER 5: SETS, ETC.
        • Intro to Algorithms: CHAPTER 6: COUNTING AND PROBABILITY
        • Intro to Algorithms: CHAPTER 7: HEAPSORT
        • Intro to Algorithms: CHAPTER 8: QUICKSORT
        • Intro to Algorithms: CHAPTER 9: SORTING IN LINEAR TIME
        • Intro to Algorithms: CHAPTER 10: MEDIANS AND ORDER STATISTICS
        • Intro to Algorithms: CHAPTER 11: ELEMENTARY DATA STRUCTURES
        • Intro to Algorithms: CHAPTER 12: HASH TABLES
        • Intro to Algorithms: CHAPTER 13: BINARY SEARCH TREES
        • Intro to Algorithms: CHAPTER 14: RED-BLACK TREES
        • Intro to Algorithms: CHAPTER 15: AUGMENTING DATA STRUCTURES
        • Intro to Algorithms: CHAPTER 16: DYNAMIC PROGRAMMING
        • Intro to Algorithms: CHAPTER 17: GREEDY ALGORITHMS
        • Intro to Algorithms: CHAPTER 18: AMORTIZED ANALYSIS
        • Intro to Algorithms: CHAPTER 19: B-TREES
        • Intro to Algorithms: CHAPTER 20: BINOMIAL HEAPS
        • Intro to Algorithms: CHAPTER 21: FIBONACCI HEAPS
        • Intro to Algorithms: CHAPTER 22: DATA STRUCTURES FOR DISJOINT SETS
        • Intro to Algorithms: CHAPTER 23: ELEMENTARY GRAPH ALGORITHMS
        • Intro to Algorithms: CHAPTER 24: MINIMUM SPANNING TREES
        • Intro to Algorithms: CHAPTER 25: SINGLE-SOURCE SHORTEST PATHS
        • Intro to Algorithms: CHAPTER 26: ALL-PAIRS SHORTEST PATHS
        • Intro to Algorithms: CHAPTER 27: MAXIMUM FLOW
        • Intro to Algorithms: CHAPTER 28: SORTING NETWORKS
        • Intro to Algorithms: CHAPTER 29: ARITHMETIC CIRCUITS
        • Intro to Algorithms: CHAPTER 30: ALGORITHMS FOR PARALLEL COMPUTERS
        • Intro to Algorithms: CHAPTER 31: MATRIX OPERATIONS
        • Intro to Algorithms: CHAPTER 32: POLYNOMIALS AND THE FFT
        • Intro to Algorithms: CHAPTER 33: NUMBER-THEORETIC ALGORITHMS
        • Intro to Algorithms: CHAPTER 34: STRING MATCHING
        • Intro to Algorithms: CHAPTER 35: COMPUTATIONAL GEOMETRY
        • Intro to Algorithms: CHAPTER 36: NPCOMPLETENESS
        • Intro to Algorithms: CHAPTER 37: APPROXIMATION ALGORITHMS
        • Intro to Algorithms: PART I: Mathematical Foundations
        • Intro to Algorithms: PART II: Sorting and Order Statistics
        • Intro to Algorithms: PART III: Data Structures
        • Intro to Algorithms: PART IV: Advanced Design and Analysis Techniques
        • Intro to Algorithms: PART V: Advanced Data Structures
        • Intro to Algorithms: PART VI: Graph Algorithms
        • Intro to Algorithms: PART VII: Selected Topics
        • Intro to Algorithms: PREFACE
        • Intro to Algorithms: Table of Contents
      • book7
        • Practical Data Structures: CHAPTER 1: BASIC CONCEPTS
        • Practical Data Structures: BINARY TREES
        • Practical Data Structures: BALANCED TREES
        • Practical Data Structures: SPLAY TREES
        • Practical Data Structures: FILE-BASED OBJECTS
        • Practical Data Structures: B-TREES
        • Practical Data Structures: USING C++ EFFECTIVELY
        • Practical Data Structures: CHAPTER 3: DATA STRUCTURE DESIGN IN C++
        • Practical Data Structures: CHAPTER 4: BASIC ARRAY DESIGN
        • Practical Data Structures: CHAPTER 5: HETEROGENOUS ARRAYS
        • Practical Data Structures: STRINGS
        • Practical Data Structures: VECTORS AND MATRICES
        • Practical Data Structures: LINKED LISTS
        • Practical Data Structures: STACKS AND QUEUES
        • Practical Data Structures: PREFACE
        • Practical Data Structures: REFERENCES
        • Practical Data Structures: Table of Contents
      • book8
        • Reliable Data Structures: [1-1] List of Reliability Rules
        • Reliable Data Structures: BIBLIOGRAPHY
        • Reliable Data Structures: CHAPTER 1: PREPROCESSING
        • Reliable Data Structures: CHAPTER 2: SCALARS
        • Reliable Data Structures: CHAPTER 3: ARRAYS
        • Reliable Data Structures: CHAPTER 4: POINTERS
        • Reliable Data Structures: CHAPTER 5: STANDARD FILE AND TERMINAL I/O
        • Reliable Data Structures: CHAPTER 6: STRUCTURES
        • Reliable Data Structures: CHAPTER 7: DYNAMIC DATA STRUCTURES
        • Reliable Data Structures: CHAPTER 8: FILES
        • Reliable Data Structures: INTRODUCTION
        • Reliable Data Structures: PREFACE
        • Reliable Data Structures: Table of Contents
      • book9
        • Data Structures and Algorithms: CHAPTER 1: Design and Analysis of Algorithms
        • Data Structures and Algorithms: CHAPTER 2: Basic Abstract DataTypes
        • Data Structures and Algorithms: CHAPTER 3: Trees
        • Data Structures and Algorithms: CHAPTER 4: Basic Operations on Sets
        • Data Structures and Algorithms: CHAPTER 5: Advanced Set Representation Methods
        • Data Structures and Algorithms: CHAPTER 6: Directed Graphs
        • Data Structures and Algorithms: CHAPTER 7: Undirected Graphs
        • Data Structures and Algorithms: CHAPTER 8: Sorting
        • Data Structures and Algorithms: CHAPTER 9: Algorithm Analysis Techniques
        • Data Structures and Algorithms: CHAPTER 10: Algorithm Design Techniques
        • Data Structures and Algorithms: CHAPTER 11: Data Structures and Algorithms for External Storage
        • Data Structures and Algorithms: CHAPTER 12: Memory Management
        • Data Structures and Algorithms: Bibliography
        • Preface
        • Data Structures and Algorithms: Table of Contents
      • jobjects
        • JObjects QuestAgent - Large size applet
      • forms
        • bottom
        • Dr. Dobb's Journal CD-ROM Catalog
        • Untitled Document
        • left
        • main
        • tools
      • Dr. Dobb's Algorithms Collection