×
SUCCESS DOESN'T HAPPEN TO YOU. IT HAPPENS BECAUSE OF YOU
--Your friends at LectureNotes
Close

Data Structure using C

by Mohit Kaushik
Type: NoteInstitute: A.I.J.H.M COLLEGE Course: B.Tech Specialization: Computer Science EngineeringViews: 25Uploaded: 28 days agoAdd to Favourite

Share it with your friends

Suggested Materials

Leave your Comments

Contributors

Mohit Kaushik
Mohit Kaushik
All India Jat Heroes Memorial College Rohtak 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
All India Jat Heroes Memorial College Rohtak 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 2
All India Jat Heroes Memorial College Rohtak 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 3
All India Jat Heroes Memorial College Rohtak All India Jat Heroes Memorial College Rohtak DEPARTMENT OF COMPUTER SCIENCE SEMESTER: II DATA STRUCTURES USING C Prerequisite: Students should be familiar with procedural language like C and concepts of mathematics Objective: To make students understand specification, representation, and implementation of data types and data structures, basic techniques of algorithm analysis, recursive methods, applications of Data Structures. Unit - I Introduction: Basic Terminology, Elementary Data Organization, Algorithm, Efficiency of an Algorithm, Time and Space Complexity, Asymptotic notations: Big-Oh, Time-Space trade-off. Abstract Data Types (ADT) Arrays: Definition, Single and Multidimensional Arrays, Representation of Arrays: Row Major Order, and Column Major Order, Application of arrays, Sparse Matrices and their representations. Linked lists: Array Implementation and Dynamic Implementation of Singly Linked Lists, Doubly Linked List, Circularly Linked List, Operations on a Linked List. Insertion, Deletion, Traversal, Polynomial Representation and Addition, Generalized Linked List. Unit – II Stacks: Abstract Data Type, Primitive Stack operations: Push & Pop, Array and Linked Implementation of Stack in C, Application of stack: Prefix and Postfix Expressions, Evaluation of postfix expression, Recursion, Tower of Hanoi Problem, Simulating Recursion, Principles of recursion, Tail recursion, Removal of recursion Queues, Operations on Queue: Create, Add, Delete, Full and Empty, Circular queues, Array and linked implementation of queues in C, Dequeue and Priority Queue. Unit – III Trees: Basic terminology, Binary Trees, Binary Tree Representation: Array Representation and Dynamic Representation, Complete Binary Tree, Algebraic Expressions, Extended Binary Trees, Array and Linked Representation of Binary trees, Tree Traversal algorithms: Inorder, Preorder and Postorder, Threaded Binary trees, Traversing Threaded Binary trees, Huffman algorithm. 4

Lecture Notes