Data Structures - II

Features Includes:

  • 70 - 3D/2D Animation
  • 450 Pages of Content
  • 60 Lecture Hours
  • 10 Solved Problems
  • 45 Quiz
  • Suitable for All Technical University Syllabus

Course Description

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.

OBJECTIVES:

  • Define stack. List the five applications of stacks
  • Understand various Sorting techniques. Understand different Searching Techniques
  • Understand various Hashing techniques
  • Define balanced tree and how to determine if a binary tree is height-balanced?
  • A graph is an abstract data type that is meant to implement the undirected graph and directed graph concepts from the field of graph theory within mathematics.
UNIT I - QUEUES

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.

UNIT II - SEARCHING AND SORTING

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.

UNIT III - HASHING TECHNIQUES

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.

UNIT IV - GRAPHS

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.