Syllabus | Assignments | Schedule | Notes | Grades

CS 2420 - Introduction to Algorithms and Data Structures

Schedule for Fall 2017


Week:

Discussion:

Due Saturday at midnight:

1

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


2

Traveling Salesman Teaser, Assignment 2 introduction, Merge Sort, Quick Sort, Modified Quick Sort, Hash Sort. Seating chart, Log practice sheets, 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.

Sorting 2

4

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

Sorting 3

5

Assignment 4 discussion, Abstract Data Types (ADTs)

Inserting Students

6

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

Traverse/Delete/Retrieve

7

Linked Lists

Graphics Calculator

8

Overriding operators, Is versus ==. Recursion review.


9

Test 1 pre-review. Test 1.

Test 1

0

Test 1 post-review, General Trees, Binary Trees, BSTs, BST Insert.


11

BST other methods. 2-3 trees, 234 trees, 100 trees, Speed Comparisons. Traversal orders,

BST

12

Hash introduction, IsPrime, HashFunction, Collision Handling strategies, Odds of collosion, Hashing Names, Resizing.


13

Maze Solver Assignment. Time predictions of LL, BST and Hash from 30K to 300K to 3M.

Hash

14

Graphs. Definitions, storage options, searching, 8 Puzzle

Maze Solver

15

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

Graphs

16

Final Reviewing. Fibonacci, Subdivision Surface, etc.


Finals Week


Test 2