My exam in algorithms and datastructures is on the 12th of December (29th of November when writing this). Come with me on my journey to study the subject and prepare as well as I can.
My plan for the following 12 days is to study notes from the subject and make sure I have a decent understanding of all topics. I will post my notes here daily, to keep myself accountable (and for my friends to see my notes hehe). Depending on the amount of time I have, I will perform exercises to understand the concepts better, and possibly post my solutions here. Towards the end of my study period I will be going through previous exams to get familiar with the exam format.
I am also planning on having a seperate section for all algorithms in our curriculum. Here I will include its spesific usecase, pseudocode or explanation of how it works and the runtime, as well as other information I might find useful. My notes will either be in Norwegian or English, depending on my mood when I am writing them or the material I am taking notes from. Expect some humor or frustrated comments, as I believe this will be an emotional rollercoaster. I hope you enjoy my notes (or cry with me as I work with it), and that we can get the best possible understanding of algorithms and datastructures.
I learned a lot about the sorting algorithms from trying to sort cards according to the pseudocode. Highly recommend!
I am now done with the exam, and as you can see, I did not post notes for every topic. Time got the best of me, so towards the end I did not focus on writing "postable notes". I rather discussed with my fellow students and solved problems to understand the concepts. However, I believe the exam went well, and it has been an interesting course to have. I went into it believing it would not be my best course, but when I started understanding the material more I found it more and more interesting. I am looking forward to seeing more of the practical usecases for this subject.
Notes | Status | Topic |
---|---|---|
Algorithms | In progress | Algorithms |
Good to know | In progress | Good to know for exam |
29.11 | Posted | Problems and algorithms |
30.11 | Posted | Datastructures |
01.12 | Posted | Divide and conquer |
02.12 | Posted | Sorting in linear time |
03.12 | Posted | Rooted tree structures |
04.12 | Posted | Dynamic programming |
05.12 | Posted | Greedy algorithms |
06.12 | Posted | Traversing graphs |
07.12 | Posted | Minimal trees |
08.12 | In progress | Shortest path from one to every node |
09.12 | Not reviewed | |
10.12 | Not reviewed | |
11.12 | Not reviewed |
Here I will post the people who has particularly helped me, and links to their work if applicable and/or if I get their permission to.
First shoutout goes to an anonymous hero for writing a great compendium. I am basing most of my Norwegian notes on their compendium, and have been allowed to post my notes. Contact me if you want the compendium, at hanlun0804@outlook.com.
The lecturer of this course, Magnus Lie Hetland, has been one of my favorite lecturers. It was clear that he was passionate about the subject and teaching it to others. He also always answered questions, either in the lectures, in breaks, after lectures or in an email.
Abdul Bari explain concepts very well. They are not necessarily always the same as what the learning objectives require, but I think he is worth checking out: https://www.youtube.com/@abdul_bari