Summary of Volume 1

  1. Preface
  2. Acknowledgments
  3. Chapter 1. Introduction
    1. 1.1. History of algorithms
    2. 1.2. Definition, structure and properties of algorithms
      1. 1.2.1. Definition
      2. 1.2.2. Structure and properties
    3. 1.3. Development of an algorithm
    4. 1.4. Data structures and algorithms
    5. 1.5. Data structures – definition and classification
      1. 1.5.1. Abstract data types
      2. 1.5.2. Classification
    6. 1.6. Algorithm design techniques
    7. 1.7. Organization of the book
  4. Chapter 2. Analysis of Algorithms
    1. 2.1. Efficiency of algorithms
    2. 2.2. Apriori analysis
    3. 2.3. Asymptotic notations
    4. 2.4. Time complexity of an algorithm using the O notation
    5. 2.5. Polynomial time versus exponential time algorithms
    6. 2.6. Average, best and worst case complexities
    7. 2.7. Analyzing recursive programs
      1. 2.7.1. Recursive procedures
      2. 2.7.2. Apriori analysis of recursive functions
    8. 2.8. Illustrative problems
  5. Chapter 3. Arrays
    1. 3.1. Introduction
    2. 3.2. Array operations
    3. 3.3. Number of elements in an array
      1. 3.3.1. One-dimensional array
      2. 3.3.2. Two-dimensional array
      3. 3.3.3. Multidimensional array
    4. 3.4. Representation of arrays in memory
      1. 3.4.1. One-dimensional array
      2. 3.4.2. Two-dimensional arrays
      3. 3.4.3. Three-dimensional arrays
      4. 3.4.4. N-dimensional array
    5. 3.5. Applications
      1. 3.5.1. Sparse matrix
      2. 3.5.2. Ordered lists
      3. 3.5.3. Strings
      4. 3.5.4. Bit array
    6. 3.6. Illustrative problems
  6. Chapter 4. Stacks
    1. 4.1. Introduction
    2. 4.2. Stack operations
      1. 4.2.1. Stack implementation
      2. 4.2.2. Implementation of push and pop operations
    3. 4.3. Applications
      1. 4.3.1. Recursive programming
      2. 4.3.2. Evaluation of expressions
    4. 4.4. Illustrative problems
  7. Chapter 5. Queues
    1. 5.1. Introduction
    2. 5.2. Operations on queues
      1. 5.2.1. Queue implementation
      2. 5.2.2. Implementation of insert and delete operations on a queue
      3. 5.2.3. Limitations of linear queues
    3. 5.3. Circular queues
      1. 5.3.1. Operations on a circular queue
      2. 5.3.2. Implementation of insertion and deletion operations in circular queue
    4. 5.4. Other types of queues
      1. 5.4.1. Priority queues
      2. 5.4.2. Deques
    5. 5.5. Applications
      1. 5.5.1. Application of a linear queue
      2. 5.5.2. Application of priority queues
    6. 5.6. Illustrative problems
  8. Chapter 6. Linked Lists
    1. 6.1. Introduction
      1. 6.1.1. Drawbacks of sequential data structures
      2. 6.1.2. Merits of linked data structures
      3. 6.1.3. Linked lists – structure and implementation
    2. 6.2. Singly linked lists
      1. 6.2.1. Representation of a singly linked list
      2. 6.2.2. Insertion and deletion in a singly linked list
    3. 6.3. Circularly linked lists
      1. 6.3.1. Representation
      2. 6.3.2. Advantages of circularly linked lists over singly linked lists
      3. 6.3.3. Disadvantages of circularly linked lists
      4. 6.3.4. Primitive operations on circularly linked lists
      5. 6.3.5. Other operations on circularly linked lists
    4. 6.4. Doubly linked lists
      1. 6.4.1. Representation of a doubly linked list
      2. 6.4.2. Advantages and disadvantages of a doubly linked list
      3. 6.4.3. Operations on doubly linked lists
    5. 6.5. Multiply linked lists
    6. 6.6. Unrolled linked lists
      1. 6.6.1. Retrieval of an element
      2. 6.6.2. Insert an element
      3. 6.6.3. Delete an element
    7. 6.7. Self-organizing lists
    8. 6.8. Applications
      1. 6.8.1. Addition of polynomials
      2. 6.8.2. Sparse matrix representation
    9. 6.9. Illustrative problems
  9. Chapter 7. Linked Stacks and Linked Queues
    1. 7.1. Introduction
      1. 7.1.1. Linked stack
      2. 7.1.2. Linked queues
    2. 7.2. Operations on linked stacks and linked queues
      1. 7.2.1. Linked stack operations
      2. 7.2.2. Linked queue operations
      3. 7.2.3. Algorithms for Push/Pop operations on a linked stack
      4. 7.2.4. Algorithms for insert and delete operations in a linked queue
    3. 7.3. Dynamic memory management and linked stacks
    4. 7.4. Implementation of linked representations
    5. 7.5. Applications
      1. 7.5.1. Balancing symbols
      2. 7.5.2. Polynomial representation
    6. 7.6. Illustrative problems
  10. References
  11. Index
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset