At the end of this course, we reached a point of being close to the real and true real-life usage of data structures, that is, database systems. Of course, data structures are in every where in computers software, databases particularly are the most critical applications in this regard, and it is important to choose the most optimized and suitable data structures to build the database system that have the highest performance.
The first reading unit was about searching algorithms. In fact, Shafer’s textbook readings were a little bit challenging, because the topics were introduced in a plane mathematical manner, not like the previous chapters. For that, I used other external topics to read and learn the required concepts. In fact, speaking about searing algorithms in the 9th chapter of the book is late! That’s because we have implemented the search functions in most of the ADTs that were covered in the first chapters. Basically, binary search tree is fundamentally build on the notion of binary search, where the root node is the middle point of the list. I noticed that most of other algorithms and data structure textbooks cover searching algorithms much earlier.
As for the last chapter, “Indexing”, this subject was a good finisher for the journey of data structures! The topic was so interesting and full of tricks that aim to optimize querying for data process. The most interesting concept for sure was “Zipf distribution”, and Vsauce’s video (2015) was the most interesting resource to get an overview of that law.
In the end, I would like to say that this course was one of the most important courses, and the evidence of that fact is that internet now is full of what called “Preparing for interviews courses” and these courses in fact are nothing but algorithms and data structure courses!
Reference
Vsauce. (2015). The mystery of Zipf. Youtube. [Video]. https://www.youtube.com/watch?v=fCn8zs912OE