diff --git a/src/pages/blog/data-structures-algorithms-resources.md b/src/pages/blog/data-structures-algorithms-resources.md index 5aa6e4a573..cc66f982d0 100644 --- a/src/pages/blog/data-structures-algorithms-resources.md +++ b/src/pages/blog/data-structures-algorithms-resources.md @@ -3,19 +3,21 @@ title: Data Structures & Algorithms Resources template: post subtitle: Links to useful educational resources excerpt: "Talk is cheap. Show me the code. Software is like sex: it's better - when it's free. Microsoft isn't evil, they just make really crappy operating - systems." + when it's free. Microsoft isn't evil, they just make really crappy operating + systems." date: 2022-04-09T12:24:38.027Z -image: /blog/ds-whiteboard.webp +image: /blog/big-o-chart.png +thumb_image: /blog/big-o-chart.png image_position: right author: src/data/authors/bgoon.yaml categories: - - src/data/categories/ds.yaml + - src/data/categories/ds.yaml tags: - - src/data/tags/🖇-🖇-🖇-🖇.yaml + - src/data/tags/🖇-🖇-🖇-🖇.yaml show_author_bio: true cmseditable: true --- + # Data Structures & Algorithms Resource List Part 1 Guess the author of the following quotes: @@ -36,202 +38,202 @@ Guess the author of the following quotes: ### Here's some more: -- [The Framework for Learning Algorithms and intense problem solving exercises](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/think_like_computer/Framework%20and%20thoughts%20about%20learning%20data%20structure%20and%20algorithm.md) -- [Algs4: Recommended book for Learning Algorithms and Data Structures](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/think_like_computer/why_i_recommend_algs4.md) -- [An analysis of Dynamic Programming](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/dynamic_programming/AnalysisOfDynamicProgramming.md) -- [Dynamic Programming Q&A — What is Optimal Substructure](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/dynamic_programming/OptimalSubstructure.md) -- [The Framework for Backtracking Algorithm](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/think_like_computer/DetailsaboutBacktracking.md) -- [Binary Search in Detail: I wrote a Poem](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/think_like_computer/DetailedBinarySearch.md) -- [The Sliding Window Technique](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/think_like_computer/SlidingWindowTechnique.md) -- [Difference Between Process and Thread in Linux](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/common_knowledge/linuxProcess.md) -- [Some Good Online Practice Platforms](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/common_knowledge/OnlinePraticePlatform.md) -- [Dynamic Programming in Details](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/dynamic_programming/AnalysisOfDynamicProgramming.md) -- [Dynamic Programming Q&A — What is Optimal Substructure](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/dynamic_programming/OptimalSubstructure.md) -- [Classic DP: Longest Common Subsequence](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/dynamic_programming/LongestCommonSubsequence.md) -- [Classic DP: Edit Distance](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/dynamic_programming/EditDistance.md) -- [Classic DP: Super Egg](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/dynamic_programming/ThrowingEggsinHighBuildings.md) -- [Classic DP: Super Egg \(Advanced Solution\)](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/dynamic_programming/SuperEggDropAdvanced.md) -- [The Strategies of Subsequence Problem](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/dynamic_programming/StrategiesForSubsequenceProblem.md) -- [Classic DP: Game Problems](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/dynamic_programming/GameProblemsInDynamicProgramming.md) -- [Greedy: Interval Scheduling](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/dynamic_programming/IntervalScheduling.md) -- [KMP Algorithm In Detail](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/dynamic_programming/KMPCharacterMatchingAlgorithmInDynamicProgramming.md) -- [A solution to all Buy Time to Buy and Sell Stock Problems](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/dynamic_programming/BestTimeToBuyAndSellStock.md) -- [A solution to all House Robber Problems](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/dynamic_programming/HouseRobber.md) -- [4 Keys Keyboard](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/dynamic_programming/FourKeysKeyboard.md) -- [Regular Expression](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/dynamic_programming/RegularExpression.md) -- [Longest Increasing Subsequence](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/dynamic_programming/LongestIncreasingSubsequence.md) -- [The Framework for Learning Algorithms and intense problem solving exercises](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/think_like_computer/Framework%20and%20thoughts%20about%20learning%20data%20structure%20and%20algorithm.md) -- [Algs4: Recommended book for Learning Algorithms and Data Structures](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/think_like_computer/why_i_recommend_algs4.md) -- [Binary Heap and Priority Queue](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/data_structure/binary_heap_implements_priority_queues.md) -- [LRU Cache Strategy in Detail](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/interview/LRU_algorithm.md) -- [Collections of Binary Search Operations](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/data_structure/The_Manipulation_Collection_of_Binary_Search_Tree.md) -- [Special Data Structure: Monotonic Stack](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/data_structure/MonotonicStack.md) -- [Special Data Structure: Monotonic Stack](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/data_structure/Monotonic_queue.md) -- [Design Twitter](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/data_structure/design_Twitter.md) -- [Reverse Part of Linked List via Recursion](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/data_structure/reverse_part_of_a_linked_list_via_recursion.md) -- [Queue Implement Stack/Stack implement Queue](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/data_structure/ImplementQueueUsingStacksImplementStackUsingQueues.md) -- [My Way to Learn Algorithm](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/think_like_computer/ThewaytoAlgorithmlearning.md) -- [The Framework of Backtracking Algorithm](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/think_like_computer/DetailsaboutBacktracking.md) -- [Binary Search in Detail](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/think_like_computer/DetailedBinarySearch.md) -- [Backtracking Solve Subset/Permutation/Combination](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/interview/Subset_Permutation_Combination.md) -- [Diving into the technical parts of Double Pointers](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/think_like_computer/double_pointer.md) -- [Sliding Window Technique](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/think_like_computer/SlidingWindowTechnique.md) -- [The Core Concept of TwoSum Problems](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/think_like_computer/The_key_to_resolving_TwoSum_problems.md) -- [Common Bit Manipulations](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/think_like_computer/CommonBitManipulation.md) -- [Breaking down a Complicated Problem: Implement a Calculator](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/data_structure/Implementing_the_functions_of_a_calculator.md) -- [Pancake Sorting Algorithm](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/think_like_computer/PancakesSorting.md) -- [Prefix Sum: Intro and Concept](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/think_like_computer/prefix_sum.md) -- [String Multiplication](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/think_like_computer/string_multiplication.md) -- [FloodFill Algorithm in Detail](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/think_like_computer/flood_fill.md) -- [Interval Scheduling: Interval Merging](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/think_like_computer/IntervalMerging.md) -- [Interval Scheduling: Intersections of Intervals](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/think_like_computer/IntervalIntersection.md) -- [Russian Doll Envelopes Problem](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/think_like_computer/RussianDollEnvelopes.md) -- [A collection of counter-intuitive Probability Problems](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/think_like_computer/several_counter_intuitive_probability_problems.md) -- [Shuffle Algorithm](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/think_like_computer/Shuffle_Algorithm.md) -- [Recursion In Detail](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/data_structure/RecursionInDetail.md) -- [How to Implement LRU Cache](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/interview/LRU_algorithm.md) -- [How to Find Prime Number Efficiently](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/interview/Print_PrimeNumbers.md) -- [How to Calculate Minimium Edit Distance](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/dynamic_programming/EditDistance.md) -- [How to use Binary Search](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/interview/UsingBinarySearchAlgorithm.md) -- [How to efficiently solve Trapping Rain Water Problem](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/interview/Trapping_Rain_Water.md) -- [How to Remove Duplicates From Sorted Array](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/interview/RemoveDuplicatesfromSortedArray.md) -- [How to Find Longest Palindromic Substring](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/interview/TheLongestPalindromicSubstring.md) -- [How to Reverse Linked List in K Group](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/interview/reverse-nodes-in-k-group.md) -- [How to Check the Validation of Parenthesis](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/interview/valid-parentheses.md) -- [How to Find Missing Element](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/interview/missing_elements.md) -- [How to Find Duplicates and Missing Elements](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/interview/Find-Duplicate-and-Missing-Element.md) -- [How to Check Palindromic LinkedList](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/interview/check_palindromic_linkedlist.md) -- [How to Pick Elements From an Infinite Arbitrary Sequence](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/interview/ReservoirSampling.md) -- [How to Schedule Seats for Students](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/interview/Seatscheduling.md) -- [Union-Find Algorithm in Detail](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/think_like_computer/Union-find-Explanation.md) -- [Union-Find Application](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/think_like_computer/Union-Find-Application.md) -- [Problems that can be solved in one line](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/interview/one-line-code-puzzles.md) -- [Find Subsequence With Binary Search](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/interview/findSebesquenceWithBinarySearch.md) -- [Difference Between Process and Thread in Linux](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/common_knowledge/linuxProcess.md) -- [You Must Know About Linux Shell](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/common_knowledge/linuxshell.md) -- [You Must Know About Cookie and Session](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/common_knowledge/SessionAndCookie.md) -- [Cryptology Algorithm](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/common_knowledge/Cryptology.md) -- [Some Good Online Practice Platforms](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/common_knowledge/OnlinePraticePlatform.md) +- [The Framework for Learning Algorithms and intense problem solving exercises](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/think_like_computer/Framework%20and%20thoughts%20about%20learning%20data%20structure%20and%20algorithm.md) +- [Algs4: Recommended book for Learning Algorithms and Data Structures](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/think_like_computer/why_i_recommend_algs4.md) +- [An analysis of Dynamic Programming](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/dynamic_programming/AnalysisOfDynamicProgramming.md) +- [Dynamic Programming Q&A — What is Optimal Substructure](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/dynamic_programming/OptimalSubstructure.md) +- [The Framework for Backtracking Algorithm](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/think_like_computer/DetailsaboutBacktracking.md) +- [Binary Search in Detail: I wrote a Poem](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/think_like_computer/DetailedBinarySearch.md) +- [The Sliding Window Technique](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/think_like_computer/SlidingWindowTechnique.md) +- [Difference Between Process and Thread in Linux](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/common_knowledge/linuxProcess.md) +- [Some Good Online Practice Platforms](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/common_knowledge/OnlinePraticePlatform.md) +- [Dynamic Programming in Details](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/dynamic_programming/AnalysisOfDynamicProgramming.md) +- [Dynamic Programming Q&A — What is Optimal Substructure](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/dynamic_programming/OptimalSubstructure.md) +- [Classic DP: Longest Common Subsequence](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/dynamic_programming/LongestCommonSubsequence.md) +- [Classic DP: Edit Distance](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/dynamic_programming/EditDistance.md) +- [Classic DP: Super Egg](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/dynamic_programming/ThrowingEggsinHighBuildings.md) +- [Classic DP: Super Egg \(Advanced Solution\)](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/dynamic_programming/SuperEggDropAdvanced.md) +- [The Strategies of Subsequence Problem](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/dynamic_programming/StrategiesForSubsequenceProblem.md) +- [Classic DP: Game Problems](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/dynamic_programming/GameProblemsInDynamicProgramming.md) +- [Greedy: Interval Scheduling](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/dynamic_programming/IntervalScheduling.md) +- [KMP Algorithm In Detail](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/dynamic_programming/KMPCharacterMatchingAlgorithmInDynamicProgramming.md) +- [A solution to all Buy Time to Buy and Sell Stock Problems](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/dynamic_programming/BestTimeToBuyAndSellStock.md) +- [A solution to all House Robber Problems](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/dynamic_programming/HouseRobber.md) +- [4 Keys Keyboard](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/dynamic_programming/FourKeysKeyboard.md) +- [Regular Expression](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/dynamic_programming/RegularExpression.md) +- [Longest Increasing Subsequence](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/dynamic_programming/LongestIncreasingSubsequence.md) +- [The Framework for Learning Algorithms and intense problem solving exercises](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/think_like_computer/Framework%20and%20thoughts%20about%20learning%20data%20structure%20and%20algorithm.md) +- [Algs4: Recommended book for Learning Algorithms and Data Structures](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/think_like_computer/why_i_recommend_algs4.md) +- [Binary Heap and Priority Queue](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/data_structure/binary_heap_implements_priority_queues.md) +- [LRU Cache Strategy in Detail](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/interview/LRU_algorithm.md) +- [Collections of Binary Search Operations](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/data_structure/The_Manipulation_Collection_of_Binary_Search_Tree.md) +- [Special Data Structure: Monotonic Stack](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/data_structure/MonotonicStack.md) +- [Special Data Structure: Monotonic Stack](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/data_structure/Monotonic_queue.md) +- [Design Twitter](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/data_structure/design_Twitter.md) +- [Reverse Part of Linked List via Recursion](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/data_structure/reverse_part_of_a_linked_list_via_recursion.md) +- [Queue Implement Stack/Stack implement Queue](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/data_structure/ImplementQueueUsingStacksImplementStackUsingQueues.md) +- [My Way to Learn Algorithm](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/think_like_computer/ThewaytoAlgorithmlearning.md) +- [The Framework of Backtracking Algorithm](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/think_like_computer/DetailsaboutBacktracking.md) +- [Binary Search in Detail](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/think_like_computer/DetailedBinarySearch.md) +- [Backtracking Solve Subset/Permutation/Combination](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/interview/Subset_Permutation_Combination.md) +- [Diving into the technical parts of Double Pointers](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/think_like_computer/double_pointer.md) +- [Sliding Window Technique](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/think_like_computer/SlidingWindowTechnique.md) +- [The Core Concept of TwoSum Problems](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/think_like_computer/The_key_to_resolving_TwoSum_problems.md) +- [Common Bit Manipulations](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/think_like_computer/CommonBitManipulation.md) +- [Breaking down a Complicated Problem: Implement a Calculator](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/data_structure/Implementing_the_functions_of_a_calculator.md) +- [Pancake Sorting Algorithm](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/think_like_computer/PancakesSorting.md) +- [Prefix Sum: Intro and Concept](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/think_like_computer/prefix_sum.md) +- [String Multiplication](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/think_like_computer/string_multiplication.md) +- [FloodFill Algorithm in Detail](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/think_like_computer/flood_fill.md) +- [Interval Scheduling: Interval Merging](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/think_like_computer/IntervalMerging.md) +- [Interval Scheduling: Intersections of Intervals](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/think_like_computer/IntervalIntersection.md) +- [Russian Doll Envelopes Problem](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/think_like_computer/RussianDollEnvelopes.md) +- [A collection of counter-intuitive Probability Problems](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/think_like_computer/several_counter_intuitive_probability_problems.md) +- [Shuffle Algorithm](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/think_like_computer/Shuffle_Algorithm.md) +- [Recursion In Detail](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/data_structure/RecursionInDetail.md) +- [How to Implement LRU Cache](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/interview/LRU_algorithm.md) +- [How to Find Prime Number Efficiently](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/interview/Print_PrimeNumbers.md) +- [How to Calculate Minimium Edit Distance](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/dynamic_programming/EditDistance.md) +- [How to use Binary Search](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/interview/UsingBinarySearchAlgorithm.md) +- [How to efficiently solve Trapping Rain Water Problem](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/interview/Trapping_Rain_Water.md) +- [How to Remove Duplicates From Sorted Array](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/interview/RemoveDuplicatesfromSortedArray.md) +- [How to Find Longest Palindromic Substring](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/interview/TheLongestPalindromicSubstring.md) +- [How to Reverse Linked List in K Group](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/interview/reverse-nodes-in-k-group.md) +- [How to Check the Validation of Parenthesis](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/interview/valid-parentheses.md) +- [How to Find Missing Element](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/interview/missing_elements.md) +- [How to Find Duplicates and Missing Elements](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/interview/Find-Duplicate-and-Missing-Element.md) +- [How to Check Palindromic LinkedList](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/interview/check_palindromic_linkedlist.md) +- [How to Pick Elements From an Infinite Arbitrary Sequence](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/interview/ReservoirSampling.md) +- [How to Schedule Seats for Students](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/interview/Seatscheduling.md) +- [Union-Find Algorithm in Detail](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/think_like_computer/Union-find-Explanation.md) +- [Union-Find Application](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/think_like_computer/Union-Find-Application.md) +- [Problems that can be solved in one line](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/interview/one-line-code-puzzles.md) +- [Find Subsequence With Binary Search](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/interview/findSebesquenceWithBinarySearch.md) +- [Difference Between Process and Thread in Linux](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/common_knowledge/linuxProcess.md) +- [You Must Know About Linux Shell](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/common_knowledge/linuxshell.md) +- [You Must Know About Cookie and Session](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/common_knowledge/SessionAndCookie.md) +- [Cryptology Algorithm](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/common_knowledge/Cryptology.md) +- [Some Good Online Practice Platforms](https://72a70b9d-739e-477a-bd84-85357c883a09.vscode-webview-test.com/vscode-resource/file///c:/MY-WEB-DEV/_JOB-SEARCH/03-Interview-Prep/01-reference-guides/common_knowledge/OnlinePraticePlatform.md) ## Algorithms: -- [100 days of algorithms](https://github.com/coells/100days) -- [Algorithms](https://github.com/marcosfede/algorithms) — Solved algorithms and data structures problems in many languages. -- [Algorithms by Jeff Erickson](http://jeffe.cs.illinois.edu/teaching/algorithms/) \([Code](https://github.com/jeffgerickson/algorithms)\) \([HN](https://news.ycombinator.com/item?id=26074289)\) -- [Top algos/DS to learn](https://www.reddit.com/r/compsci/comments/5uz9lb/top_algorithmsdata_structuresconcepts_every/ddy8azz/) -- [Some neat algorithms](https://www.nayuki.io/category/programming) -- [Mathematical Proof of Algorithm Correctness and Efficiency \(2019\)](https://stackabuse.com/mathematical-proof-of-algorithm-correctness-and-efficiency/) -- [Algorithm Visualizer](https://github.com/algorithm-visualizer/algorithm-visualizer) — Interactive online platform that visualizes algorithms from code. -- [Algorithms for Optimization book](https://mitpress.mit.edu/books/algorithms-optimization) -- [Collaborative book on algorithms](https://www.algorithm-archive.org/) \([Code](https://github.com/algorithm-archivists/algorithm-archive)\) -- [Algorithms in C by Robert Sedgewick](http://index-of.co.uk/Algorithms/Algorithms%20in%20C.pdf) -- [Algorithm Design Manual](http://mimoza.marmara.edu.tr/~msakalli/cse706_12/SkienaTheAlgorithmDesignManual.pdf) -- [MIT Introduction to Algorithms course \(2011\)](https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/) -- [How to implement an algorithm from a scientific paper \(2012\)](http://codecapsule.com/2012/01/18/how-to-implement-a-paper/) -- [Quadsort](https://github.com/scandum/quadsort) — Stable non-recursive merge sort named quadsort. -- [System design algorithms](https://github.com/resumejob/system-design-algorithms) — Algorithms you should know before system design. -- [Algorithms Design book](http://www.cs.sjtu.edu.cn/~jiangli/teaching/CS222/files/materials/Algorithm%20Design.pdf) -- [Think Complexity](http://greenteapress.com/complexity/html/index.html) -- [All Algorithms implemented in Rust](https://github.com/TheAlgorithms/Rust) -- [Solutions to Introduction to Algorithms book](https://walkccc.github.io/CLRS/) \([Code](https://github.com/walkccc/CLRS)\) -- [Maze Algorithms \(2011\)](https://www.jamisbuck.org/mazes/) \([HN](https://news.ycombinator.com/item?id=23429368)\) -- [Algorithmic Design Paradigms book](https://page.skerritt.blog/algorithms/) \([Code](https://github.com/brandonskerritt/AlgorithmsBook)\) -- [Words and buttons Online Blog](https://wordsandbuttons.online/) \([Code](https://github.com/akalenuk/wordsandbuttons)\) -- [Algorithms animated](https://www.chrislaux.com/) -- [Cache Oblivious Algorithms \(2020\)](https://jiahai-feng.github.io/posts/cache-oblivious-algorithms/) \([HN](https://news.ycombinator.com/item?id=23662434)\) -- [You could have invented fractional cascading \(2012\)](http://blog.ezyang.com/2012/03/you-could-have-invented-fractional-cascading/) -- [Guide to learning algorithms through LeetCode](https://labuladong.gitbook.io/algo-en/) \([Code](https://github.com/labuladong/fucking-algorithm/tree/english)\) \([HN](https://news.ycombinator.com/item?id=24167297)\) -- [How hard is unshuffling a string?](https://cstheory.stackexchange.com/questions/34/how-hard-is-unshuffling-a-string) -- [Optimization Algorithms on Matrix Manifolds](https://sites.uclouvain.be/absil/amsbook/) -- [Problem Solving with Algorithms and Data Structures](https://runestone.academy/runestone/books/published/pythonds/index.html) \([HN](https://news.ycombinator.com/item?id=24287622)\) \([PDF](https://www.cs.auckland.ac.nz/compsci105s1c/resources/ProblemSolvingwithAlgorithmsandDataStructures.pdf)\) -- [Algorithms implemented in Python](https://github.com/TheAlgorithms/Python) -- [Algorithms implemented in JavaScript](https://github.com/TheAlgorithms/Javascript) -- [Algorithms & Data Structures in Java](https://github.com/williamfiset/Algorithms) -- [Wolfsort](https://github.com/scandum/wolfsort) — Stable adaptive hybrid radix / merge sort. -- [Evolutionary Computation Bestiary](https://github.com/fcampelo/EC-Bestiary) — Bestiary of evolutionary, swarm and other metaphor-based algorithms. -- [Elements of Programming book](http://elementsofprogramming.com/) — Decomposing programs into a system of algorithmic components. \([Review](http://www.pathsensitive.com/2020/09/book-review-elements-of-programmnig.html)\) \([HN](https://news.ycombinator.com/item?id=24635947)\) \([Lobsters](https://lobste.rs/s/bqnhbo/book_review_elements_programmnig)\) -- [Competitive Programming Algorithms](https://cp-algorithms.com/) -- [CPP/C](https://github.com/akshitagit/CPP) — C/C++ algorithms/DS problems. -- [How to design an algorithm \(2018\)](https://www.adamconrad.dev/blog/how-to-design-an-algorithm/) -- [CSE 373 — Introduction to Algorithms, by Steven Skiena \(2020\)](https://www.youtube.com/playlist?list=PLOtl7M3yp-DX6ic0HGT0PUX_wiNmkWkXx) -- [Computer Algorithms II course \(2020\)](http://homepages.math.uic.edu/~lreyzin/f20_mcs501/) -- [Improving Binary Search by Guessing \(2019\)](https://notebook.drmaciver.com/posts/2019-04-30-13:03.html) -- [The case for a learned sorting algorithm \(2020\)](https://blog.acolyer.org/2020/10/19/the-case-for-a-learned-sorting-algorithm/) \([HN](https://news.ycombinator.com/item?id=24823611)\) -- [Elementary Algorithms](https://github.com/liuxinyu95/AlgoXY) — Introduces elementary algorithms and data structures. Includes side-by-side comparisons of purely functional realization and their imperative counterpart. -- [Combinatorics Algorithms for Coding Interviews \(2018\)](https://sahandsaba.com/combinatorial-generation-for-coding-interviews-in-python.html) -- [Algorithms written in different programming languages](https://github.com/ZoranPandovski/al-go-rithms) \([Web](https://zoranpandovski.github.io/al-go-rithms/)\) -- [Solving the Sequence Alignment problem in Python \(2020\)](https://johnlekberg.com/blog/2020-10-25-seq-align.html) -- [The Sound of Sorting](https://github.com/bingmann/sound-of-sorting) — Visualization and “Audibilization” of Sorting Algorithms. \([Web](https://panthema.net/2013/sound-of-sorting/)\) -- [Miniselect: Practical and Generic Selection Algorithms \(2020\)](https://danlark.org/2020/11/11/miniselect-practical-and-generic-selection-algorithms/) -- [The Slowest Quicksort \(2019\)](https://chasewilson.dev/blog/slowest-quicksort/) -- [Functional Algorithm Design \(2020\)](https://blog.sigplan.org/2020/11/17/functional-algorithm-design-part-0/) -- [Algorithms To Live By — Book Notes](https://milofultz.com/2020/12/27/atlb-notes) -- [Numerical Algorithms \(2015\)](http://people.csail.mit.edu/jsolomon/share/book/numerical_book.pdf) -- [Using approximate nearest neighbor search in real world applications \(2020\)](https://blog.vespa.ai/using-approximate-nearest-neighbor-search-in-real-world-applications/) -- [In search of the fastest concurrent Union-Find algorithm \(2019\)](https://arxiv.org/pdf/1911.06347.pdf) -- [Computer Science 521 Advanced Algorithm Design](https://www.cs.princeton.edu/courses/archive/fall13/cos521/) +- [100 days of algorithms](https://github.com/coells/100days) +- [Algorithms](https://github.com/marcosfede/algorithms) — Solved algorithms and data structures problems in many languages. +- [Algorithms by Jeff Erickson](http://jeffe.cs.illinois.edu/teaching/algorithms/) \([Code](https://github.com/jeffgerickson/algorithms)\) \([HN](https://news.ycombinator.com/item?id=26074289)\) +- [Top algos/DS to learn](https://www.reddit.com/r/compsci/comments/5uz9lb/top_algorithmsdata_structuresconcepts_every/ddy8azz/) +- [Some neat algorithms](https://www.nayuki.io/category/programming) +- [Mathematical Proof of Algorithm Correctness and Efficiency \(2019\)](https://stackabuse.com/mathematical-proof-of-algorithm-correctness-and-efficiency/) +- [Algorithm Visualizer](https://github.com/algorithm-visualizer/algorithm-visualizer) — Interactive online platform that visualizes algorithms from code. +- [Algorithms for Optimization book](https://mitpress.mit.edu/books/algorithms-optimization) +- [Collaborative book on algorithms](https://www.algorithm-archive.org/) \([Code](https://github.com/algorithm-archivists/algorithm-archive)\) +- [Algorithms in C by Robert Sedgewick](http://index-of.co.uk/Algorithms/Algorithms%20in%20C.pdf) +- [Algorithm Design Manual](http://mimoza.marmara.edu.tr/~msakalli/cse706_12/SkienaTheAlgorithmDesignManual.pdf) +- [MIT Introduction to Algorithms course \(2011\)](https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/) +- [How to implement an algorithm from a scientific paper \(2012\)](http://codecapsule.com/2012/01/18/how-to-implement-a-paper/) +- [Quadsort](https://github.com/scandum/quadsort) — Stable non-recursive merge sort named quadsort. +- [System design algorithms](https://github.com/resumejob/system-design-algorithms) — Algorithms you should know before system design. +- [Algorithms Design book](http://www.cs.sjtu.edu.cn/~jiangli/teaching/CS222/files/materials/Algorithm%20Design.pdf) +- [Think Complexity](http://greenteapress.com/complexity/html/index.html) +- [All Algorithms implemented in Rust](https://github.com/TheAlgorithms/Rust) +- [Solutions to Introduction to Algorithms book](https://walkccc.github.io/CLRS/) \([Code](https://github.com/walkccc/CLRS)\) +- [Maze Algorithms \(2011\)](https://www.jamisbuck.org/mazes/) \([HN](https://news.ycombinator.com/item?id=23429368)\) +- [Algorithmic Design Paradigms book](https://page.skerritt.blog/algorithms/) \([Code](https://github.com/brandonskerritt/AlgorithmsBook)\) +- [Words and buttons Online Blog](https://wordsandbuttons.online/) \([Code](https://github.com/akalenuk/wordsandbuttons)\) +- [Algorithms animated](https://www.chrislaux.com/) +- [Cache Oblivious Algorithms \(2020\)](https://jiahai-feng.github.io/posts/cache-oblivious-algorithms/) \([HN](https://news.ycombinator.com/item?id=23662434)\) +- [You could have invented fractional cascading \(2012\)](http://blog.ezyang.com/2012/03/you-could-have-invented-fractional-cascading/) +- [Guide to learning algorithms through LeetCode](https://labuladong.gitbook.io/algo-en/) \([Code](https://github.com/labuladong/fucking-algorithm/tree/english)\) \([HN](https://news.ycombinator.com/item?id=24167297)\) +- [How hard is unshuffling a string?](https://cstheory.stackexchange.com/questions/34/how-hard-is-unshuffling-a-string) +- [Optimization Algorithms on Matrix Manifolds](https://sites.uclouvain.be/absil/amsbook/) +- [Problem Solving with Algorithms and Data Structures](https://runestone.academy/runestone/books/published/pythonds/index.html) \([HN](https://news.ycombinator.com/item?id=24287622)\) \([PDF](https://www.cs.auckland.ac.nz/compsci105s1c/resources/ProblemSolvingwithAlgorithmsandDataStructures.pdf)\) +- [Algorithms implemented in Python](https://github.com/TheAlgorithms/Python) +- [Algorithms implemented in JavaScript](https://github.com/TheAlgorithms/Javascript) +- [Algorithms & Data Structures in Java](https://github.com/williamfiset/Algorithms) +- [Wolfsort](https://github.com/scandum/wolfsort) — Stable adaptive hybrid radix / merge sort. +- [Evolutionary Computation Bestiary](https://github.com/fcampelo/EC-Bestiary) — Bestiary of evolutionary, swarm and other metaphor-based algorithms. +- [Elements of Programming book](http://elementsofprogramming.com/) — Decomposing programs into a system of algorithmic components. \([Review](http://www.pathsensitive.com/2020/09/book-review-elements-of-programmnig.html)\) \([HN](https://news.ycombinator.com/item?id=24635947)\) \([Lobsters](https://lobste.rs/s/bqnhbo/book_review_elements_programmnig)\) +- [Competitive Programming Algorithms](https://cp-algorithms.com/) +- [CPP/C](https://github.com/akshitagit/CPP) — C/C++ algorithms/DS problems. +- [How to design an algorithm \(2018\)](https://www.adamconrad.dev/blog/how-to-design-an-algorithm/) +- [CSE 373 — Introduction to Algorithms, by Steven Skiena \(2020\)](https://www.youtube.com/playlist?list=PLOtl7M3yp-DX6ic0HGT0PUX_wiNmkWkXx) +- [Computer Algorithms II course \(2020\)](http://homepages.math.uic.edu/~lreyzin/f20_mcs501/) +- [Improving Binary Search by Guessing \(2019\)](https://notebook.drmaciver.com/posts/2019-04-30-13:03.html) +- [The case for a learned sorting algorithm \(2020\)](https://blog.acolyer.org/2020/10/19/the-case-for-a-learned-sorting-algorithm/) \([HN](https://news.ycombinator.com/item?id=24823611)\) +- [Elementary Algorithms](https://github.com/liuxinyu95/AlgoXY) — Introduces elementary algorithms and data structures. Includes side-by-side comparisons of purely functional realization and their imperative counterpart. +- [Combinatorics Algorithms for Coding Interviews \(2018\)](https://sahandsaba.com/combinatorial-generation-for-coding-interviews-in-python.html) +- [Algorithms written in different programming languages](https://github.com/ZoranPandovski/al-go-rithms) \([Web](https://zoranpandovski.github.io/al-go-rithms/)\) +- [Solving the Sequence Alignment problem in Python \(2020\)](https://johnlekberg.com/blog/2020-10-25-seq-align.html) +- [The Sound of Sorting](https://github.com/bingmann/sound-of-sorting) — Visualization and “Audibilization” of Sorting Algorithms. \([Web](https://panthema.net/2013/sound-of-sorting/)\) +- [Miniselect: Practical and Generic Selection Algorithms \(2020\)](https://danlark.org/2020/11/11/miniselect-practical-and-generic-selection-algorithms/) +- [The Slowest Quicksort \(2019\)](https://chasewilson.dev/blog/slowest-quicksort/) +- [Functional Algorithm Design \(2020\)](https://blog.sigplan.org/2020/11/17/functional-algorithm-design-part-0/) +- [Algorithms To Live By — Book Notes](https://milofultz.com/2020/12/27/atlb-notes) +- [Numerical Algorithms \(2015\)](http://people.csail.mit.edu/jsolomon/share/book/numerical_book.pdf) +- [Using approximate nearest neighbor search in real world applications \(2020\)](https://blog.vespa.ai/using-approximate-nearest-neighbor-search-in-real-world-applications/) +- [In search of the fastest concurrent Union-Find algorithm \(2019\)](https://arxiv.org/pdf/1911.06347.pdf) +- [Computer Science 521 Advanced Algorithm Design](https://www.cs.princeton.edu/courses/archive/fall13/cos521/) ![](https://cdn-images-1.medium.com/max/800/0*2fb7io8VD9z8080F.jpg) ## Data Structures: -- [Data Structures and Algorithms implementation in Go](https://github.com/floyernick/Data-Structures-and-Algorithms) -- [Which algorithms/data structures should I “recognize” and know by name?](https://softwareengineering.stackexchange.com/questions/155639/which-algorithms-data-structures-should-i-recognize-and-know-by-name) -- [Dictionary of Algorithms and Data Structures](https://xlinux.nist.gov/dads/) -- [Phil's Data Structure Zoo](https://g1thubhub.github.io/data-structure-zoo.html) -- [The Periodic Table of Data Structures](https://stratos.seas.harvard.edu/files/stratos/files/periodictabledatastructures.pdf) \([HN](https://news.ycombinator.com/item?id=18314555)\) -- [Data Structure Visualizations](https://www.cs.usfca.edu/~galles/visualization/Algorithms.html) \([HN](https://news.ycombinator.com/item?id=19082943)\) -- [Data structures to name-drop when you want to sound smart in an interview](http://blog.amynguyen.net/?p=853) -- [On lists, cache, algorithms, and microarchitecture \(2019\)](https://pdziepak.github.io/2019/05/02/on-lists-cache-algorithms-and-microarchitecture/) -- [Topics in Advanced Data Structures \(2019\)](http://web.stanford.edu/class/cs166/handouts/100%20Suggested%20Final%20Project%20Topics.pdf) \([HN](https://news.ycombinator.com/item?id=19780387)\) -- [CS166 Advanced DS Course \(2019\)](http://web.stanford.edu/class/cs166/) -- [Advanced Data Structures \(2017\)](https://courses.csail.mit.edu/6.851/fall17/) \([HN](https://news.ycombinator.com/item?id=20044876)\) -- [Write a hash table in C](https://github.com/jamesroutley/write-a-hash-table) -- [Python Data Structures and Algorithms](https://github.com/prabhupant/python-ds) -- [HAMTs from Scratch \(2018\)](https://vaibhavsagar.com/blog/2018/07/29/hamts-from-scratch/) -- [JavaScript Data Structures and Algorithms](https://github.com/JoeKarlsson/data-structures) -- [Implementing a Key-Value Store series](http://codecapsule.com/2012/11/07/ikvs-implementing-a-key-value-store-table-of-contents/) -- [Open Data Structures](https://opendatastructures.org/) — Provide a high-quality open content data structures textbook that is both mathematically rigorous and provides complete implementations. \([Code](https://github.com/patmorin/ods)\) -- [A new analysis of the false positive rate of a Bloom filter \(2009\)](https://www.csee.usf.edu/~kchriste/energy/ipl10.pdf) -- [Ideal Hash Trees](https://lampwww.epfl.ch/papers/idealhashtrees.pdf) -- [RRB-Trees: Efficient Immutable Vectors](http://citeseerx.ist.psu.edu/viewdoc/download;jsessionid=0265C1992F573129BCC7D4AF7734DBF7?doi=10.1.1.592.5377&rep=rep1&type=pdf) -- [Some data structures and algorithms written in OCaml](https://github.com/jdan/ocaml-data-structures) -- [Let's Invent B\(+\)-Trees](https://shachaf.net/w/b-trees) \([HN](https://news.ycombinator.com/item?id=23001831)\) -- [Anna](https://github.com/hydro-project/anna) — Low-latency, cloud-native KVS. -- [Persistent data structures thanks to recursive type aliases \(2019\)](https://www.aleksandra.codes/persistent-data-structures) -- [Log-Structured Merge-Trees \(2020\)](https://yetanotherdevblog.com/lsm/) -- [Bloom Filters for the Perplexed \(2017\)](https://sagi.io/bloom-filters-for-the-perplexed/) -- [Understanding Bloom Filters \(2020\)](https://yetanotherdevblog.com/bloom-filters/) -- [Dense vs. Sparse Indexes \(2020\)](https://yetanotherdevblog.com/dense-vs-sparse-indexes/) -- [Data Structures and Algorithms Problems](https://www.techiedelight.com/list-of-problems/) -- [Data Structures & Algorithms I Actually Used Working at Tech Companies \(2020\)](https://blog.pragmaticengineer.com/data-structures-and-algorithms-i-actually-used-day-to-day/) \([Lobsters](https://lobste.rs/s/n8tyip/data_structures_algorithms_i_actually)\) \([HN](https://news.ycombinator.com/item?id=23841491)\) -- [Let's implement a Bloom Filter \(2020\)](https://onatm.dev/2020/08/10/let-s-implement-a-bloom-filter/) \([HN](https://news.ycombinator.com/item?id=24102617)\) -- [Data Structures Part 1: Bulk Data \(2019\)](https://ourmachinery.com/post/data-structures-part-1-bulk-data/) \([Lobsters](https://lobste.rs/s/t8mrxn/data_structures_part_1_bulk_data)\) -- [Data Structures Explained](https://www.freecodecamp.org/news/learn-all-about-data-structures-used-in-computer-science/) -- [Introduction to Cache-Oblivious Data Structures \(2018\)](https://rcoh.me/posts/cache-oblivious-datastructures/) -- [The Daily Coding newsletter](https://thedailycoding.com/) — Master JavaScript and Data Structures. -- [Lectures Note for Data Structures and Algorithms \(2019\)](https://www.cs.bham.ac.uk/~jxb/DSA/dsa.pdf) -- [Mechanically Deriving Binary Tree Iterators with Continuation Defunctionalization \(2020\)](https://abhinavsarkar.net/posts/continuation-defunctionalization/) -- [Segment Tree data structure](https://cp-algorithms.com/data_structures/segment_tree.html) -- [Structure of a binary state tree \(2020\)](https://medium.com/@gballet/structure-of-a-binary-state-tree-part-1-48c587836d2f) -- [Introductory data structures and algorithms](https://github.com/sushinoya/fundamentals) -- [Applying Textbook Data Structures for Real Life Wins \(2020\)](https://heap.io/blog/engineering/applying-textbook-data-structures-for-real-life-wins) \([HN](https://news.ycombinator.com/item?id=24761105)\) -- [Michael Scott — Nonblocking data structures lectures \(2020\)](https://www.youtube.com/watch?v=9XAx279s7gs) — Nonblocking concurrent data structures are an increasingly valuable tool for shared-memory parallel programming. -- [Scal](https://github.com/cksystemsgroup/scal) — High-performance multicore-scalable data structures and benchmarks. \([Web](http://scal.cs.uni-salzburg.at/)\) -- [Hyperbolic embedding implementations](https://github.com/HazyResearch/hyperbolics) -- [Morphisms of Computational Constructs](https://github.com/prathyvsh/morphisms-of-computational-structures) — Visual catalogue + story of morphisms displayed across computational structures. -- [What is key-value store? \(build-your-own-x\) \(2020\)](http://djkooks.github.io/build-your-own-kv-store) -- [Lesser Known but Useful Data Structures](https://stackoverflow.com/questions/500607/what-are-the-lesser-known-but-useful-data-structures) -- [Using Bloom filters to efficiently synchronize hash graphs \(2020\)](https://martin.kleppmann.com/2020/12/02/bloom-filter-hash-graph-sync.html) -- [Bloom Filters by Example](https://llimllib.github.io/bloomfilter-tutorial/) \([Code](https://github.com/llimllib/bloomfilter-tutorial)\) -- [Binary Decision Diagrams](https://crypto.stanford.edu/pbc/notes/zdd/) \([HN](https://news.ycombinator.com/item?id=25342922)\) -- [3 Steps to Designing Better Data Structures \(2020\)](https://mochromatic.com/3-steps-to-designing-better-data-structures-in-elixir/) -- [Sparse Matrices \(2019\)](https://matteding.github.io/2019/04/25/sparse-matrices/) \([HN](https://news.ycombinator.com/item?id=25601288)\) -- [Algorithms & Data Structures in C++](https://github.com/xtaci/algorithms) -- [Fancy Tree Traversals \(2019\)](https://drs.is/post/fancy-tree-traversals/) -- [The Robson Tree Traversal \(2019\)](https://drs.is/post/robson-traversal/) -- [Data structures and program structures](http://cr.yp.to/data.html) -- [cdb](http://cr.yp.to/cdb.html) — Fast, reliable, simple package for creating and reading constant databases. -- [PGM-index](https://pgm.di.unipi.it/) — Learned indexes that match B-tree performance with 83x less space. \([HN](https://news.ycombinator.com/item?id=25899286)\) \([Code](https://github.com/gvinciguerra/PGM-index)\) -- [Structural and pure attributes](https://minimalmodeling.substack.com/p/structural-and-pure-attributes) -- [Cache-Tries: O\(1\) Concurrent Lock-Free Hash Tries \(2018\)](http://aleksandar-prokopec.com/resources/docs/p137-prokopec.pdf) +- [Data Structures and Algorithms implementation in Go](https://github.com/floyernick/Data-Structures-and-Algorithms) +- [Which algorithms/data structures should I “recognize” and know by name?](https://softwareengineering.stackexchange.com/questions/155639/which-algorithms-data-structures-should-i-recognize-and-know-by-name) +- [Dictionary of Algorithms and Data Structures](https://xlinux.nist.gov/dads/) +- [Phil's Data Structure Zoo](https://g1thubhub.github.io/data-structure-zoo.html) +- [The Periodic Table of Data Structures](https://stratos.seas.harvard.edu/files/stratos/files/periodictabledatastructures.pdf) \([HN](https://news.ycombinator.com/item?id=18314555)\) +- [Data Structure Visualizations](https://www.cs.usfca.edu/~galles/visualization/Algorithms.html) \([HN](https://news.ycombinator.com/item?id=19082943)\) +- [Data structures to name-drop when you want to sound smart in an interview](http://blog.amynguyen.net/?p=853) +- [On lists, cache, algorithms, and microarchitecture \(2019\)](https://pdziepak.github.io/2019/05/02/on-lists-cache-algorithms-and-microarchitecture/) +- [Topics in Advanced Data Structures \(2019\)](http://web.stanford.edu/class/cs166/handouts/100%20Suggested%20Final%20Project%20Topics.pdf) \([HN](https://news.ycombinator.com/item?id=19780387)\) +- [CS166 Advanced DS Course \(2019\)](http://web.stanford.edu/class/cs166/) +- [Advanced Data Structures \(2017\)](https://courses.csail.mit.edu/6.851/fall17/) \([HN](https://news.ycombinator.com/item?id=20044876)\) +- [Write a hash table in C](https://github.com/jamesroutley/write-a-hash-table) +- [Python Data Structures and Algorithms](https://github.com/prabhupant/python-ds) +- [HAMTs from Scratch \(2018\)](https://vaibhavsagar.com/blog/2018/07/29/hamts-from-scratch/) +- [JavaScript Data Structures and Algorithms](https://github.com/JoeKarlsson/data-structures) +- [Implementing a Key-Value Store series](http://codecapsule.com/2012/11/07/ikvs-implementing-a-key-value-store-table-of-contents/) +- [Open Data Structures](https://opendatastructures.org/) — Provide a high-quality open content data structures textbook that is both mathematically rigorous and provides complete implementations. \([Code](https://github.com/patmorin/ods)\) +- [A new analysis of the false positive rate of a Bloom filter \(2009\)](https://www.csee.usf.edu/~kchriste/energy/ipl10.pdf) +- [Ideal Hash Trees](https://lampwww.epfl.ch/papers/idealhashtrees.pdf) +- [RRB-Trees: Efficient Immutable Vectors](http://citeseerx.ist.psu.edu/viewdoc/download;jsessionid=0265C1992F573129BCC7D4AF7734DBF7?doi=10.1.1.592.5377&rep=rep1&type=pdf) +- [Some data structures and algorithms written in OCaml](https://github.com/jdan/ocaml-data-structures) +- [Let's Invent B\(+\)-Trees](https://shachaf.net/w/b-trees) \([HN](https://news.ycombinator.com/item?id=23001831)\) +- [Anna](https://github.com/hydro-project/anna) — Low-latency, cloud-native KVS. +- [Persistent data structures thanks to recursive type aliases \(2019\)](https://www.aleksandra.codes/persistent-data-structures) +- [Log-Structured Merge-Trees \(2020\)](https://yetanotherdevblog.com/lsm/) +- [Bloom Filters for the Perplexed \(2017\)](https://sagi.io/bloom-filters-for-the-perplexed/) +- [Understanding Bloom Filters \(2020\)](https://yetanotherdevblog.com/bloom-filters/) +- [Dense vs. Sparse Indexes \(2020\)](https://yetanotherdevblog.com/dense-vs-sparse-indexes/) +- [Data Structures and Algorithms Problems](https://www.techiedelight.com/list-of-problems/) +- [Data Structures & Algorithms I Actually Used Working at Tech Companies \(2020\)](https://blog.pragmaticengineer.com/data-structures-and-algorithms-i-actually-used-day-to-day/) \([Lobsters](https://lobste.rs/s/n8tyip/data_structures_algorithms_i_actually)\) \([HN](https://news.ycombinator.com/item?id=23841491)\) +- [Let's implement a Bloom Filter \(2020\)](https://onatm.dev/2020/08/10/let-s-implement-a-bloom-filter/) \([HN](https://news.ycombinator.com/item?id=24102617)\) +- [Data Structures Part 1: Bulk Data \(2019\)](https://ourmachinery.com/post/data-structures-part-1-bulk-data/) \([Lobsters](https://lobste.rs/s/t8mrxn/data_structures_part_1_bulk_data)\) +- [Data Structures Explained](https://www.freecodecamp.org/news/learn-all-about-data-structures-used-in-computer-science/) +- [Introduction to Cache-Oblivious Data Structures \(2018\)](https://rcoh.me/posts/cache-oblivious-datastructures/) +- [The Daily Coding newsletter](https://thedailycoding.com/) — Master JavaScript and Data Structures. +- [Lectures Note for Data Structures and Algorithms \(2019\)](https://www.cs.bham.ac.uk/~jxb/DSA/dsa.pdf) +- [Mechanically Deriving Binary Tree Iterators with Continuation Defunctionalization \(2020\)](https://abhinavsarkar.net/posts/continuation-defunctionalization/) +- [Segment Tree data structure](https://cp-algorithms.com/data_structures/segment_tree.html) +- [Structure of a binary state tree \(2020\)](https://medium.com/@gballet/structure-of-a-binary-state-tree-part-1-48c587836d2f) +- [Introductory data structures and algorithms](https://github.com/sushinoya/fundamentals) +- [Applying Textbook Data Structures for Real Life Wins \(2020\)](https://heap.io/blog/engineering/applying-textbook-data-structures-for-real-life-wins) \([HN](https://news.ycombinator.com/item?id=24761105)\) +- [Michael Scott — Nonblocking data structures lectures \(2020\)](https://www.youtube.com/watch?v=9XAx279s7gs) — Nonblocking concurrent data structures are an increasingly valuable tool for shared-memory parallel programming. +- [Scal](https://github.com/cksystemsgroup/scal) — High-performance multicore-scalable data structures and benchmarks. \([Web](http://scal.cs.uni-salzburg.at/)\) +- [Hyperbolic embedding implementations](https://github.com/HazyResearch/hyperbolics) +- [Morphisms of Computational Constructs](https://github.com/prathyvsh/morphisms-of-computational-structures) — Visual catalogue + story of morphisms displayed across computational structures. +- [What is key-value store? \(build-your-own-x\) \(2020\)](http://djkooks.github.io/build-your-own-kv-store) +- [Lesser Known but Useful Data Structures](https://stackoverflow.com/questions/500607/what-are-the-lesser-known-but-useful-data-structures) +- [Using Bloom filters to efficiently synchronize hash graphs \(2020\)](https://martin.kleppmann.com/2020/12/02/bloom-filter-hash-graph-sync.html) +- [Bloom Filters by Example](https://llimllib.github.io/bloomfilter-tutorial/) \([Code](https://github.com/llimllib/bloomfilter-tutorial)\) +- [Binary Decision Diagrams](https://crypto.stanford.edu/pbc/notes/zdd/) \([HN](https://news.ycombinator.com/item?id=25342922)\) +- [3 Steps to Designing Better Data Structures \(2020\)](https://mochromatic.com/3-steps-to-designing-better-data-structures-in-elixir/) +- [Sparse Matrices \(2019\)](https://matteding.github.io/2019/04/25/sparse-matrices/) \([HN](https://news.ycombinator.com/item?id=25601288)\) +- [Algorithms & Data Structures in C++](https://github.com/xtaci/algorithms) +- [Fancy Tree Traversals \(2019\)](https://drs.is/post/fancy-tree-traversals/) +- [The Robson Tree Traversal \(2019\)](https://drs.is/post/robson-traversal/) +- [Data structures and program structures](http://cr.yp.to/data.html) +- [cdb](http://cr.yp.to/cdb.html) — Fast, reliable, simple package for creating and reading constant databases. +- [PGM-index](https://pgm.di.unipi.it/) — Learned indexes that match B-tree performance with 83x less space. \([HN](https://news.ycombinator.com/item?id=25899286)\) \([Code](https://github.com/gvinciguerra/PGM-index)\) +- [Structural and pure attributes](https://minimalmodeling.substack.com/p/structural-and-pure-attributes) +- [Cache-Tries: O\(1\) Concurrent Lock-Free Hash Tries \(2018\)](http://aleksandar-prokopec.com/resources/docs/p137-prokopec.pdf) diff --git a/static/images/uploads/blog/big-o-chart.png b/static/images/uploads/blog/big-o-chart.png new file mode 100644 index 0000000000..c8df427a62 Binary files /dev/null and b/static/images/uploads/blog/big-o-chart.png differ