DATA STRUCTURE & ALGORITHM
| L 3 | T 0 | P 4 | | Curri. Ref. No.: CSE406 |
| Total Contact hrs : 105 Theory: 45 Tutorial: 0 Practical: 60 Pre requisite: G205B, CSE402 Credit: 5 | Total marks: 150 | Theory: 100 End Term Exam: 70 P.A.: 30 Practical: 50 End Term Exam: 25 P.A. : 25 | ||
Theory
Total Periods : 45
Periods : 3 P/W
| UNIT | TOPIC/SUB-TOPIC | TOTAL HRS. |
1. Introduction and Overview 2
1.1 Introduction
1.2 Basic Terminology
1.3 Elementary Data Organization
1.4 Data Structures
1.5 Data Structure Operation
1.6 Algorithms; Complexity; Time- space Tradeoff
2. Preliminaries 3
2.1 Introduction
2.2 Mathematical notation and Functions
2.3 Algorithmic Notation
2.4 Control Structures
2.5 Complexity of Algorithms
2.6 Sub algorithms
2.7 Variables
2.8 Data Types
3. String Processing 5
1.1 Introduction
1.2 Basic Terminology
1.3 Storing Strings
1.4 Character Data Type
1.5 String Operation
1.6 Work Processing
1.7 Pattern matching Algorithms
4. Arrays, Records and Pointers 8
1.1 Introduction
1.2 Linear Arrays
1.3 Representation of Linear Arrays in Memory
1.4 Traversing Linear Arrays
1.5 Inserting and Deleting
1.6 Sorting; Bubble Sort
1.7 Search; Linear Search
1.8 Binary Search
1.9 Multidimensional Arrays
1.10 Pointers; Pointer Arrays
1.11 Records; Record Structures
1.12 Representation of Records in Memory; parallel Arrays
1.13 Matrices
1.14 Spares Matrices
5. Linked Lists 5
5.1 Introduction
5.2 Linked Lists
5.3 Representation of Linked Lists in Memory
5.4 Traversing a Linked List
5.5 Searching a Linked List
5.6 Memory Allocation Garbage Collection
5.7 Insertion into a linked list
5.8 Deletion from a Linked List
5.9 Header Linked Lists
5.10 Two –Ways Lists
6. Stacks, Queues, Recursion 6
6.1 Introduction
6.2 Stacks
6.3 Array Representation of Stacks
6.4 Arithmetic Expression; Polish Notation
6.5 Quicksort, an Application Stacks
6.6 Recursion
6.7 Towers of Hanoi
6.8 Implementation of Recursive Procedures by Stacks,
6.9 Queues
6.10 Defuse
6.11 Priority Queues
7. Trees 5
7.1 Introduction
7.2 Binary Trees
7.3 Representing Binary Trees in Memory
7.4 Traversing Binary Trees
7.5 Traversal Algorithms using Stacks
7.6 Header Nodes; Threads
7.7 Binary Search Trees,
7.8 Trees, Searching and Inserting in a Binary Search Tree
7.9 Deleting in a Binary Search Tree
7.10 Heap, Heapsort
7.11 Path Lengths; Huffman’s Algorithm
7.12 General Trees
8. Graphs and Their Application 4
8.1 Introduction
8.2 Graph Th. Terminology
8.3 Sequential Representation of Graphs; Adjacency matrix, path matrix
8.4 Warshall’s Algorithm, Shortest Paths
8.5 Linked Representation of a Graph
8.6 Operations on Graphs
8.7 Traversing a Graph
9. Sorting and Searching 5
9.1 Introduction
9.2 Sorting
9.3 Inserting Sort
9.4 Selection Sort
9.5 Merging
9.6 Merge-sort
9.7 Radix Sort
9.8 Linear searching
9.9 Binary searching
9.10 Interpolation searching
9.11 Hashing
10. Introduction to File Organization 2
Sequential, Index-Sequential and Direct file Organization
---------
45
Practical
Total Periods: 60
Classes : 4 P/W
Program Related to
1. Creation of singly & doubly linked list
2. Insertion, deletion and updation of (1) above
3. Creation of stack, queue and insertion/deletion operation on Stack/Queue
4. Conversion amongst infix, prefix & postfix expressions
5. Creation of tree and insertion/deletion of a node
6. Tree traversal problem
7. Graph search algorithms
8. Searching & Sorting Algorithm
REFERENCE BOOKS:
1. Data Structures - by Seymolur Lipschutz (Schaum Series)
2. Fundamentals of Computer Algorithms - by Horowitz,E & Sahani, S - Galgotia
3. Data Structures Theory Applications - by Trembly & Sorenson, TMH
4. Data Structure through C – by Mc Grew Hill
LIST OF EQUIPMENT
Hardware : Stand alone PC
(for detail, please refer Annex – I)
Software : C Compiler