CST 370: Algorithms
Students learn important data structures in computer science and acquire fundamental algorithm design techniques to get the efficient solutions
to several computing problems from various disciplines. Topics include the analysis of algorithm efficiency, hash, heap, graph, tree, sorting
and searching, brute force, divide-and-conquer, decrease-and-conquer, transform-and-conquer, dynamic programming, and greedy programming.
Week 1
Topics:
Data Structures
Analysis Frameworks
Non-recursive Algorithms Analysis
Recursive Algorithm Analysis
Asymptotic Notation
Homework
Displays the the closest distance between two numbers
Checks if two strings are anagrams
Displays the maximum number of events that take place concurrently
Week 2:
Topics:
Intro to Recursion
Intro to Brute Force
Homework
Converts a user input directed graph into an adjacency matrix
Displays all possible subsets using binary numbers
Collects max number of apples using brute force techniques
Week 3:
Topics:
Exhaustive Search
Depth-First Search (DFS)
Breadth-First Search (BFS)
Intro to Divide N Conquer
Homework
Reverses a positive integer
Presents a path for Traveling Salesperson Problem
Implements the Depth-First Search Algorithm
Week 4:
Topics:
Week 5:
Topics:
Quick Sort
Tree Traversals
Intro to Decrease N Conquer
Topological Sorting
Binary Search N Presorting
Homework
Uses partitioning to place all negative numbers in the first half of the set
Find the max number in an array using the Divide and Conquer technique
Performs topological sorting based on Kahn's algorithm
Week 6:
Topics:
AVL Trees
2-3 Trees
Heaps
Hashing
Homework
Perform head operations (e.g., insert, delete max, display, update)
Displays the performance of 3 sorting algorithms
Bonus: Implements a hash table using Linear Probing
Week 7
Topics:
Comparison Sorting
Intro to Dynamic Programming
Warshall's Algorithm
Floyds Algorithm
Intro to Greedy Technique and Prim
Homework
Performs Radix Sort
Using Dynamic Programming, collects max number of coins in a board
Implements Floyd's Algorithm to calculate all-pairs shortest paths
Week 8
Topics: