Data structure refers to methods of organizing units of data within larger data sets. Achieving and maintaining specific data structures help improve data access and value. Some example of Abstract Data Structure are: Linked List, Tree, Graph, Stack, Queue etc.
Circular Queue - Circular queue - Implementation of circular queue - Creating and Initializing circular queue - Empty circular queue - Full circular Queue - Program for circular queue. Linked list implementation of queue - Need for linked list implementation - Linked list representation of queue - Program for linked list implementation - Application of linked list implementation. Priority Queue - Priority queue - Priority queue using single two dimensional array - Using many arrays in priority levels - Definition of Heaps. Double ended queues - Double ended queue – Algorithms - Multiple stacks and queues - Multiple stacks - Multiple queue.
Searching: Linear search - Binary search - Introduction to searching - Linear search - Example - linear search - Algorithm for linear search(unsorted array) - General requirements for linear search - Introduction to binary search - Binary search algorithm - Binary search – example - Performance of binary search - General requirements for binary search. Introduction to sorting - Introduction to sorting. O Notation - O notation. Efficiency of sorting - Efficiency of sorting. Bubble sort - Bubble sort - Complexity of bubble sort - Program for bubble sort - Example of bubble sort. Quick sort - Quick sort - Techniques in quick sort - Program for quick sort. Selection sort - Selection sort - Program for selection sort. Heap sort - Heap sort - Program for heap sort - Example for heap sort. Insertion sort - Insertion sort - Program for insertion sort - Complexity analysis of insertion sort. Shell sort - Shell sort - Program for shell sort. Merge sort - Merge sort - Program for merge sort - Example of merge sort. Radix sort - Radix sort - Program for radix sort. Comparison of sorting methods - Comparison of sorting methods.
Introduction to Hashing - Introduction to hashing. Hash Function - Hash Function - Hash function – examples. Hash function Methods - Hash function methods. Separate chaining - Collision resolution - Separate chaining. Open addressing - Open addressing - Linear probing - Quadratic probing - Double hashing. Rehashing – Rehashing. Extendible hashing - Extendible hashing.
Introduction to graphs - Introduction to graphs. Directed and undirected graphs - Directed and undirected graphs. Representation of graphs - Representation of graphs - Adjacency matrix - Adjacency list. Graph traversals - Graph traversals - Depth First Search(DFS) - Breadth First Search(BFS). Transitive closure - Transitive closure. Spanning tree – Spanning tree - Prim’s algorithm - Kruskal’s algorithm. Applications of graphs - Applications of graphs. Topological sorting - Topological sorting. Shortest-path algorithms – Definitions - Unweighted shortest path - Shortest path special cases - Shortest path Dijkstra’s algorithm - Transitive closure - Floyd-Warshall's algorithm. Bellman-Ford algorithm – Bellman-Ford algorithm. Pattern matching algorithm - Introduction to string algorithms - String – matching - Brute force string matching algorithm - Pattern matching algorithm. Knuth - morris - pratt algorithm (KMP algorithm) - Knuth - morris - pratt algorithm (KMP algorithm) - A brief sketch of the boyer - moore algorithm - A brief sketch of bird's algorithm for two - dimensional matching – Tries - Standard tries – Insertion – Deletion - Compressed tries - Suffix tries - Applications of tries.