-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.Rmd
124 lines (113 loc) · 5.23 KB
/
index.Rmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
---
title: "Space, Time, and Perfect Algorithms"
author: "David J. Hunter"
output:
html_document:
toc: true
toc_float:
collapsed: false
smooth_scroll: true
df_print: paged
theme: spacelab
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```
```{r, echo=FALSE}
library(metathis)
meta() %>%
meta_description(
"Slides, assignments, and code for my algorithms class."
) %>%
meta_name("github-repo" = "djhunter/algorithms") %>%
meta_viewport() %>%
meta_social(
title = "Space, Time, and Perfect Algorithms",
url = "https://djhunter.github.io/algorithms/index.html",
og_author = c("David J. Hunter")
)
```
This site provides slides, assignments, and other resources that I use in my Space, Time, and Perfect Algorithms class (CS-120, Westmont College).
# Slides
1. [Introduction: Space, Time, Perfection?](slides/01intro_algorithms.html)
2. [Recursion](slides/02recursion.html)
3. [Divide and Conquer Intro](slides/03divideandconquer.html)
4. [Divide and Conquer: Sorting](slides/04dcsorting.html)
5. [Recursion Trees](slides/05rectrees.html)
6. [Recursion Trees, continued](slides/06morerectrees.html)
7. [Backtracking](slides/07backtracking.html)
8. [More Backtracking Algorithms](slides/08backtracking2.html)
9. [Dynamic Programming: Introduction](slides/09dynprog1.html)
10. [Dynamic Programming: Tables](slides/10dynprog2.html)
11. [Dynamic Programming: Subset Sum](slides/11dynprog3.html)
- *Summary:* [Slide notes 1-11, Chapters 1-3](slide01-11notes.html)
12. [Review for Test #1](slides/12test1review.html)
13. [Greedy Algorithms: Scheduling](slides/13greedy1.html)
14. [Greedy Algorithms: Exchange Arguments](slides/14greedy2.html)
15. [Binary Character Codes](slides/15charactercodes.html)
16. [Huffman Codes](slides/16huffman.html)
17. [Graphs: Introduction](slides/17graphs1.html)
18. [Graphs: Searching](slides/18graphs2.html)
19. [Graphs: Reductions](slides/19graphs3.html)
20. [Depth-First Search: Revisited](slides/20dfsrevisited.html)
21. [DAGs and Topological Sorting](slides/21dagtopsort.html)
22. [Strong Connectivity](slides/22strongconnect.html)
- *Summary:* [Slide notes 13-22, Chapters 4-6](slide13-22notes.html)
23. [Review for Test #2](slides/23test2review.html)
24. [Trees](slides/24trees.html)
25. [Minimum Spanning Trees](slides/25minspantrees.html)
26. [Borůvka's MST Algorithm](slides/26boruvka.html)
27. [Classical MST Algorithms](slides/27classicmst.html)
28. [Single Source Shortest Path Algorithms](slides/28sssp.html)
29. [SSSP Trees, Continued](slides/29sssp2.html)
30. [Flow Networks](slides/30flows.html)
31. [Maxflow-Mincut Theorem](slides/31maxflowmincut.html)
32. [Reductions to Maxflow Problems](slides/32flowreductions.html)
- *Summary:* [Slide notes 24-32, Chapters 7,8,10,11](slide24-32notes.html)
33. [Review for Test #3](slides/33test3review.html)
34. [NP-Hardness](slides/34PvsNP.html)
35. [More NP-Hard Problems](slides/35moreNPhard.html)
36. [Subset Sum](slides/36subsetsum.html)
37. [An NP-Hard Puzzle](slides/37nphardpuzzle.html)
# Written Assignments
1. [Running Time Review](assignments/01time.html)
2. [The Baguenaudier Puzzle](assignments/02baguenaudier.html)
3. [Another Hanoi Puzzle](assignments/03morehanoi.html)
4. [The Cavarretta Sort](assignments/04cavarrettasort.html)
5. [Practice with Recursion Trees](assignments/05rectreepractice.html)
6. [More Practice with Recursion](assignments/06morerecpractice.html)
7. [Churro Cutting](assignments/07churrocutting.html)
8. [More Backtracking Exercises](assignments/08morebacktracking.html)
9. [Fast Churro Cutting](assignments/09fastchurro.html)
10. [Making Change](assignments/10changemaking.html)
11. [Candy Swap Saga](assignments/11candyswapsaga.html)
12. Test #1
13. [Greedy Activity Selection](assignments/13greedyscheduling.html)
14. [Interval Stabbing](assignments/14intervalstabbing.html)
15. [Prefix Codes](assignments/15prefixcodes.html)
16. [Huffman Codes](assignments/16huffmancodes.html)
17. [Adjacency Lists](assignments/17adjacency.html)
18. [Depth-first and Breadth-first Searches](assignments/18dfsandbfs.html)
19. [Number Maze](assignments/19numbermaze.html)
20. [DFS Parentheses Theorem](assignments/20dfsparens.html)
21. [Topological Sort](assignments/21topsort.html)
22. [Strongly Connected Components](assignments/22scc.html)
23. Test #2
24. Spring Break: No assignment
25. [Spanning Tree Practice](assignments/25mstpractice.html)
26. [Edge Contraction](assignments/26contraction.html)
27. [Jarník's Algorithm](assignments/27jarnik.html)
28. [Dijkstra's Algorithm](assignments/28dijkstra.html)
29. [Negative Cycles](assignments/29negcycles.html)
30. [Flows and Cuts](assignments/30cutsflows.html)
31. [Augmenting Paths](assignments/31augmenting.html)
32. [Applications of Maxflow Algorithms](assignments/32flowapplications.html)
33. Test #3
34. [Satisfiability of Boolean Formulas](assignments/34satisfiability.html)
35. [Rep Sets](assignments/35repset.html)
36. [SUBGRAPH and SplitSum](assignments/36morenphard.html)
37. Test #4
# Other Resources
- [Syllabus](tex/cs120S21.pdf) (PDF)
- [Textbook](http://jeffe.cs.illinois.edu/teaching/algorithms/book/Algorithms-JeffE.pdf) (PDF)
All of the pages and slides on this site were authored in RMarkdown. The source code is available on GitHub: https://github.com/djhunter/algorithms