While studying Data Structures and Algorithms 1, I came upon many resources which helped me! Here are some of the ones I reference quite frequently. For asymptotic analysis, Calculus comes in handy with Limits and L'Hôpital's rule (using derivatives). In addition, the lecturer's often referred to the CLRS Algorithms Book, the acronym is each of the author's first letter of their last names... Overall the book is quite helpful, it is lacking details for the popular AVL Tree (self balancing binary search tree), but besides that it is great.

I have added plenty of resources below, intentionally there is a mix of academic links in addition to general ones. Computer Science and Data Structures as a field tend to work on the more theoretical level, but I see value in the practical side of Data Structures and Algorithms as well which justifies my choice!

An example of this is using pseudo-code, it is general practice to use it in college and universities rather than a specific programming language. This is because it allows an idea to be conveyed without dealing with quirks of certain languages. A side effect of this is that the code cannot be compiled nor run, this can be good as if you made a mistake it is harder to dock you points. But at the same time, if you made a mistake it is harder to test and find it.

**Complexity:**

^{2}), which directly translates to 3n+1 <= N

^{2 }which is in fact true. The general extension of asymptotic notation is to use it to determine the time and space complexity of an algorithm. As an example, Quick Sort takes the time complexity of Θ(n log n) for both the best and average case. But in the worst case, it takes Θ(N

^{2}). As a side note the worst case can be essentially avoided if the pivot element is decided randomly or logically based on the size of the array and positions of elements.

#### General Courses:

#### https://www2.cs.sfu.ca/CourseCentral/225/jmanuch/lectures.html (Course for auditing)

**click audit**to get it for free)

Hebrew courses in Data Structures and Algorithms

https://campus.gov.il/en/course/tau-acd-rfp4-tau-data-structures/ (100% free and subtitles in english)

#### YouTube - Long form videos from (free code camp) - practical courses

https://www.youtube.com/watch?v=8hly31xKli0

https://www.youtube.com/watch?v=RBSGKlAvoiM

#### My playlist of the best DS Videos (short form):

https://youtube.com/playlist?list=PL9DdgseuDZgLEUwB7RnTLNQ-N9x0fn-0a

#### Additional resources/Guides:

https://okso.app/showcase/data-structures (non-interactive data structure illustrations)

**Books:**

https://docs.google.com/document/d/1KzeEyeodtlXyK8_plz54LMAbm_jpSqkIk-6dDJigZso/edit?usp=sharing (Hebrew Review Book)

#### CLRS Solutions (3rd party solutions to the practice questions in the book):

https://walkccc.me/CLRS/Chap01/1.1/

https://sites.math.rutgers.edu/~ajl213/CLRS/CLRS.html

#### Code implementations:

https://github.com/luiseduardo1/Cormen-Algorithms-Data-Structures (in C)

#### Algorithms visualized:

Amazing ones:

https://visualgo.net/en (their BST implementation doesn't handle duplicates)

https://www.cs.usfca.edu/~galles/visualization/Algorithms.html (Many different options and animations)

https://sortvisualizer.com/ (This one is OK)

Thank you for reading, please share the article and follow me on twitter for more resources and guides!

## No comments:

## Post a Comment

Thank you for posting a comment, it will be reviewed and then posted shortly.