Data Structures with Python: Get familiar with the common Data Structures and Algorithms in Python 9789355513311

Develop a strong foundation in Data Structures and Algorithms and become a skilled programmer Description Data structur

593 97 8MB

English Pages 404 Year 2023

Report DMCA / Copyright

DOWNLOAD EPUB FILE

Table of contents :
1. Introduction to Data Structures
Structure
Objectives
Introduction
Data types
Types of data structures
Game of clones
The game of clones revisited
Conclusion
Multiple choice questions
Theory-based questions
Application-based questions
2. Design Methodologies
Structure
Objectives
Greedy approach
Divide and conquer
Backtracking and dynamic programming
Longest common sub-sequence
Conclusion
Multiple choice questions
Programming/application
Further references
3. Recursion
Structure
Objectives
Exponentiation
Tower of Hanoi
Rabbit problem
Generating binary numbers
Lists
Numbers
Conclusion
Multiple choice questions
Programming
Further references
4. Arrays
Structure
Objectives
Introduction
Memory map
Address in column-major
Inserting and deleting
Operations on arrays
Linear search
Problems
Conclusion
Multiple choice questions
Programming
5. Linked List
Structure
Objectives
One-way linked list
Traversing
Insertion and deletion
Two-way
Traversing
Insertion and deletion
Cyclic list
Stacks and Queues
Reversing a linked list
Concatenate lists
Check cycle
Conclusion
Multiple choice questions
Theory
Problems
6. Stacks
Structure
Objectives
Introduction
Implementing two stacks using a single list
Types and uses
Reversing a string
Expressions
Evaluation of postfix
Infix to postfix
Infix to prefix
Problems
Conclusion
Multiple Choice Questions
Problems
7. Queues
Structure
Objectives
Introduction
Algorithm and implementation
Circular queue
Doubly-ended queue: DEQueue
Generating binary numbers using a queue
Stack using two queues
Stack from a single queue
Scheduling
Conclusion
Multiple Choice Questions
Problems
8. Trees-I
Introduction
Structure
Objectives
Definition and terminology
Representation of a Binary Tree
Traversal
Post-order traversal
Pre-order traversal
Binary search tree
Insertion in a BST
Deletion
Leftmost node
Rightmost node
Conclusion
Multiple choice questions
Numerical/problems
9. Trees-II
Structure
Objectives
AVL trees
Insertion
Insertion in an AVL tree
Deletion from an AVL Tree
B Trees
Conclusion
Multiple choice questions
Theory
Numericals
10. Priority Queues
Structure
Objectives
Introduction to priority queues
Structure of heap
Operations
Inserting an element in a heap
Deletion
Heap sort
Problems
Conclusion
Multiple choice questions
Programming
Further references
11. Graphs
Introduction
Structure
Objectives
Representation
Traversals
Depth First Search
Breadth First Search
Topological sort
Spanning tree
Kruskal’s algorithm
Conclusion
Multiple choice questions
Numerical/application based
Programming
12. Sorting
Structure
Objectives
Bubble sort
Comb sort
Selection sort
Insertion sort
Radix sort
Counting sort
Merge and merge sort
Partition and quick sort
Conclusion
Illustrations
Multiple choice questions
Theory
13. Median and Order Statistics
Introduction
Structure
Objectives
Introduction to median and order statistics
Median of medians
Median using heaps
Median using insertion sort
Median using partition
Conclusion
Solved problems
Multiple choice questions
Applications/implementation
Bibliography
14. Hashing
Structure
Objectives
Hash tables
Storing information
Sorted sequential array
Linked list representation
AVL trees
Hashing
Hash function
Collision resolution
Selecting hash function
Collisions
Collision resolution
Linear probing
Quadratic probing
Separate chaining
Solved problems
Conclusion
Multiple choice questions
Theory
Problems
Programming
15. String Matching
Structure
Objectives
Introduction to string-matching
Brute force method
Rabin Karp
Knuth–Morris–Pratt algorithm
KMP method
Conclusion
Multiple choice questions
Theory/applications
Find errors/special cases
References
Appendix 1: All Pairs Shortest Path
Introduction
All Pairs Shortest Path
Appendix 2: Tree Traversals
Introduction
In-Order Traversal
Pre-order traversal
Post-order traversal
Appendix 3: Dijkstra’s Shortest Path Algorithm
Introduction
Dijkstra’s shortest path algorithm
Appendix 4: Supplementary Questions
Arrays: Level 0
Arrays: Level 1
Stacks
Linked List
Trees
Graphs
Application based
Solved problems
Multiple choice questions
Applications/implementation
Bibliography
14. Hashing
Structure
Objectives
Hash tables
Storing information
Sorted sequential array
Linked list representation
AVL trees
Hashing
Hash function
Collision resolution
Selecting hash function
Collisions
Collision resolution
Linear probing
Quadratic probing
Separate chaining
Solved problems
Conclusion
Multiple choice questions
Theory
Problems
Programming
15. String Matching
Structure
Objectives
Introduction to string-matching
Brute force method
Rabin Karp
Knuth–Morris–Pratt algorithm
KMP method
Conclusion
Multiple choice questions
Theory/applications
Find errors/special cases
References
Appendix 1: All Pairs Shortest Path
Introduction
All Pairs Shortest Path
Appendix 2: Tree Traversals
Introduction
In-Order Traversal
Pre-order traversal
Post-order traversal
Appendix 3: Dijkstra’s Shortest Path Algorithm
Introduction
Dijkstra’s shortest path algorithm
Appendix 4: Supplementary Questions
Arrays: Level 0
Arrays: Level 1
Stacks
Linked List
Trees
Graphs
Application based

Data Structures with Python: Get familiar with the common Data Structures and Algorithms in Python
 9789355513311

  • 0 0 0
  • Like this paper and download? You can publish your own PDF file online for free in a few minutes! Sign Up
Recommend Papers