This document outlines a course on data structures using the C programming language. The course aims to provide in-depth knowledge of commonly used data structures like arrays, stacks, queues, lists, trees, hashing and graphs. Students will learn how to design, implement and analyze various data structures and algorithms in C. The course covers topics such as pointers, dynamic memory allocation, linked lists, binary trees, searching and sorting algorithms, graphs, and their applications. Students will learn advanced C programming skills and be able to design solutions to problems using appropriate abstract data types and algorithms.
This document outlines a course on data structures using the C programming language. The course aims to provide in-depth knowledge of commonly used data structures like arrays, stacks, queues, lists, trees, hashing and graphs. Students will learn how to design, implement and analyze various data structures and algorithms in C. The course covers topics such as pointers, dynamic memory allocation, linked lists, binary trees, searching and sorting algorithms, graphs, and their applications. Students will learn advanced C programming skills and be able to design solutions to problems using appropriate abstract data types and algorithms.
This document outlines a course on data structures using the C programming language. The course aims to provide in-depth knowledge of commonly used data structures like arrays, stacks, queues, lists, trees, hashing and graphs. Students will learn how to design, implement and analyze various data structures and algorithms in C. The course covers topics such as pointers, dynamic memory allocation, linked lists, binary trees, searching and sorting algorithms, graphs, and their applications. Students will learn advanced C programming skills and be able to design solutions to problems using appropriate abstract data types and algorithms.
This document outlines a course on data structures using the C programming language. The course aims to provide in-depth knowledge of commonly used data structures like arrays, stacks, queues, lists, trees, hashing and graphs. Students will learn how to design, implement and analyze various data structures and algorithms in C. The course covers topics such as pointers, dynamic memory allocation, linked lists, binary trees, searching and sorting algorithms, graphs, and their applications. Students will learn advanced C programming skills and be able to design solutions to problems using appropriate abstract data types and algorithms.
Course Objective: This course gives the in-depth knowledge to the use, design, and analysis of data structures in computer programs. The very commonly used data structures like arrays, stacks, queues, lists, trees, hashing and graphs will be discussed in detail. Sorting and hashing are important topics in the study of algorithms. They are also closely related to the design of data structures. Several algorithms to implement these techniques are included in the syllabus.
Pre-requisites Computer programming using C language
Course Contents: Module I: Introduction to Data Structures Data Types in C Language; Pointers in C; Arrays in C Language, Implementation of Single Dimensional & Multi Dimensional Arrays, Address Calculation in Single and Multi Dimensional Arrays.; Sparse matrix; Asymtotic notations.
Module II: Stacks and Queues Definition & Examples, Representing Stack using an Array, Implementing Push and Pop Operation in a Stack, Infix Postfix & Prefix Expressions, Evaluating a Postfix Expression, Conversion from one form of an expression to another form ; Queues and its Sequential Representation, Insert Delete- Print Operations; Dequeue and its implementation ;Circular Queues and their Implementation; Priority Queues with basic operations.
Module III: Programming with Linked Lists Introduction, Insertion and deletion of a node to single linked list; Doubly, Circular & Header linked lists with basic operations; List allocating and freeing dynamic variables; Addition of two polynomials list.
Module IV: Programming with Trees Binary Trees, Operations on Binary Trees, node representation, internal and external nodes, tree traversal ,constructing a tree; binary search tree- definition, representation, Implementation of B.S.T. Constructing a binary search tree based on its given infix and pre/post fix order, deletion and insertion of a node in binary search tree; threaded binary trees, finding an element in the tree, deleting k th element;Height Balanced Tree, Constructing an AVL Tree, Insertion and Deletion of a node, searching a node ;Paged binary tree; Multiway search tree-B tree, B+ tree, B* tree
Module V Searching and Sorting Techniques Insertion Sort, Selection Sort, Merge Sort, Heap Sort, Bubble Sort, Radix Sort,Quick Sort,Count sort, Binary Search, Linear Search, Complexities of Sorting and Searching Algorithms, Hashing;Hash Functions; Collision Resolution Techniques
Module VI: Graph and Their Applications Introduction, Graph Theory Terminology, Sequential Representation of Graph (Adjacency and Path Matrix), Warshall Algorithms, Linked Representation of Graph, Different Operations on Graphs, Traversing A Graph(DFS, BFS).; Spanning Trees-Introduction .Representation of Spanning tree, Constructing A Spanning Tree(Prims Algorithm, Kruskals Algorithm).
Learning Outcomes: The student will be able: To Apply advance C programming techniques such as pointers, dynamic memory allocation, structures to developing solutions for particular problems. To Design and implement abstract data types such as linked list, stack, queue and tree by using C as the programming language using static or dynamic implementations. To Analyze, evaluate and choose appropriate abstract data types and algorithms to solve particular problems. To Design and implement C programs that apply abstract data types.
Yashwant Kanetkar,Data Structure using C, BPB Publication,2 nd edition ,2003. A.Tannenbaum,Y. Lanhgsam and A.j. Augenstein , Data Structures Using C And C++ ,Prentice Hall of India,2 nd edition,2009. R.S Salaria Data Structures & Algorithms using C,Khanna Publication,4 th edition,2009 E.Horowitz and S.Sahni,Fundamentals of Data Structures in C ,2 nd Edition,Universities Press,2008. Shaums outline Series,Dta Structure,TMH,Special Indian Ed.,Seventeenth Reprint,2009 Robert L Kruse Data Structure and Program Design in C, Prentice Hall (1991) Noel Kalicharan,Data Structure in C ,Ist edition Create space publisher, 2008 Mark Allen Weiss,Data Structure and algorithm Analysis in C,2 nd Edition AddisonWesley,1996 Jean-Paul Tremblay An Introduction to Data Structures with applications 2nd edition Mcgraw-Hill College; (February 1984)