This course covers techniques relevant to program design and selection of data structures for larger programs. Topics covered include design techniques, effective use of recursion, algorithmic efficiency and O-notation, linked-lists, stacks, queues, trees, hash tables, heaps, graphs and sorting and searching techniques. Extensive programming of a variety of data structures is required.
The quizzes are multiple-choice, online, and open-book. However, you may not ask other people to help you during the quizzes. You will need to study the textbook chapter
before the lecture covering it, and take the quiz before that class.
Each quiz is due 30 min. before class. Each quiz has 5 questions, you have ten minutes to take it, and you can make two attempts. If you take the quiz twice, the higher score counts.
7. Heaps and Priority Queues
Demo: C 101.7 (Mod 2), VP 34
Wed 10-16
7. Heaps and Priority Queues
Demo: VP 33 and 35
Mon 10-21
Quiz Ch 8 VP 28
CLASS ONLINE ONLY
8. Hash Tables
Demo: VP 36
Wed 10-23
CLASS ONLINE ONLY No new material; just Q & A
Mon 10-28
Quiz Ch 9 VP 29
9. Graphs and Algorithms
Wed 10-30
Machine Learning Demos: ML 130, ML 100, ML 101, ML 102
Mon 11-4
Quiz Ch 10 VP 30
10. Searching
Demo: VP 38, ML 103
Wed 11-6
Demos: VP 37, ML 104, ML 105
Mon 11-11
Holiday
Wed 11-13
Demos: VP 39, ML 112, ML 113
Mon 11-18
Quiz Ch 11 VP 31
11. Sorting
Demo: ML 114
Wed 11-20
Demos: VP 40, ML 115
Mon 11-25
Quiz Ch 12 VP 32
12. Selection Algorithms
Wed 11-27
Demos: ML 123, ML 126
Mon 12-2
Quiz Ch 13 VP 33
13. String Matching Algorithms
Demo: ML 127
Wed 12-4
Demos: ML 128 and ML 129
Mon 12-9
Last Class
Wed 12-11
No Class
Mon 12-9 through Tue 12-17
Final Exam available online throughout the week.
You can only take it once.
All Quizzes due 30 min. before class
Lecture Slides
1. Python Data Types and Structures ·
PDF ·
Keynote
2. Introduction to Algorithm Design ·
PDF ·
Keynote
3. Algorithm Design Techniques and Strategies ·
PDF ·
Keynote
4. Linked Lists ·
PDF ·
Keynote
5. Stacks and Queues ·
PDF ·
Keynote
6. Trees ·
PDF ·
Keynote
7. Heaps and Priority Queues ·
PDF ·
Keynote
8. Hash Tables ·
PDF ·
Keynote
9. Graphs and Algorithms ·
PDF ·
Keynote
10. Searching ·
PDF ·
Keynote
11. Sorting ·
PDF ·
Keynote
12. Selection Algorithms ·
PDF ·
Keynote
13. String Matching Algorithms ·
PDF ·
Keynote