Representation of numeric data; Range, precision, and rounding errors; Arrays; Representation of character data; Strings and string processing; Runtime storage management; Pointers and references; Linked structures; Implementation strategies for stacks, queues, and hash tables; Implementation strategies for graphs and trees; Strategies for choosing the right data structure. Recursion: Recursive mathematical functions, Simple recursive functions. Introduction to algorithm analysis. Non Linear Structures: Trees; Binary Trees, Binary Search Trees, Binary Heaps. Abstract Data Types: stacks, queues, lists, Priority Queues. Introduction to Graphs. Introduction to:Huffman codes, Heapsort, TreeSort, Linear Search, Binary Search