Everyone:
Next week, we will work on problems related to the following problem solving techniques:
Complete Search: This involves trying out every possibility and testing them. Although brute-force search may feel wrong, sometimes the most straightforward solution is the best one. To perform a "complete search" we will need the ability to generate each combination and the ability to perform backtracking.
Greedy Algorithms: This is a problem solving approach where we attempt to find a global optimum by always making the locally optimal choice. That is, greedy algorithms take advantae of certain problem features to avoid searching every possibility in order to find an optimal solution.
Both of these techniques will come in handy for solving Challenge 07, Challenge 08, and Challenge 09.
The readings for this week are:
Competitive Programmer's Handbook
Once you have done the readings, answer the following Reading 03 Quiz questions:
To submit you work, follow the same process outlined in Reading 01:
$ git checkout master # Make sure we are in master branch $ git pull --rebase # Make sure we are up-to-date with GitLab $ git checkout -b reading03 # Create reading03 branch and check it out $ cd reading03 # Go into reading03 folder $ $EDITOR answers.json # Edit your answers.json file $ ../.scripts/submit.py # Check reading03 quiz Submitting reading03 assignment ... Submitting reading03 quiz ... Q1 0.50 Q2 0.50 Q3 0.50 Q4 0.50 Q5 0.50 Q6 0.25 Q7 0.50 Q8 0.75 Score 4.00 $ git add answers.json # Add answers.json to staging area $ git commit -m "Reading 04: Done" # Commit work $ git push -u origin reading03 # Push branch to GitLab
Remember to create a merge request and assign it to the instructor.