CSC 225

Algorithms and Data Structures I

Units: 1.5

Hours: 3-1-0

Basic techniques for design, analysis, implementation of algorithms and data structures. Foundations: Random access machine model, time and space complexity, worst-case analysis, upper and lower bounds. Proof techniques for algorithm correctness. Basic data structures: stacks, queues, linked lists. Sorting: elementary sorting algorithms, mergesort, quicksort, priority queues. Searching: Binary search trees, balanced search trees, hash tables. Graphs: undirected and directed graphs, graph traversals and applications, topological sort. Algorithm design techniques: greedy, backtracking, divide and conquer.

Prerequisites:

Undergraduate course in Computer Science offered by the Department of Computer Science in the Faculty of Engineering.

Schedules:
Summer 2018 Fall 2018 Spring 2019

Summer timetable available: February 15. Fall and Spring timetables available: May 15.

Before these dates the class schedule will show "No classes were found that meet your search criteria". If this message is shown after these dates, the course is not scheduled for the selected term.