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