NOTES
SUBJECT: DATA STRUCTURES USING C
SUBJECT CODE: NCS-301
BRANCH: CSE
SEM: 3rd
SESSION: 2014-15
Evaluation Scheme
Subject Name of Periods Evaluation Scheme Subject Credit
Code Subject L T P CT TA TOTAL ESE Total
NCS-301 Data 3 1 0 30 20 50 100 150 4
Structures
Using C
Asst. Prof. Swimpy Pahuja & Priyanka Gupta
CSE Department, AKGEC Ghaziabad
, CONTENTS
UNIT-1 INTRODUCTION
1.1 BASIC TERMINOLOGY: ELEMENTARY DATA ORGANIZATION
1.1.1 Data and Data Item
1.1.2 Data Type
1.1.3 Variable
1.1.4 Record
1.1.5 Program
1.1.6 Entity
1.1.7 Entity Set
1.1.8 Field
1.1.9 File
1.1.10 Key
1.2 ALGORITHM
1.3 EFFICIENCY OF AN ALGORITHM
1.4 TIME AND SPACE COMPLEXITY
1.5 ASYMPTOTIC NOTATIONS
1.5.1 Asymptotic
1.5.2 Asymptotic Notations
1.5.2.1 Big-Oh Notation (O)
1.5.2.2 Big-Omega Notation (Ω)
1.5.2.3 Big-Theta Notation (Θ)
1.5.3 Time Space Trade-off
1.6 ABSTRACT DATA TYPE
1.7 DATA STRUCTURE
1.7.1 Need of data structure
1.7.2 Selecting a data structure
1.7.3 Type of data structure
1.7.3.1 Static data structure
1.7.3.2 Dynamic data structure
1.7.3.3 Linear Data Structure
1.7.3.4 Non-linear Data Structure
1.8 A BRIEF DESCRIPTION OF DATA STRUCTURES
1.8.1 Array
1.8.2 Linked List
1.8.3 Tree
1.8.4 Graph
1.8.5 Queue
1.8.6 Stack
1.9 DATA STRUCTURES OPERATIONS
1.10 ARRAYS: DEFINITION
1.10.1 Representation of One-Dimensional Array
, 1.10.2 Two-Dimensional Arrays
1.10.3 Representation of Three& Four Dimensional Array
1.10.4 Operations on array
1.10.5 Applications of array
1.10.6 Sparse matrix
1.11 STATIC AND DYNAMIC MEMORY ALLOCATION
1.12 LINKED LIST
1.12.1 Representation of Linked list in memory
1.12.2 Types of linked lists
1.12.3 The Operations on the Linear Lists
1.12.4 Comparison of Linked List and Array
1.12.5 Advantages
1.12.6 Operations on Linked List
1.12.7 Doubly Linked Lists
1.12.8 Circular Linked List
1.12.9 Polynomial representation and addition
1.13 GENERALIZED LINKED LIST
UNIT-2 STACKS
2.1 STACKS
2.2 PRIMITIVE STACK OPERATIONS
2.3 ARRAY AND LINKED IMPLEMENTATION OF STACK IN C
2.4 APPLICATION OF THE STACK (ARITHMETIC EXPRESSIONS)
2.5 EVALUATION OF POSTFIX EXPRESSION
2.6 RECURSION
2.6.1 Simulation of Recursion
2.6.1.1 Tower of Hanoi Problem
2.6.2 Tail recursion
2.7 QUEUES
2.8 DEQUEUE (OR) DEQUE (DOUBLE ENDED QUEUE)
2.9 PRIORITY QUEUE
UNIT-3 TREES
3.1 TREES TERMINOLOGY
3.2 BINARY TREE
3.3 TRAVERSALS
3.4 BINARY SEARCH TREES
3.4.1 Non-Recursive Traversals
3.4.2 Array Representation of Complete Binary Trees
3.4.3 Heaps
3.5 DYNAMIC REPRESENTATION OF BINARY TREE
3.6 COMPLETE BINARY TREE
3.6.1 Algebraic Expressions
3.6.2 Extended Binary Tree: 2-Trees
3.7 TREE TRAVERSAL ALGORITHMS
, 3.8 THREADED BINARY TREE
3.9 HUFFMAN CODE
UNIT-4 GRAPHS
4.1 INTRODUCTION
4.2 TERMINOLOGY
4.3 GRAPH REPRESENTATIONS
4.3.1 Sequential representation of graphs
4.3.2 Linked List representation of graphs
4.4 GRAPH TRAVERSAL
4.5 CONNECTED COMPONENT
4.6 SPANNING TREE
4.6.1 Kruskal’s Algorithm
4.6.2Prim’s Algorithm
4.7 TRANSITIVE CLOSURE AND SHORTEST PATH ALGORITHM
4.6.1 Dijikstra’s Algorithm
4.6.2Warshall’s Algorithm
4.8 INTRODUCTION TO ACTIVITY NETWORKS
UNIT-5 SEARCHING
5.1 SEARCHING
5.1.1 Linear Search or Sequential Search
5.1.2 Binary Search
5.2 INTRODUCTION TO SORTING
5.3 TYPES OF SORTING
5.3.1 Insertion sort
5.3.2 Selection Sort
5.3.3 Bubble Sort
5.3.4 Quick Sort
5.3.5 Merge Sort
5.3.6 Heap Sort
5.3.7 Radix Sort
5.4 PRACTICAL CONSIDERATION FOR INTERNAL SORTING
5.5 SEARCH TREES
5.5.1 Binary Search Trees
5.5.2 AVL Trees
5.5.3 M-WAY Search Trees
5.5.4 B Trees
5.5.5 B+ Trees
5.6 HASHING
5.6.1 Hash Function
5.6.2 Collision Resolution Techniques
5.7 STORAGE MANGMENT
5.7.1 Garbage Collection
5.7.2Compaction
SUBJECT: DATA STRUCTURES USING C
SUBJECT CODE: NCS-301
BRANCH: CSE
SEM: 3rd
SESSION: 2014-15
Evaluation Scheme
Subject Name of Periods Evaluation Scheme Subject Credit
Code Subject L T P CT TA TOTAL ESE Total
NCS-301 Data 3 1 0 30 20 50 100 150 4
Structures
Using C
Asst. Prof. Swimpy Pahuja & Priyanka Gupta
CSE Department, AKGEC Ghaziabad
, CONTENTS
UNIT-1 INTRODUCTION
1.1 BASIC TERMINOLOGY: ELEMENTARY DATA ORGANIZATION
1.1.1 Data and Data Item
1.1.2 Data Type
1.1.3 Variable
1.1.4 Record
1.1.5 Program
1.1.6 Entity
1.1.7 Entity Set
1.1.8 Field
1.1.9 File
1.1.10 Key
1.2 ALGORITHM
1.3 EFFICIENCY OF AN ALGORITHM
1.4 TIME AND SPACE COMPLEXITY
1.5 ASYMPTOTIC NOTATIONS
1.5.1 Asymptotic
1.5.2 Asymptotic Notations
1.5.2.1 Big-Oh Notation (O)
1.5.2.2 Big-Omega Notation (Ω)
1.5.2.3 Big-Theta Notation (Θ)
1.5.3 Time Space Trade-off
1.6 ABSTRACT DATA TYPE
1.7 DATA STRUCTURE
1.7.1 Need of data structure
1.7.2 Selecting a data structure
1.7.3 Type of data structure
1.7.3.1 Static data structure
1.7.3.2 Dynamic data structure
1.7.3.3 Linear Data Structure
1.7.3.4 Non-linear Data Structure
1.8 A BRIEF DESCRIPTION OF DATA STRUCTURES
1.8.1 Array
1.8.2 Linked List
1.8.3 Tree
1.8.4 Graph
1.8.5 Queue
1.8.6 Stack
1.9 DATA STRUCTURES OPERATIONS
1.10 ARRAYS: DEFINITION
1.10.1 Representation of One-Dimensional Array
, 1.10.2 Two-Dimensional Arrays
1.10.3 Representation of Three& Four Dimensional Array
1.10.4 Operations on array
1.10.5 Applications of array
1.10.6 Sparse matrix
1.11 STATIC AND DYNAMIC MEMORY ALLOCATION
1.12 LINKED LIST
1.12.1 Representation of Linked list in memory
1.12.2 Types of linked lists
1.12.3 The Operations on the Linear Lists
1.12.4 Comparison of Linked List and Array
1.12.5 Advantages
1.12.6 Operations on Linked List
1.12.7 Doubly Linked Lists
1.12.8 Circular Linked List
1.12.9 Polynomial representation and addition
1.13 GENERALIZED LINKED LIST
UNIT-2 STACKS
2.1 STACKS
2.2 PRIMITIVE STACK OPERATIONS
2.3 ARRAY AND LINKED IMPLEMENTATION OF STACK IN C
2.4 APPLICATION OF THE STACK (ARITHMETIC EXPRESSIONS)
2.5 EVALUATION OF POSTFIX EXPRESSION
2.6 RECURSION
2.6.1 Simulation of Recursion
2.6.1.1 Tower of Hanoi Problem
2.6.2 Tail recursion
2.7 QUEUES
2.8 DEQUEUE (OR) DEQUE (DOUBLE ENDED QUEUE)
2.9 PRIORITY QUEUE
UNIT-3 TREES
3.1 TREES TERMINOLOGY
3.2 BINARY TREE
3.3 TRAVERSALS
3.4 BINARY SEARCH TREES
3.4.1 Non-Recursive Traversals
3.4.2 Array Representation of Complete Binary Trees
3.4.3 Heaps
3.5 DYNAMIC REPRESENTATION OF BINARY TREE
3.6 COMPLETE BINARY TREE
3.6.1 Algebraic Expressions
3.6.2 Extended Binary Tree: 2-Trees
3.7 TREE TRAVERSAL ALGORITHMS
, 3.8 THREADED BINARY TREE
3.9 HUFFMAN CODE
UNIT-4 GRAPHS
4.1 INTRODUCTION
4.2 TERMINOLOGY
4.3 GRAPH REPRESENTATIONS
4.3.1 Sequential representation of graphs
4.3.2 Linked List representation of graphs
4.4 GRAPH TRAVERSAL
4.5 CONNECTED COMPONENT
4.6 SPANNING TREE
4.6.1 Kruskal’s Algorithm
4.6.2Prim’s Algorithm
4.7 TRANSITIVE CLOSURE AND SHORTEST PATH ALGORITHM
4.6.1 Dijikstra’s Algorithm
4.6.2Warshall’s Algorithm
4.8 INTRODUCTION TO ACTIVITY NETWORKS
UNIT-5 SEARCHING
5.1 SEARCHING
5.1.1 Linear Search or Sequential Search
5.1.2 Binary Search
5.2 INTRODUCTION TO SORTING
5.3 TYPES OF SORTING
5.3.1 Insertion sort
5.3.2 Selection Sort
5.3.3 Bubble Sort
5.3.4 Quick Sort
5.3.5 Merge Sort
5.3.6 Heap Sort
5.3.7 Radix Sort
5.4 PRACTICAL CONSIDERATION FOR INTERNAL SORTING
5.5 SEARCH TREES
5.5.1 Binary Search Trees
5.5.2 AVL Trees
5.5.3 M-WAY Search Trees
5.5.4 B Trees
5.5.5 B+ Trees
5.6 HASHING
5.6.1 Hash Function
5.6.2 Collision Resolution Techniques
5.7 STORAGE MANGMENT
5.7.1 Garbage Collection
5.7.2Compaction