CPE 459 - Data Structure and Analysis of Algorithms
Basic structures for data representation -Data definition languages, Sequential and linked storage allocation, for linear lists, for multi-linked structures, for string processing techniques, Trees – implementation, traversal, mathematical properties, balanced, trees, heaps, hash tables, Efficient algorithms for sorting, searching, and selection. Algorithm analysis: worst and average, case analysis. Recurrences and asymptotic, Algorithm design techniques: divide-and-conquer, dynamic programming, greedy algorithms, amortized analysis, Primitive types, Arrays, Records, Strings and string processing, Data representation in memory, Static, stack, and heap allocation, Runtime storage management, Pointers and references, Linked structures, Implementation strategies for stacks, queues, and hash tables, Algorithms for fundamental graph problems such as depth-first search, connected components, topological sort, and shortest paths. Possible additional topics: network flow, string searching, parallel computation; and C/C++ Programme to implement basic data structure and their manipulation.