C & Data Structures
C & Data Structures Syllabus:
- Structure of a C Program
- Data Types
- Identifiers & Keywords
- Operators & Expressions
- Preprocessor Directive
- Input Output
- Casting & Conversion
- Operator Precedence
- Scope & Longevity of Variables
- Control Constructs if-else
- Iteration Constructs for, while, do-while
- Functions: Defining & Accessing
- Functions: Passing Arguments
- Functions: Prototypes
- Functions: Recursion
- Storage Classes
- Arrays: Defining & Processing
- Arrays: Passing to a Function
- Arrays: Multi-Dimensional
- Character Arrays(Strings)
- Operations on Strings
- -----------------------------
- Pointers: Pointer Expression
- Pointer Arithmetic
- Arrays of pointers
- Function returning Pointers
- Pointer to Function
- -----------------------------
- Structures & Unions
- -----------------------------
- Dymnamic Memory Allocation: malloc(), calloc() & free()
- -----------------------------
- File Handling & related Functions
- -----------------------------
- Concepts & Need of Data Structures
- Classification of Data structures
- Abstract Data Types
- Execution Time
- Algorithm Analysis
- Algorithm Complexity
- Space Complexity
- Time Complexity
- Asymptotic Analysis
- Asymptotic Notations
- -----------------------------
- List and it's contiguous implementation
- List's drawback
- Singly linked list Operations
- Doubly linked list Operations
- Circular linked list
- Linked list using Arrays
- Application of linked list: polynomial manipulation using linked list
- -----------------------------
- Stacks as ADT
- Different implementation of Stack
- Multiple Stacks
- Contiguous implementations of Stack
- Various operations on Stack
- Various polish notations-infix, prefix, postfix
- Conversion from one to another-using Stack
- Evaluation of post and prefix expressions
- Linked implementation of stack
- -----------------------------
- Queues as ADT
- Contiguous implementation of Queue
- Linear Queue, it's drawback
- Circular Queue
- Enqueue & Dequeue Operation
- Concept of Priority Queue
- Linked implementation of Queue
- Queue simulation
- Application of queues
- -----------------------------
- Trees Definition
- height, depth, order, degree
- parent and child relationship
- Complete & Almost Complete Binary Tree
- Tree Traversal preorder, inoreder or postorder
- Recursive or Non-recursive Implementation
- Linked representation of binary tree-operations
- Threaded Binary Tree
- Forests; Conversion of Forests into tree
- Binary Search Tree - Operations, Traversal, Search
- AVL Tree
- B tree, B+ tree, B* tree
- Red-Black tree
- Heap Definition
- -----------------------------
- Graphs: Introduction
- Classification of graph: Directed and Undirected graphs etc.
- Graph Representation
- Graph Traversal: Depth First Search (DFS), Breadth First Search (BFS)
- Minimum Spanning Tree (MST)
- Kruskal's algorithm
- Prim's algorithms
- Dijkstra's shortest path algorithm
- Comparison between different graph algorithms
- Application of graphs
- -----------------------------
- Sorting an Introduction
- Bubble Sort
- Quick Sort
- Selection Sort
- Heap Sort
- Insertion Sort
- Shell Sort
- Merge Sort
- Radix Sort
- -----------------------------
- Sequential Search
- Binary Search
- Hashing & Indexing
- -----------------------------
- Application of various data structures in operating system, DBMS