Algorithms, Pseudo Code, Efficiency of Algorithms, Analyzing Algorithms and Problems, Complexity Measures, Basic Time Analysis of an Algorithm, Space Complexity. Data Abstraction and Basic Data Structures, Data Types, Abstract Data Types and C++ Classes. String Processing (Storing Strings, String Operations, Word Processing, Pattern Matching Algorithms). Arrays and their Representation, Representation of Linear Arrays in Memory, Sorting and Searching, Bubble Sort and Binary Search, Multidimensional Arrays, Pointer Arrays, Records and Record Structures. Linked Lists, Representation of Linked List in Memory, Insertion, Deletion and Searching of Linked List, Two Way Lists, Stacks, Array Representation of Stacks, Arithmetic Expressions, Polish Notations, Quick Sort, Recursion, Queues, De-queues, Priority Queues. Tables and Searching, Linear Search, Binary Search, Hash Tables, Trees, Binary and N-ary Trees, Representation of Binary Trees in Memory, Traversing Binary Trees, Traversal Algorithms using Stacks, Header Nodes, Threads, Binary Search Trees, Heap, Heapsort, Huffman‘s Algorithm. Graph and their Representation, Sequential Representation, Warshall‘s Algorithm, Linked Representation of Graphs, Operations on Graphs Traversing a Graph. Sorting and Searching : Sequential, Binary and Hashed Searching, Internal and External Sorting Techniques, Bubble Sort, Insertion Sort, Selection Sort, Merge Sort, Radix Sort and Quick Sort Comparison.