DATA STRUCTURES
AND ALGORITHMS
UNIT I
• Data structures
• Types
• Algorithm
• Definition
• Properties
• Arrays
• One dimensional array
• multidimensional array
• Searching Algorithms
• Linear search
• Binary Search
• Fibonacci search
• Sorting Algorithms
• Selection Sort
• Bubble Sort
• Quick Sort
• Insertion sort
• Heap Sort
• Merge Sort
DATA STRUCTURES
• Structural representation of logical relationships between elements
• organizing data items by considering its relationship to each other
ALGORITHMS
step by step procedure
sequence of clear instructions
PROPERTIES
• takes zero or more inputs
• produces zero or more outputs
• Efficient
• less memory space
• finite time
• easily understandable by non-programmer
ARRAYS ->finite ordered and collection of homogenous data elements
SEARCHING ALGORITHMS
FIBONACCI SEARCH
• Comparison based technique
• Works for sorted array
• Divide and Conquer method
SORTING
UNIT II
• Stacks
• Queues
• Linked List:
• Singly Linked List
• Doubly Linked List
• Circular Linked List
•Dynamic storage management
LINKED LIST
• Linear Data structure
• Nodes
• Nodes -> Data & Pointer
• Pointer -> next
DYNAMIC STORAGE MANAGEMENT
UNIT III
• TREE
• Binary tree
• Binary search tree
• AVL tree
• B Trees
• B + Tree
AVL TREE
An AVL tree is a binary search tree except that for every node in the tree, the height of
the left and right subtrees can differ by atmost 1
UNIT IV
• GRAPH
• Spanning tree
• Shortest path and Transitive closure
• Topological sort
GRAPH
• Graph is a non-linear data structure that consists of vertices
(nodes) and edges.
SPANNING TREE
• subgraph of an undirected connected graph
• all the vertices in the subgraph
• least number of edges that can connect every vertex
• without forming a loop or cycle.
TOPOLOGICAL SORT
• Linear ordering of vertices in a directed acyclic graph
• Topological sort is not possible. if the graph has a cycle
UNIT V
• HASH TABLE
• Rectangular tables
• Jagged tables
• Inverted tables
• Symbol tables
•Files
• Sequential organization
•Indexed organization