
Queue: data flows in a "first-in, first-out" (FIFO) manner. Linked List: each data node has a link to the next (and Understand the ins and outs of the most common data structuresĪrrays: Built-in in most languages so not implemented here. Understand the ins and outs of the most common data structures. (Click to expand)Ĩ examples to explain with code how to calculate time complexity Most common time complexities Finding duplicates in an array (naïve approach)Ĩ examples to explain with code how to calculate time complexity.Using Big O notation, we can compare different solutions that solve the same problem but has a massive difference in how long it takes to do it. Let's say you want to find the duplicates on an array. Comparing algorithms using Big O notation Learn how to compare algorithms using Big O notation. (Click to expand)Ĭomputer Science nuggets without all the mumbo-jumbo Learn to calculate run time from code examples The topics are divided into four main categories, as you can see below: 📈 Algorithms AnalysisĬomputer Science nuggets without all the mumbo-jumbo. Note: If you prefer to consume the information more linearly, then the book format would be more appropriate for you. However, the inline code examples are not expanded (because of Github's asciidoc limitations), but you can follow the path and see the implementation. You can dig through the links and code examples from the ( src folder). Implement 10+ data structures from scratch.Īll the code and explanations are available on this repo. 🤓 Cover essential topics, such as big O time, data structures, and must-know algorithms.

🧠 Improve your problem-solving skills and become a well-rounded developer by understanding fundamental computer science concepts.Learn how to break down problems into manageable pieces. 🛠 Apply strategies to tackle algorithm questions.

However, to make use of data structures properly, you have to know the tradeoffs to choose the best tool for the job.

Most programming languages and libraries indeed provide implementations for basic data structures and algorithms. You will need to mind algorithms runtime when you have to sort data, search for a value in a big dataset, transform data, scale your code to many users, to name a few.Īlgorithms are just the step you follow to solve a problem, while data structures are where you store the data for later manipulation.

FeaturesĪlgorithms are an essential toolbox for every programmer. Const = require ( 'dsa.js' ) įor a list of all available data structures and algorithms, see index.js.
