Storage structures and memory allocations. Primitive data structures. Data abstraction and Abstract Data Types.  Array and  record structures. Sorting algorithms and quick sort. Linear & binary search. Complexity of algorithms. String processing. Stacks & queues; stack operations, implementation of recursion, polish notation and arithmetic expressions. Queues and their implementations. Dequeues & priority queues. Linked storage representation and linked-lists. Doubly linked lists and circular lists. Binary trees. Tree traversal algorithms. Tree searching. General trees. Graphs; terminology, Operation on graphs and traversing algorithms. (Prerequisite: EENG112)