This repository contains sample code for Course material for CSC310 - Data Structures and Algorithms as well as links to videos and starter code for many assignments. Notify the instructor if you are unable to find what you are looking for.
VIDEO: Three methods for getting the class repository from GitHub (5:01)
Note that this repository will be updated throughout the semester so you may miss updates if you fork your own copy. You should regularly pull the code to ensure you have the latest code.
The sample code lives in modules/, organized by course module to match the schedule. Start with the module index — it lists every module, its CLRS chapter, the folder, and the languages used, with links to each folder.
Each module folder has its own README explaining what the code demonstrates, how it ties back to that module's notes, and the exact commands to build and run it.
Examples are written in several languages so you can read whichever is most familiar: Python, Java, C++, C, Go, Scheme, Prolog, and Pascal. To run a given example you'll need the matching tool installed — for example a JDK (javac/java), g++/gcc, Go, GNU Guile (Scheme), SWI-Prolog or SICStus, or Free Pascal (fpc).
Chapter and section references follow CLRS — Introduction to Algorithms, 4th edition (Cormen, Leiserson, Rivest, Stein). (Computational geometry references are to Chapter 33 of the 3rd edition, which was removed from the 4th but is available as a free download.)
The code here is meant to complement the notes, not to be an answer key. Several topics shown here are also things you implement in a lab or project; in those cases the example is deliberately written in a less-common language and/or on different input, so it helps you learn the idea without being something you can hand in. You are responsible for the work you submit — follow each assignment's instructions, and when in doubt, ask.
Released under the MIT License — see LICENSE.