Description
This certificate course ‘ Data Structure using C Language’ is one of the most important skills that every computer science student must-have. This course is to make students and software engineers visualize how different data structures work. As we know that C is a very flexible and well-established language thus making it the mother of all programming languages. Many programs, libraries, operating systems, etc. are implemented in C. Fox example, in Linux, more than 85% of code is written in C. Basically aim of this course to teach the basic data structures in computer programming. It includes Stack, Queue, Linked List, Trees & Graphs using the C programming language. It is often seen that people with good knowledge of these technologies are better programmers than others.
Syllabus
- 1.Introduction
- 2. Arrays
- Handling Arrays
- Initializing The Arrays
- Multidimensional Arrays
- Sparse Array
- 3. Pointers
- Declaring & Initializing Pointers
- Pointer Arithmetic
- Array of Pointers
- Dynamic Allocation & De-Allocation of Memory
- 4. Function Malloc (Size)
- Function Calloc (N, Size)
- Function Free (Block)
- Dangling Pointer Problem
- Structures
- Enumerated Constants
- Unions
- 5.Complexity of Algorithms
- Program Analysis
- Performance Issues
- Asymptotic Notations
- Big-O Notation (?)
- Big-Omega Notation (?)
- Big-Theta Notation (?)
- Time-Space Trade Offs
- Space Usage
- Simplicity
- Recurrence
- 6. Introduction to Data & File Structure
- Introduction
- Primitive & Simple Structures
- Linear & Nonlinear Structures
- File Organizations
- 7. Elementary Data Structures
- Stack
- Operations On Stack
- Evaluation Of Expressions Using Stacks
- Postfix Expression
- Prefix Expression
- 8. Queue
- Introduction
- Array Implementation Of Queues
- Function To Insert An Element Into The Queue
- Function To Delete An Element From The Queue
- Circular Queue
- Function To Insert An Element Into The Queue
- Function For Deletion From Circular Queue
- Circular Queue With Array Implementation
- Dqueques
- Priority Queues
- 9. Linked Lists
- Singly Linked Lists
- Implementation Of Linked List
- Insertion Of A Node At The Beginning
- Insertion Of A Node At The End
- Insertion Of A Node After A Specified Node
- Traversing The Entire Linked List
- Deletion Of A Node From Linked List
- Concatenation Of Linked Lists
- Merging Of Linked Lists
- Reversing Of Linked List
- Doubly Linked List
- Implementation Of Doubly Linked List
- Circular Linked List
- Applications Of The Linked Lists
- 10. Graphs
- Introduction
- Adjacency Matrix & Adjacency Lists
- Graph Traversal
- Depth First Search (DFS)
- Breadth First Search (BFS)
- Shortest Path Problem
- Minimal Spanning Tree
- 11. Trees
- Basic Terminology
- Binary Trees
- Traversals Of A Binary Tree
- In Order Traversal
- Post Order Traversal
- Preorder Traversal
- Binary Search Trees (BST)
- B-Tree
- Insertion
- Deletion
- B+ Tree
- 12. Searching
- Introduction
- Searching Techniques
- Linear Search
- Binary search
- 13. Sorting
- Introduction
- Insertion sort
- Bubble sort
- Selection Sort
- Radix sort
- Quick sort
- Merge Sort
- Heap sort /Shell Sort