A Textbook of Data Structures and Algorithms, Volume 3

Book description

Data structures and algorithms is a fundamental course in Computer Science, which enables learners across any discipline to develop the much-needed foundation of efficient programming, leading to better problem solving in their respective disciplines.

A Textbook of Data Structures and Algorithms is a textbook that can be used as course material in classrooms, or as self-learning material. The book targets novice learners aspiring to acquire advanced knowledge of the topic. Therefore, the content of the book has been pragmatically structured across three volumes and kept comprehensive enough to help them in their progression from novice to expert.

With this in mind, the book details concepts, techniques and applications pertaining to data structures and algorithms, independent of any programming language. It includes 181 illustrative problems and 276 review questions to reinforce a theoretical understanding and presents a suggestive list of 108 programming assignments to aid in the implementation of the methods covered.

Table of contents

  1. Cover
  2. Series Page
  3. Title Page
  4. Copyright Page
  5. Preface
    1. About this edition
    2. Organization of the book
    3. Salient features of the book
    4. Target audience
  6. Acknowledgments
  7. 13 Hash Tables
    1. 13.1. Introduction
    2. 13.2. Hash table structure
    3. 13.3. Hash functions
    4. 13.4. Linear open addressing
    5. 13.5. Chaining
    6. 13.6. Applications
    7. 13.7. Illustrative problems
  8. 14 File Organizations
    1. 14.1. Introduction
    2. 14.2. Files
    3. 14.3. Keys
    4. 14.4. Basic file operations
    5. 14.5. Heap or pile organization
    6. 14.6. Sequential file organization
    7. 14.7. Indexed sequential file organization
    8. 14.8. Direct file organization
    9. 14.9. Illustrative problems
  9. 15 k-d Trees and Treaps
    1. 15.1. Introduction
    2. 15.2.k-d trees: structure and operations
    3. 15.3. Treaps: structure and operations
    4. 15.4. Illustrative problems
  10. 16 Searching
    1. 16.1. Introduction
    2. 16.2. Linear search
    3. 16.3. Transpose sequential search
    4. 16.4. Interpolation search
    5. 16.5. Binary search
    6. 16.6. Fibonacci search
    7. 16.7. Skip list search
    8. 16.8. Other search techniques
    9. 16.9. Illustrative problems
  11. 17 Internal Sorting
    1. 17.1. Introduction
    2. 17.2. Bubble sort
    3. 17.3. Insertion sort
    4. 17.4. Selection sort
    5. 17.5. Merge sort
    6. 17.6. Shell sort
    7. 17.7. Quick sort
    8. 17.8. Heap sort
    9. 17.9. Radix sort
    10. 17.10. Counting sort
    11. 17.11. Bucket sort
    12. 17.12. Illustrative problems
  12. 18 External Sorting
    1. 18.1. Introduction
    2. 18.2. External storage devices
    3. 18.3. Sorting with tapes: balanced merge
    4. 18.4. Sorting with disks: balanced merge
    5. 18.5. Polyphase merge sort
    6. 18.6. Cascade merge sort
    7. 18.7. Illustrative problems
  13. 19 Divide and Conquer
    1. 19.1. Introduction
    2. 19.2. Principle and abstraction
    3. 19.3. Finding maximum and minimum
    4. 19.4. Merge sort
    5. 19.5. Matrix multiplication
    6. 19.6. Illustrative problems
  14. 20 Greedy Method
    1. 20.1. Introduction
    2. 20.2. Abstraction
    3. 20.3. Knapsack problem
    4. 20.4. Minimum cost spanning tree algorithms
    5. 20.5. Dijkstra’s algorithm
    6. 20.6. Illustrative problems
  15. 21 Dynamic Programming
    1. 21.1. Introduction
    2. 21.2. 0/1 knapsack problem
    3. 21.3. Traveling salesperson problem
    4. 21.4. All-pairs shortest path problem
    5. 21.5. Optimal binary search trees
    6. 21.6. Illustrative problems
  16. 22 P and NP Class of Problems
    1. 22.1. Introduction
    2. 22.2. Deterministic and nondeterministic algorithms
    3. 22.3. Satisfiability problem
    4. 22.4. NP-complete and NP-hard problems
    5. 22.5. Examples of NP-hard and NP-complete problems
    6. 22.6. Cook’s theorem
    7. 22.7. The unsolved problem
    8. 22.8. Illustrative problems
  17. References
  18. Index
  19. Summary of Volume 1
  20. Summary of Volume 2
  21. Other titles frominComputer Engineering
  22. End User License Agreement

Product information

  • Title: A Textbook of Data Structures and Algorithms, Volume 3
  • Author(s): G. A. Vijayalakshmi Pai
  • Release date: January 2023
  • Publisher(s): Wiley-ISTE
  • ISBN: 9781786308924