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
9. YSC2229 Lecture Notes, Week 09
10. YSC2229 Lecture Notes, Week 10
10.1. Constraint Solving via Backtracking
10.2. Optimisation Problems and Dynamic Programming
10.3. File Input and Output in OCaml
10.4. Binary Encoding of Data
10.5. Exercises
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
»
10. YSC2229 Lecture Notes, Week 10
10. YSC2229 Lecture Notes, Week 10
ΒΆ
10.1. Constraint Solving via Backtracking
10.1.1. Constraint Solving by Backtracking
10.1.2. Computing Solutions with Backtracking
10.1.3. Examples of CSP solved by Backtracking
10.1.4. N-Queens problem
10.2. Optimisation Problems and Dynamic Programming
10.2.1. Implementing Fibonacci numbers
10.2.2. Knapsack Problem
10.2.3. Determining the Maximal Price
10.2.4. Solving Knapsack Problem via Dynamic Programming
10.2.5. Restoring the Optimal List of Items
10.3. File Input and Output in OCaml
10.3.1. Reading and Writing with Channels
10.3.2. Copying Files
10.3.3. Representing Strings
10.4. Binary Encoding of Data
10.4.1. Writing and Reading Binary Files
10.4.2. Writing and Reading OCaml Strings
10.4.3. Compressing DNA Sequences
10.5. Exercises
10.5.1. Mandatory exercises
10.5.2. Recommended exercises
10.5.3. Exercise 1
10.5.4. Exercise 2
10.5.5. Exercise 3
10.5.6. Exercise 4
Supplementary materials
Backtracking
Dynamic Programming
File Input/Output
Binary Enconding of Data
Automated Tests