Unit I Introduction to C Programming C Fundamentals : Constants, Variables and Keywords in C, Operators, Bitwise Operations, Decision Control and Looping Statements. Arrays & Pointers : Arrays, Functions, Recursive Functions, Pointers, String Manipulations, Structures, Union, Enumeration, MACROS. File Handling : File Operations- Open, Close, Read, Write and Append. Unit II Searching and Sorting Algorithms Algorithms : Analysis of Iterative and Recursive algorithms, Space & Time complexity, Asymptotic notation- Big-O, Theta and Omega notations. Searching methods : Linear, Binary and Fibonacci Search. Sorting methods : Bubble, Insertion, Selection, Merge, and Quick Sort. Unit III Stack and Queue Stack : Concept, Basic stack operations, Array representation of stack, Stack as ADT, Stack Applications : Reversing data, Arithmetic expressions conversion and evaluation. Queue : Concept, Queue operations, Array representation of queue, Queue as ADT, Circular queue, Priority queue, Applications of queue : Categorizing data, Simulation of queue. Unit IV Linked List Concept of linked organization, Singly linked list, Stack using linked list, Queue using linked list, Doubly linked list, Circular linked list, Linked list as ADT. Representation and manipulations of polynomials using linked list, Comparison of sequential and linked organization. Unit V Trees Introduction to trees : Basic tree concepts. Binary Trees : Concept & Terminologies, Representation of binary tree in memory, Traversing a binary tree. Binary Search Trees (BST) : Basic concepts, BST operations, Concept of threaded binary search tree AVL tree : Basic concepts and rotations of a tree. Unit VI Graphs Graph : Basic concepts & terminology. Representation of graphs : Adjacency matrix, Adjacency list. Operations on graph : Traversing a graph. Spanning trees : Minimum spanning tree- Kruskal’s algorithm, Prim’s algorithm and Dijkstra’s shortest path algorithm.