Syllabus | Assignments | Schedule | Notes | Grades

CS 2420 - Introduction to Algorithms and Data Structures

Schedule for Fall 2021


Week:

Discussion:

Due Saturday at midnight:

1

Max-Sub-Sequence Teaser, Goals of course, roll, syllabus, Exponents and Logs, TOH Teaser, Card Shuffling Teaser, Assignment 1, CreateRandomList(), 3 sorting algorithms.


2

Traveling Salesman Teaser, Assignment 2 introduction, Merge Sort, Quick Sort, Modified Quick Sort, Counting Sort. Seating chart, Log practice, Going the Second Mile.

Sorting 1

3

SAT Teaser, Checking grades, Assignment 3 introduction, counting compares and swaps, random versus mostly sorted data, organizing your code, producing charts, reading log/log charts.


4

Multiplying and Factoring Teasers, Big-O definition and meaning. More categories, NP problems, NP Complete problems, Million dollar problems, unsolvable problems, RSA Encryption, “You'd be dead.”

Sorting 2

5

Assignment 4 discussion, Abstract Data Types (ADTs)

Sorting 3

6

Assignment 5. Graphics calculator, InfixToPostfix, EvaluatePostfix, Graph Drawing, Stack class, Cool Polar Coordinates,

Insert

7

Traverse/Delete/Retrieve


Traverse/Delete/Retrieve

8

Test 1 pre-review. Test 1. Overriding operators, Is versus ==. Recursion review.

Test 1

9

Linked Lists and BST

Graphing Calculator

10

General Trees, 2-3 trees, 234 trees, 100 trees, Speed Comparisons. Traversal orders,


11

Hash introduction, IsPrime, HashFunction, Collisions

BST

12

Other collision handling strategies, Odds of collision, Hashing Names, Resizing. Time Predictions


13

Graphs. Definitions, storage options, searching

Hash

14

Maze Solver. 8 Puzzle.


15

Heaps, Dijkstra's algorithm. Keeping it N*LogN.

Graphs

Finals Week


Test 2