Algorithms and Data Structures I
Units: 1.5, Hours: 3-1
An introduction to algorithm design and analysis. Random access machine model. Time and space complexity, average and worst case analysis, upper and lower bounds. Application of correctness proof techniques. Algorithms: internal searching, merging, sorting, selection, hashing; graphs: traversals, topological sort, transitive closure, strongly connected components, shortest path, minimum spanning tree. The existence of intractable problems, heuristics. Data structures: B-trees, heaps and graphs.
Prerequisites: 115 or 160, and MATH 122 or CENG 245.
Undergraduate course in Computer Science offered by the Department of Computer Science in the Faculty of Engineering.