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
Next Previous

© Copyright 2019, Ilya Sergey

Built with Sphinx using a theme provided by Read the Docs.