YSC2229: Introductory Data Structures and Algorithms
1. YSC2229 Lecture Notes, Week 01
2. YSC2229 Lecture Notes, Week 02
3. YSC2229 Lecture Notes, Week 03
4. YSC2229 Lecture Notes, Week 04
5. YSC2229 Lecture Notes, Week 05
6. YSC2229 Lecture Notes, Week 06
7. YSC2229: Midterm Project, Week 07
8. YSC2229 Lecture Notes, Week 08
8.1. Managing and Testing OCaml Projects
8.2. Hash-Tables, Revisited
8.3. Bloom Filters and Their Applications
8.4. Exercises
9. YSC2229 Lecture Notes, Week 09
10. YSC2229 Lecture Notes, Week 10
11. YSC2229 Lecture Notes, Week 11
12. YSC2229 Lecture Notes, Week 12
13. YSC2229 Lecture Notes, Week 13
14. YSC2229 Lecture Notes, Week 14
YSC2229: Introductory Data Structures and Algorithms
Docs
»
8. YSC2229 Lecture Notes, Week 08
8. YSC2229 Lecture Notes, Week 08
¶
8.1. Managing and Testing OCaml Projects
8.1.1. Testing OCaml Code
8.1.2. Testing an Abstract Data Type
8.2. Hash-Tables, Revisited
8.2.1. OCaml’s universal hashing
8.2.2. Redefining hash-table signature
8.2.3. A framework for testing hash-tables
8.2.4. A simple list-based hash-table
8.2.5. Testing a Simple Hash-Table
8.2.6. A Resizable hash-table
8.2.7. Comparing performance of different implementations
8.3. Bloom Filters and Their Applications
8.3.1. High-level intuition
8.3.2. Bloom filter signature
8.3.3. Implementing a Bloom filter
8.3.4. Experimenting with Bloom filters
8.3.5. Testing Bloom Filters
8.3.6. Improving Simple Hash-table with a Bloom filter
8.3.7. Comparing performance
8.4. Exercises
8.4.1. Mandatory exercises
8.4.2. Recommended exercises
8.4.3. Exercise 1
8.4.4. Exercise 2
8.4.5. Exercise 3
Supplementary materials
Revised ArrayQueue Implementation
Revised Hash-tables
Bloom filters
Automated Tests