cleanup and refactor Computer Science roadmap topics (#8561)

pull/8585/head
Vedansh 1 week ago committed by GitHub
parent ab5cc9dd6d
commit c2e1d8fd28
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 4
      src/data/roadmaps/computer-science/computer-science.md
  2. 2
      src/data/roadmaps/computer-science/content/architectural-styles@X1wv7xV69IEzepg8bF8oZ.md
  3. 8
      src/data/roadmaps/computer-science/content/array@TwW6SO2IXqkxJXVjLzdwU.md
  4. 1
      src/data/roadmaps/computer-science/content/avl-trees@OUistS7H7hQQxVV-lOg39.md
  5. 2
      src/data/roadmaps/computer-science/content/balanced-search-trees@7DF3UhefOSqqTuccH8c8X.md
  6. 5
      src/data/roadmaps/computer-science/content/base@q3nRhTYS5wg9tYnQe2sCF.md
  7. 5
      src/data/roadmaps/computer-science/content/big-o@c-NrTtJuNihbHzyPEOKTW.md
  8. 4
      src/data/roadmaps/computer-science/content/binary-search@8kTg4O9MrTHRUrp6U-ctA.md
  9. 1
      src/data/roadmaps/computer-science/content/boyer-moore@p6qub32jcaGloHXUDUrlG.md
  10. 2
      src/data/roadmaps/computer-science/content/brute-force-search@g3b0kt1fCAjjYyS2WelWi.md
  11. 2
      src/data/roadmaps/computer-science/content/c@1kQJs-3Aw8Bi7d_Xh67zS.md
  12. 2
      src/data/roadmaps/computer-science/content/cap-theorem@GZI8EsEqiMJX3fSbO_E-7.md
  13. 3
      src/data/roadmaps/computer-science/content/co-np@pLBfkzi0qfgVRqi_4AmMI.md
  14. 2
      src/data/roadmaps/computer-science/content/combinatorics@lWnAY0DgrUOmT6yqnxeBN.md
  15. 1
      src/data/roadmaps/computer-science/content/common-uml-diagrams@DMuMsEowpevTCALtziwTB.md
  16. 3
      src/data/roadmaps/computer-science/content/complexity-classes@YLCmZvoLkhOk9wlgYW2Ms.md
  17. 1
      src/data/roadmaps/computer-science/content/cpu-interrupts@cpQvB0qMDL3-NWret7oeA.md
  18. 2
      src/data/roadmaps/computer-science/content/depth-first-search@chzP5_t2gMi6MstxEzCi5.md
  19. 2
      src/data/roadmaps/computer-science/content/design-patterns@-De1hU2ONGwhQmUpsyrCO.md
  20. 5
      src/data/roadmaps/computer-science/content/factorial@m0umGQNdvg95UiNpQZsQN.md
  21. 2
      src/data/roadmaps/computer-science/content/ford-fulkerson-algorithm@Hqw2eGtgfbVggqXBnIOdI.md
  22. 2
      src/data/roadmaps/computer-science/content/go@mWW88VnkqWgDz02qw5zU-.md
  23. 2
      src/data/roadmaps/computer-science/content/graphql@DeE_dZecLmKCjePovTfFS.md
  24. 5
      src/data/roadmaps/computer-science/content/hash-table@G2dN2FO0SN_I-5AhO_EUk.md
  25. 1
      src/data/roadmaps/computer-science/content/hashing-algorithms@EX_e4B6G07zTb4JjJ7482.md
  26. 5
      src/data/roadmaps/computer-science/content/heap@pw3ZCC3HKU7D5SQwte4vE.md
  27. 3
      src/data/roadmaps/computer-science/content/how-computers-calculate@GDLKJkKgB-i7n0YcV2NDa.md
  28. 4
      src/data/roadmaps/computer-science/content/how-computers-work@-emdKpD5uRNuvem5rbFXJ.md
  29. 1
      src/data/roadmaps/computer-science/content/in-order-traversal@KTrgf14Q6rg2f0v4dqq2s.md
  30. 1
      src/data/roadmaps/computer-science/content/indexes@BEbsUA39kZ5itqCwD585f.md
  31. 2
      src/data/roadmaps/computer-science/content/insertion-sort@ujDCW6zZE8dV_fpNf-oIl.md
  32. 2
      src/data/roadmaps/computer-science/content/java@1lQSUFrrIGq19nUnM92-I.md
  33. 1
      src/data/roadmaps/computer-science/content/lfu-cache@n11ujPI3of-52l2KW2CDQ.md
  34. 1
      src/data/roadmaps/computer-science/content/linear@jymhjv8GiFALQpox6aZeu.md
  35. 2
      src/data/roadmaps/computer-science/content/little-endian@rD_5n5bjiNMVC0cPhEVyG.md
  36. 1
      src/data/roadmaps/computer-science/content/load-balancing@xDiS0HmrEoPjkQg9x2O3o.md
  37. 3
      src/data/roadmaps/computer-science/content/np-complete@Lwkz7qozXRlVNA20zJbSw.md
  38. 3
      src/data/roadmaps/computer-science/content/p@3aM17dPKNi8tRJsW8lesI.md
  39. 1
      src/data/roadmaps/computer-science/content/pick-a-language@tU4Umtnfu01t9gLlnlK6b.md
  40. 1
      src/data/roadmaps/computer-science/content/post-order-traversal@4_oGXwjzSY5cX9n7L4iAA.md
  41. 1
      src/data/roadmaps/computer-science/content/process-forking@RbdT5MOE4L-E7PPWKRITX.md
  42. 2
      src/data/roadmaps/computer-science/content/proxy@qLLJ_ehC8tSRfXsorYMQz.md
  43. 2
      src/data/roadmaps/computer-science/content/queue@JI990pDX2jjNe6IH_Y_t0.md
  44. 2
      src/data/roadmaps/computer-science/content/registers-and-ram@U3379F4AO1KSmGtVmPr27.md
  45. 4
      src/data/roadmaps/computer-science/content/rust@1bDjg-KBDKRmE6f1MWY8l.md
  46. 4
      src/data/roadmaps/computer-science/content/scheduling-algorithms@Ge2nagN86ofa2y-yYR1lv.md
  47. 1
      src/data/roadmaps/computer-science/content/search-pattern-in-text@L4M5yFRKKR2axKXGcIA7d.md
  48. 1
      src/data/roadmaps/computer-science/content/selection-sort@rOsHFXQm5jNz0RyZQ5ZGs.md
  49. 2
      src/data/roadmaps/computer-science/content/skip-lists@K96ggeWqd5OwoNnkL04pc.md
  50. 2
      src/data/roadmaps/computer-science/content/string-search--manipulations@NUWk-7IXmMU-4TT-oS8fF.md
  51. 5
      src/data/roadmaps/computer-science/content/suffix-arrays@Ld1TUNS8713coMNvwhNIJ.md
  52. 4
      src/data/roadmaps/computer-science/content/system-design@w-fvEiSJysywR3AOAB0ve.md
  53. 2
      src/data/roadmaps/computer-science/content/the-knights-tour-problem@NcKW_3vJWL_rVlDBB_Qjs.md
  54. 2
      src/data/roadmaps/computer-science/content/tls--https@3pu2bGhoCLFIs6kNanwtz.md
  55. 1
      src/data/roadmaps/computer-science/content/transactions@KhvYJtSCUBOpEZXjHpQde.md
  56. 1
      src/data/roadmaps/computer-science/content/travelling-salesman-problem@ZG-hWjVoS3p9XfrtBL0sD.md
  57. 1
      src/data/roadmaps/computer-science/content/tree@_eWqiWUmOj0zUo_Ix3j1O.md
  58. 3
      src/data/roadmaps/computer-science/content/unbalanced-tree@w4sxmZR1BjX6wlrZmuOlf.md

@ -22,12 +22,14 @@ seo:
title: 'Computer Science Roadmap: Curriculum for the self taught developer'
description: 'Computer Science study plan with free resources for the self-taught and bootcamp grads wanting to learn Computer Science.'
keywords:
- 'computer science roadmap'
- 'computer science'
- 'computer science roadmap'
- 'computer science roadmap 2024'
- 'computer science roadmap 2025'
- 'guide to computer science'
- 'software engineer roadmap'
- 'software engineer roadmap 2024'
- 'software engineer roadmap 2025'
- 'self-taught computer science roadmap'
- 'computer science skills'
- 'computer science skills test'

@ -4,4 +4,4 @@ Architectural patterns are the fundamental organization of a system, defining ho
Visit the following resources to learn more:
- [@article@List of software architecture styles and patterns](https://en.wikipedia.org/wiki/List_of_software_architecture_styles_and_patterns)
- [@article@List of Software Architecture Styles and Patterns](https://en.wikipedia.org/wiki/List_of_software_architecture_styles_and_patterns)

@ -4,10 +4,10 @@ Arrays store elements in contiguous memory locations, resulting in easily calcul
Visit the following resources to learn more:
- [@article@What is Array in Data Structure? Types & Syntax](https://www.simplilearn.com/tutorials/data-structure-tutorial/arrays-in-data-structure)
- [@video@Array Data Structure | Illustrated Data Structures](https://www.youtube.com/watch?v=QJNwK2uJyGs)
- [@course@Array Data Structure - Coursera](https://www.coursera.org/lecture/data-structures/arrays-OsBSF)
- [@course@Dynamic Arrays - Coursera](https://www.coursera.org/lecture/data-structures/dynamic-arrays-EwbnV)
- [@video@UC Berkeley CS61B - Linear and Multi-Dim Arrays (Start watching from 15m 32s)](https://archive.org/details/ucberkeley_webcast_Wp8oiO_CZZE)
- [@video@Jagged Arrays](https://www.youtube.com/watch?v=1jtrQqYpt7g)
- [@video@Dynamic and Static Arrays](https://www.youtube.com/watch?v=PEnFFiQe1pM&list=PLDV1Zeh2NRsB6SWUrDFW2RmDotAfPbeHu&index=6)
- [@video@Dynamic Array Code](https://www.youtube.com/watch?v=tvw4v7FEF1w&list=PLDV1Zeh2NRsB6SWUrDFW2RmDotAfPbeHu&index=5)
- [@video@Jagged Arrays](https://www.youtube.com/watch?v=1jtrQqYpt7g)
- [@video@UC Berkeley CS61B - Linear and Multi-Dim Arrays (Start watching from 15m 32s)](https://archive.org/details/ucberkeley_webcast_Wp8oiO_CZZE)
- [@course@Array Data Structure - Coursera](https://www.coursera.org/lecture/data-structures/arrays-OsBSF)

@ -6,6 +6,7 @@ In practice: From what I can tell, these aren't used much in practice, but I cou
Visit the following resources to learn more:
- [@article@AVL Tree - Programiz](https://www.programiz.com/dsa/avl-tree)
- [@video@MIT AVL Trees / AVL Sort](https://www.youtube.com/watch?v=FNeL18KsWPc&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=6)
- [@course@AVL Trees](https://www.coursera.org/learn/data-structures/lecture/Qq5E0/avl-trees)
- [@course@AVL Tree Implementation](https://www.coursera.org/learn/data-structures/lecture/PKEBC/avl-tree-implementation)

@ -4,6 +4,6 @@ Balanced search trees are a type of data structure that allow for fast insertion
Visit the following resources to learn more:
- [@article@Self-balancing binary search tree - Wikipedia](https://en.wikipedia.org/wiki/Self-balancing_binary_search_tree)
- [@article@Self-balancing Binary Search Tree - Wikipedia](https://en.wikipedia.org/wiki/Self-balancing_binary_search_tree)
- [@video@Balanced Search Trees Operations and Applications 11 min](https://www.youtube.com/watch?v=IbNZ-x1I2IM)
- [@video@Balanced binary search tree rotations](https://www.youtube.com/watch?v=q4fnJZr8ztY)

@ -5,3 +5,8 @@ The rise in popularity of NoSQL databases provided a flexible and fluidity with
- **B**asically **A**vailable
- **S**oft state
- **E**ventual consistency
Visit the following resources to learn more:
- [@article@ACID vs. BASE Database Model](https://phoenixnap.com/kb/acid-vs-base)
- [@article@What Is BASE in Database Engineering?](https://www.lifewire.com/abandoning-acid-in-favor-of-base-1019674)

@ -4,8 +4,9 @@ The Big O notation can be used to describe how the running time of an algorithm
Visit the following resources to learn more:
- [@article@Big-O Notation: A Simple Explanation with Examples](https://medium.com/better-programming/big-o-notation-a-simple-explanation-with-examples-a56347d1daca)
- [@article@CS 61B Lecture 19: Asymptotic Analysis](https://archive.org/details/ucberkeley_webcast_VIS4YDpuP98)
- [@article@Big O Notation | Brilliant Math & Science Wiki](https://brilliant.org/wiki/big-o-notation/)
- [@video@Big O Notation — Calculating Time Complexity](https://www.youtube.com/watch?v=Z0bH0cMY0E8)
- [@video@Big O Notations](https://www.youtube.com/watch?v=V6mKVRU1evU)
- [@article@moviesCS 61B Lecture 19: Asymptotic Analysis](https://archive.org/details/ucberkeley_webcast_VIS4YDpuP98)
- [@video@Big Oh Notation (and Omega and Theta)](https://www.youtube.com/watch?v=ei-A_wy5Yxw&list=PL1BaGV1cIH4UhkL8a9bJGG356covJ76qN&index=3)
- [@article@Big O Notation | Brilliant Math & Science Wiki](https://brilliant.org/wiki/big-o-notation/)

@ -4,8 +4,8 @@ Binary search is a search algorithm that finds the position of a target value wi
Visit the following resources to learn more:
- [@video@Binary Search in 4 Minutes](https://www.youtube.com/watch?v=fDKIpRe8GW4\&feature=youtu.be)
- [@video@Binary Search - CS50](https://www.youtube.com/watch?v=D5SrAga1pno)
- [@article@Binary Search - Khan Academy](https://www.khanacademy.org/computing/computer-science/algorithms/binary-search/a/binary-search)
- [@article@Binary Search](https://www.topcoder.com/thrive/articles/Binary%20Search)
- [@video@Binary Search in 4 Minutes](https://www.youtube.com/watch?v=fDKIpRe8GW4\&feature=youtu.be)
- [@video@Binary Search - CS50](https://www.youtube.com/watch?v=D5SrAga1pno)
- [@feed@Explore top posts about Binary Search](https://app.daily.dev/tags/binary-search?ref=roadmapsh)

@ -4,4 +4,5 @@ Boyer Moore algorithm is a string searching algorithm that is used to find the i
Visit the following resources to learn more:
- [@article@Boyer-Moore String-search Algorithm](https://en.wikipedia.org/wiki/Boyer%E2%80%93Moore_string-search_algorithm)
- [@course@Boyer Moore Algorithm](https://www.coursera.org/learn/algorithms-part2/lecture/CYxOT/boyer-moore)

@ -4,6 +4,6 @@ Brute force search is a simple algorithm that checks for a pattern in a string b
Visit the following resources to learn more:
- [@article@A beginner guide to Brute Force Algorithm for substring search](https://nulpointerexception.com/2019/02/10/a-beginner-guide-to-brute-force-algorithm-for-substring-search/)
- [@article@A Beginner Guide to Brute Force Algorithm for Substring Search](https://nulpointerexception.com/2019/02/10/a-beginner-guide-to-brute-force-algorithm-for-substring-search/)
- [@article@Brute Force Algorithm in Cybersecurity and String Search](https://www.baeldung.com/cs/brute-force-cybersecurity-string-search)
- [@course@Brute-Force Substring Search](https://www.coursera.org/learn/algorithms-part2/lecture/2Kn5i/brute-force-substring-search)

@ -4,7 +4,7 @@ C++ is a powerful general-purpose programming language. It can be used to develo
Visit the following resources to learn more:
- [@roadmap@C++ Roadmap](https://roadmap.sh/cpp)
- [@roadmap@Visit Dedicated C++ Roadmap](https://roadmap.sh/cpp)
- [@article@Learn C++](https://learncpp.com/)
- [@article@Cpp Reference](https://en.cppreference.com/)
- [@article@CPlusPlus](https://cplusplus.com/)

@ -4,5 +4,5 @@ The CAP theorem states that it is impossible for a distributed data store to sim
Visit the following resources to learn more:
- [@article@CAP Theorem](https://en.wikipedia.org/wiki/CAP_theorem)
- [@video@What is CAP Theorem?](https://www.youtube.com/watch?v=_RbsFXWRZ10)
- [@article@CAP Theorem - Wikipedia](https://en.wikipedia.org/wiki/CAP_theorem)

@ -10,6 +10,3 @@ Visit the following resources to learn more:
- [@video@Complexity: Fixed-Parameter Algorithms](https://www.youtube.com/watch?v=4q-jmGrmxKs&index=25&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp)
- [@video@Lecture 23: Computational Complexity](https://www.youtube.com/watch?v=moPtwq_cVH8&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=24)
- [@video@Greedy Algs. II & Intro to NP Completeness](https://youtu.be/qcGnJ47Smlo?list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&t=2939)
- [@video@NP Completeness II & Reductions](https://www.youtube.com/watch?v=e0tGC6ZQdQE&index=16&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm)
- [@video@NP Completeness III](https://www.youtube.com/watch?v=fCX1BGT3wjE&index=17&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm)
- [@video@NP Completeness IV](https://www.youtube.com/watch?v=NKLDp3Rch3M&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&index=18)

@ -4,7 +4,7 @@ Combinatorics is the study of counting. It is a branch of mathematics that is us
Visit the following resources to learn more:
- [@article@Probability and Combinatorics](https://www.khanacademy.org/math/probability/probability-and-combinatorics-topic)
- [@video@Math Skills: How to find Factorial, Permutation and Combination](https://www.youtube.com/watch?v=8RRo6Ti9d0U)
- [@video@Make School: Probability](https://www.youtube.com/watch?v=sZkAAk9Wwa4)
- [@video@Make School: More Probability and Markov Chains](https://www.youtube.com/watch?v=dNaJg-mLobQ)
- [@article@Probability and Combinatorics Topic](https://www.khanacademy.org/math/probability/probability-and-combinatorics-topic)

@ -4,4 +4,5 @@ UML is a standard way of visualizing a software system. It is a general-purpose,
Visit the following resources to learn more:
- [@article@Unified Modeling Language (UML) Description](https://www.uml-diagrams.org/)
- [@video@UML Diagrams Full Course (Unified Modeling Language)](https://www.youtube.com/watch?v=WnMQ8HlmeXc)

@ -10,6 +10,3 @@ Visit the following resources to learn more:
- [@video@Complexity: Fixed-Parameter Algorithms](https://www.youtube.com/watch?v=4q-jmGrmxKs&index=25&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp)
- [@video@Lecture 23: Computational Complexity](https://www.youtube.com/watch?v=moPtwq_cVH8&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=24)
- [@video@Greedy Algs. II & Intro to NP Completeness](https://youtu.be/qcGnJ47Smlo?list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&t=2939)
- [@video@NP Completeness II & Reductions](https://www.youtube.com/watch?v=e0tGC6ZQdQE&index=16&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm)
- [@video@NP Completeness III](https://www.youtube.com/watch?v=fCX1BGT3wjE&index=17&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm)
- [@video@NP Completeness IV](https://www.youtube.com/watch?v=NKLDp3Rch3M&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&index=18)

@ -4,5 +4,6 @@ CPU Interrupts are a way for the CPU to communicate with the rest of the compute
Visit the following resources to learn more:
- [@article@System Interrupts 100% CPU](https://www.wikihow.com/System-Interrupts-100-Cpu)
- [@video@Interrupts](https://youtu.be/iKlAWIKEyuw)
- [@feed@Explore top posts about Computing](https://app.daily.dev/tags/computing?ref=roadmapsh)

@ -4,6 +4,6 @@ Depth first search is a graph traversal algorithm that starts at a root node and
Visit the following resources to learn more:
- [@video@BFS and DFS in a Binary Tree](https://www.youtube.com/watch?v=uWL6FJhq5fM)
- [@article@Breadth-First Search (BFS) and Depth-First Search (DFS) for Binary Trees in Java](https://www.digitalocean.com/community/tutorials/breadth-first-search-depth-first-search-bfs-dfs)
- [@video@BFS and DFS in a Binary Tree](https://www.youtube.com/watch?v=uWL6FJhq5fM)
- [@video@Depth First Search in 4 Minutes](https://www.youtube.com/watch?v=Urx87-NMm6c)

@ -4,7 +4,7 @@ Design patterns are solutions to common problems in software design. They are fo
Visit the following resources to learn more:
- [@article@Design Patterns - Wikipedia](https://en.wikipedia.org/wiki/Software_design_pattern)
- [@article@Design Patterns](https://en.wikipedia.org/wiki/Software_design_pattern)
- [@opensource@Design Patterns for Humans](https://github.com/kamranahmedse/design-patterns-for-humans)
- [@article@Refactoring Guru - Design Patterns](https://refactoring.guru/design-patterns/)
- [@feed@Explore top posts about Design Patterns](https://app.daily.dev/tags/design-patterns?ref=roadmapsh)

@ -24,3 +24,8 @@ def generate_permutations(s):
return permutations
```
Visit the following resources to learn more:
- [@article@Big O Cheat Sheet - Time Complexity Chart](https://www.freecodecamp.org/news/big-o-cheat-sheet-time-complexity-chart/)
- [@video@Factorial Explained](https://www.youtube.com/watch?v=pxh__ugRKz8)

@ -4,6 +4,6 @@ Ford Fulkerson Algorithm is a greedy algorithm that is used to find the maximum
Visit the following resources to learn more:
- [@video@Ford-Fulkerson in 5 minutes](https://www.youtube.com/watch?v=Tl90tNtKvxs)
- [@article@Ford-Fulkerson Algorithm](https://www.programiz.com/dsa/ford-fulkerson-algorithm)
- [@video@Ford-Fulkerson in 5 minutes](https://www.youtube.com/watch?v=Tl90tNtKvxs)
- [@feed@Explore top posts about Data Science](https://app.daily.dev/tags/data-science?ref=roadmapsh)

@ -8,7 +8,7 @@ Visit the following resources to learn more:
- [@official@A Tour of Go – Go Basics](https://go.dev/tour/welcome/1)
- [@official@Go Reference Documentation](https://go.dev/doc/)
- [@article@Go by Example - annotated example programs](https://gobyexample.com/)
- [@article@W3Schools Go Tutorial ](https://www.w3schools.com/go/)
- [@article@W3Schools Go Tutorial](https://www.w3schools.com/go/)
- [@article@Making a RESTful JSON API in Go](https://thenewstack.io/make-a-restful-json-api-go/)
- [@article@Go, the Programming Language of the Cloud](https://thenewstack.io/go-the-programming-language-of-the-cloud/)
- [@feed@Explore top posts about Golang](https://app.daily.dev/tags/golang?ref=roadmapsh)

@ -5,5 +5,7 @@ GraphQL is a query language for APIs and a runtime for fulfilling those queries
Visit the following resources to learn more:
- [@roadmap@Visit Dedicated GraphQL Roadmap](https://roadmap.sh/graphql)
- [@official@GraphQL](https://graphql.org/)
- [@official@GraphQL Documentation](https://graphql.org/learn/)
- [@article@Apollo GraphQL Tutorials](https://www.apollographql.com/tutorials/)
- [@feed@Explore top posts about GraphQL](https://app.daily.dev/tags/graphql?ref=roadmapsh)

@ -4,12 +4,9 @@ Hash Table, Map, HashMap, Dictionary or Associative are all the names of the sam
Visit the following resources to learn more:
- [@article@Hash Tables - Princeton University](https://algs4.cs.princeton.edu/34hash/)
- [@video@Hash Table | Illustrated Data Structures](https://www.youtube.com/watch?v=jalSiaIi8j4)
- [@video@Hash Table in 4 Minutes](https://youtu.be/knV86FlSXJ8)
- [@video@Hashing with Chaining](https://www.youtube.com/watch?v=0M_kIqhwbFo&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=9)
- [@video@Table Doubling, Karp-Rabin](https://www.youtube.com/watch?v=BRO7mVIFt08&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=10)
- [@video@Open Addressing, Cryptographic Hashing](https://www.youtube.com/watch?v=rvdJDijO2Ro&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=11)
- [@video@PyCon 2010: The Mighty Dictionary](https://www.youtube.com/watch?v=C4Kc8xzcA68)
- [@video@PyCon 2017: The Dictionary Even Mightier](https://www.youtube.com/watch?v=66P5FMkWoVU)
- [@video@(Advanced) Randomization: Universal & Perfect Hashing](https://www.youtube.com/watch?v=z0lJ2k0sl1g&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp&index=11)
- [@video@(Advanced) Perfect hashing](https://www.youtube.com/watch?v=N0COwN14gt0&list=PL2B4EEwhKD-NbwZ4ezj7gyc_3yNrojKM9&index=4)

@ -4,6 +4,7 @@ Hashing algorithms are used to generate a unique value for a given input. This v
Visit the following resources to learn more:
- [@article@Hashing Algorithm Overview:](https://www.okta.com/identity-101/hashing-algorithms/)
- [@video@Hashing Algorithms and Security - Computerphile](https://www.youtube.com/watch?v=b4b8ktEV4Bg)
- [@video@Top Hashing Algorithms In Cryptography | MD5 and SHA 256 Algorithms Expalined | Simplilearn](https://www.youtube.com/watch?v=Plp4F3ZfC7A)
- [@video@SHA: Secure Hashing Algorithm - Computerphile](https://www.youtube.com/watch?v=DMtFhACPnTY)

@ -4,7 +4,8 @@ Heap is a tree-based data structure that follows the properties of a complete bi
Visit the following resources to learn more:
- [@article@Heap Data Structure](https://www.programiz.com/dsa/heap-data-structure)
- [@article@CS 61B Lecture 24: Priority Queues](https://archive.org/details/ucberkeley_webcast_yIUFT6AKBGE)
- [@video@Heap | Illustrated Data Structures](https://www.youtube.com/watch?v=F_r0sJ1RqWk)
- [@course@Priority Queue - Introduction](https://www.coursera.org/lecture/data-structures/introduction-2OpTs)
- [@video@Heaps and Heap Sort](https://www.youtube.com/watch?v=B7hVxCmfPtM&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=5)
- [@article@CS 61B Lecture 24: Priority Queues](https://archive.org/details/ucberkeley_webcast_yIUFT6AKBGE)
- [@course@Priority Queue - Introduction](https://www.coursera.org/lecture/data-structures/introduction-2OpTs)

@ -4,4 +4,5 @@ Computers calculate using the binary system, where all data is represented as 0s
Visit the following resources to learn more:
- [@video@How computers calculate - ALU](https://youtu.be/1I5ZMmrOfnA)
- [@article@How Does A Computer Calculate Numbers?](https://www.sciencing.com/computer-calculate-numbers-4705975/)
- [@video@How Computers Calculate - ALU](https://youtu.be/1I5ZMmrOfnA)

@ -4,8 +4,8 @@ Computers are everywhere. They are in our phones, our cars, our homes, and even
Visit the following resources to learn more:
- [@video@How CPU executes a program](https://www.youtube.com/watch?v=XM4lGflQFvA)
- [@video@How computers calculate - ALU](https://youtu.be/1I5ZMmrOfnA)
- [@video@How CPU Executes A Program](https://www.youtube.com/watch?v=XM4lGflQFvA)
- [@video@How Computers Calculate - ALU](https://youtu.be/1I5ZMmrOfnA)
- [@video@Registers and RAM](https://youtu.be/fpnE6UAfbtU)
- [@video@The Central Processing Unit (CPU)](https://youtu.be/FZGugFqdr60)
- [@video@Instructions and Programs](https://youtu.be/zltgXvg6r3k)

@ -4,4 +4,5 @@ In-order traversal is a tree traversal algorithm that visits the left subtree, t
Visit the following resources to learn more:
- [@article@Tree Traversal Techniques](https://www.geeksforgeeks.org/tree-traversals-inorder-preorder-and-postorder/)
- [@video@Tree | Illustrated Data Structures](https://www.youtube.com/watch?v=S2W3SXGPVyU)

@ -4,4 +4,5 @@ An index is a data structure that you build and assign on top of an existing tab
Visit the following resources to learn more:
- [@article@Database Indexes Explained](https://www.essentialsql.com/what-is-a-database-index/)
- [@video@Database Indexing Explained](https://www.youtube.com/watch?v=-qNSXK7s7_w)

@ -4,6 +4,6 @@ Insertion sort is a simple sorting algorithm that builds the final sorted array
Visit the following resources to learn more:
- [@article@Insertion Sort](https://www.programiz.com/dsa/insertion-sort)
- [@video@Insertion Sort — MIT](https://www.youtube.com/watch?v=Kg4bqzAqRBM&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=4)
- [@video@Insertion Sort in 3 Minutes](https://www.youtube.com/watch?v=JU767SDMDvA)
- [@article@Insertion Sort Algorithm](https://www.programiz.com/dsa/insertion-sort)

@ -6,7 +6,7 @@ It was created in 1995 by James Gosling at Sun Microsystems and is one of the mo
Visit the following resources to learn more:
- [@roadmap@Visit Dedicated Java Roadmap](https://roadmap.sh/java)
- [@official@Java Website](https://www.java.com/)
- [@official@Java](https://www.java.com/)
- [@article@W3 Schools Tutorials](https://www.w3schools.com/java/)
- [@video@Java Crash Course](https://www.youtube.com/watch?v=eIrMbAQSU34)
- [@feed@Explore top posts about Java](https://app.daily.dev/tags/java?ref=roadmapsh)

@ -4,4 +4,5 @@ LFU Cache is a data structure that stores key-value pairs. It has a fixed size a
Visit the following resources to learn more:
- [@article@Least Frequently Used (LFU) Cache Implementation](https://www.geeksforgeeks.org/least-frequently-used-lfu-cache-implementation/)
- [@article@1117. Data Structure - LFU Cache](https://jojozhuang.github.io/algorithm/data-structure-lfu-cache/)

@ -4,5 +4,6 @@ Linear algorithms are algorithms that have a runtime that is directly proportion
Visit the following resources to learn more:
- [@article@Linear Search Algorithm](https://www.geeksforgeeks.org/linear-search/)
- [@video@Big O Notation — Calculating Time Complexity](https://www.youtube.com/watch?v=Z0bH0cMY0E8)
- [@video@Big O Notations](https://www.youtube.com/watch?v=V6mKVRU1evU)

@ -4,5 +4,5 @@ Little Endian is a way of storing data in memory. It is the opposite of Big Endi
Visit the following resources to learn more:
- [@video@Big Endian vs Little Endian.mp4](https://www.youtube.com/watch?v=JrNF0KRAlyo)
- [@video@Big Endian vs Little Endian](https://www.youtube.com/watch?v=JrNF0KRAlyo)
- [@video@Endianness Explained With an Egg - Computerphile](https://www.youtube.com/watch?v=NcaiHcBvDR4)

@ -4,5 +4,6 @@ Load balancing is the process of distributing network or application traffic acr
Visit the following resources to learn more:
- [@article@What is Load Balancing? | How load balancers work](https://www.cloudflare.com/learning/performance/what-is-load-balancing/)
- [@video@Load Balancers 101](https://www.youtube.com/watch?v=galcDRNd5Ow)
- [@video@What is Load Balancing?](https://www.youtube.com/watch?v=gGLophKzJs8)

@ -7,9 +7,6 @@ Visit the following resources to learn more:
- [@article@Trying to understand P vs NP vs NP Complete vs NP Hard](https://softwareengineering.stackexchange.com/questions/308178/trying-to-understand-p-vs-np-vs-np-complete-vs-np-hard)
- [@video@Complexity: P, NP, NP-completeness, Reductions](https://www.youtube.com/watch?v=eHZifpgyH_4&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp&index=22)
- [@video@P vs. NP and the Computational Complexity Zoo](https://www.youtube.com/watch?v=YX40hbAHx3s)
- [@video@Complexity: Approximation Algorithms](https://www.youtube.com/watch?v=MEz1J9wY2iM&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp&index=24)
- [@video@Complexity: Fixed-Parameter Algorithms](https://www.youtube.com/watch?v=4q-jmGrmxKs&index=25&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp)
- [@video@Lecture 23: Computational Complexity](https://www.youtube.com/watch?v=moPtwq_cVH8&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=24)
- [@video@Greedy Algs. II & Intro to NP Completeness](https://youtu.be/qcGnJ47Smlo?list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&t=2939)
- [@video@NP Completeness II & Reductions](https://www.youtube.com/watch?v=e0tGC6ZQdQE&index=16&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm)
- [@video@NP Completeness III](https://www.youtube.com/watch?v=fCX1BGT3wjE&index=17&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm)

@ -10,6 +10,3 @@ Visit the following resources to learn more:
- [@video@Complexity: Fixed-Parameter Algorithms](https://www.youtube.com/watch?v=4q-jmGrmxKs&index=25&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp)
- [@video@Lecture 23: Computational Complexity](https://www.youtube.com/watch?v=moPtwq_cVH8&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=24)
- [@video@Greedy Algs. II & Intro to NP Completeness](https://youtu.be/qcGnJ47Smlo?list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&t=2939)
- [@video@NP Completeness II & Reductions](https://www.youtube.com/watch?v=e0tGC6ZQdQE&index=16&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm)
- [@video@NP Completeness III](https://www.youtube.com/watch?v=fCX1BGT3wjE&index=17&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm)
- [@video@NP Completeness IV](https://www.youtube.com/watch?v=NKLDp3Rch3M&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&index=18)

@ -9,6 +9,7 @@ Given below is the list of resources; pick ones relevant to the language of your
Visit the following resources to learn more:
- [@roadmap@Visit Dedicated C++ Roadmap](https://roadmap.sh/cpp)
- [@article@Learn C++ - W3Schools](https://www.w3schools.com/cpp/)
- [@article@Learn C++ - Tutorials Point](https://www.tutorialspoint.com/cplusplus/index.htm)
- [@video@C++ Programming Course - Beginner to Advanced](https://www.youtube.com/watch?v=8jLOx1hD3_o)

@ -4,4 +4,5 @@ Post-order traversal is a type of tree traversal that visits the left subtree, t
Visit the following resources to learn more:
- [@article@Postorder Traversal of Binary Tree](https://www.geeksforgeeks.org/postorder-traversal-of-binary-tree/)
- [@video@Tree | Illustrated Data Structures](https://www.youtube.com/watch?v=S2W3SXGPVyU)

@ -4,6 +4,7 @@ Process forking is a way to create a new process from an existing process. The n
Visit the following resources to learn more:
- [@article@Fork System Call in Operating System](https://www.geeksforgeeks.org/fork-system-call-in-operating-system/)
- [@video@Understanding fork() system call for new process creation](https://www.youtube.com/watch?v=PwxTbksJ2fo)
- [@video@fork() and exec() System Calls](https://www.youtube.com/watch?v=IFEFVXvjiHY)
- [@video@The fork() function in C](https://www.youtube.com/watch?v=cex9XrZCU14)

@ -4,5 +4,5 @@ A proxy server is an intermediary piece of hardware/software sitting between the
Visit the following resources to learn more:
- [@article@Proxy - System Design](https://dev.to/karanpratapsingh/system-design-the-complete-course-10fo#proxy)
- [@roadmap.sh@Proxy Servers](https://roadmap.sh/guides/proxy-servers)
- [@article@Proxy - System Design](https://dev.to/karanpratapsingh/system-design-the-complete-course-10fo#proxy)

@ -4,7 +4,7 @@ Queue is a linear collection of items where items are inserted and removed in a
Visit the following resources to learn more:
- [@article@Circular Buffer - Wikipedia](https://en.wikipedia.org/wiki/Circular_buffer)
- [@video@Queue Data Structure | Illustrated Data Structures](https://www.youtube.com/watch?v=mDCi1lXd9hc)
- [@video@Queue in 3 Minutes](https://www.youtube.com/watch?v=D6gu-_tmEpQ)
- [@course@Queues - Coursera](https://www.coursera.org/lecture/data-structures/queues-EShpq)
- [@article@Circular Buffer - Wikipedia](https://en.wikipedia.org/wiki/Circular_buffer)

@ -5,8 +5,8 @@
Registers are the high-speed accessible storage elements. The processor accesses the registers within one CPU clock cycle. The processor can decode the instructions and perform operations on the register contents at more than one operation per CPU clock cycle.
**_Memory_** is a hardware device that stores computer programs, instructions, and data. The memory that is internal to the processor is primary memory (RAM), and the memory that is external to the processor is secondary (**Hard Drive**).
Primary memory or RAM is a volatile memory, meaning the primary memory data exist when the system's power is on, and the data vanishes as the system is switched off. The primary memory contains the data required by the currently executing program in the CPU. If the data required by the processor is not in primary memory, then the data is transferred from secondary storage to primary memory, and then it is fetched by the processor.
Visit the following resources to learn more:
- [@article@RAM vs. Registers - What's the Difference?](https://thisvsthat.io/ram-vs-registers)
- [@video@Registers and RAM](https://youtu.be/fpnE6UAfbtU)

@ -5,8 +5,8 @@ Rust is a modern systems programming language focusing on safety, speed, and con
Visit the following resources to learn more:
- [@roadmap@Visit Dedicated Rust Roadmap](https://roadmap.sh/rust)
- [@article@The Rust Programming Language - online book](https://doc.rust-lang.org/book/)
- [@article@Rust by Example - collection of runnable examples](https://doc.rust-lang.org/stable/rust-by-example/index.html)
- [@official@The Rust Programming Language - online book](https://doc.rust-lang.org/book/)
- [@official@Rust by Example - collection of runnable examples](https://doc.rust-lang.org/stable/rust-by-example/index.html)
- [@article@Rust vs. Go: Why They’re Better Together](https://thenewstack.io/rust-vs-go-why-theyre-better-together/)
- [@article@Rust by the Numbers: The Rust Programming Language in 2021](https://thenewstack.io/rust-by-the-numbers-the-rust-programming-language-in-2021/)
- [@feed@Explore top posts about Rust](https://app.daily.dev/tags/rust?ref=roadmapsh)

@ -13,3 +13,7 @@ Here is the list of some of the most commonly used scheduling algorithms:
- **Multi-level Feedback Queue Scheduling:** The processes are divided into different queues based on their priority. The process with the highest priority is allocated the CPU first. If a process is preempted, it is moved to the next queue. It is a preemptive algorithm.
- **Highest Response Ratio Next(HRRN):** CPU is allotted to the next process which has the highest response ratio and not to the process having less burst time. It is a Non-Preemptive algorithm.
- **Lottery Scheduling:** The process is allocated the CPU based on a lottery system. It is a preemptive algorithm.
Visit the following resources to learn more:
- [@article@CPU Scheduling in Operating System](https://www.scaler.com/topics/operating-system/cpu-scheduling/)

@ -4,4 +4,5 @@ Searching pattern in text is a very common task in computer science. It is used
Visit the following resources to learn more:
- [@article@Pattern Searching](https://www.geeksforgeeks.org/pattern-searching/)
- [@course@Search Pattern in Text](https://www.coursera.org/learn/data-structures/lecture/tAfHI/search-pattern-in-text)

@ -4,5 +4,6 @@ Selection sort is a sorting algorithm that selects the smallest unsorted item in
Visit the following resources to learn more:
- [@article@Selection Sort](https://en.wikipedia.org/wiki/Selection_sort)
- [@video@Selection Sort in 3 Minutes](https://www.youtube.com/watch?v=g-PGLbMth_g)
- [@course@Selection Sort](https://www.coursera.org/lecture/algorithms-part1/selection-UQxFT)

@ -4,5 +4,5 @@ Skip lists are a data structure that allows you to perform operations on a sorte
Visit the following resources to learn more:
- [@article@Skip Lists](https://en.wikipedia.org/wiki/Skip_list)
- [@video@Randomization: Skip Lists](https://www.youtube.com/watch?v=2g9OSRKJuzM&index=10&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp)
- [@article@Skip Lists - Wikipedia](https://en.wikipedia.org/wiki/Skip_list)

@ -4,4 +4,4 @@ String search and manipulation is a very important topic in computer science. It
Visit the following resources to learn more:
- [@article@String-searching algorithm](https://en.wikipedia.org/wiki/String-searching_algorithm)
- [@article@String-searching Algorithm](https://en.wikipedia.org/wiki/String-searching_algorithm)

@ -4,7 +4,8 @@ Suffix arrays are a data structure that allows us to quickly find all the suffix
Visit the following resources to learn more:
- [@video@Suffix array introduction](https://www.youtube.com/watch?v=zqKlL3ZpTqs)
- [@article@Suffix Arrays - Princeton University](https://algs4.cs.princeton.edu/63suffix/)
- [@video@Suffix Array Introduction](https://www.youtube.com/watch?v=zqKlL3ZpTqs)
- [@video@Advanced Data Structures: Suffix Arrays](https://www.youtube.com/watch?v=IzMxbboPcqQ)
- [@video@Suffix arrays: building](https://www.youtube.com/watch?v=ZWlbhBjjwyA)
- [@video@Suffix Arrays: building](https://www.youtube.com/watch?v=ZWlbhBjjwyA)
- [@course@Suffix Arrays - Coursera](https://www.coursera.org/learn/algorithms-part2/lecture/TH18W/suffix-arrays)

@ -5,8 +5,8 @@ System design is the process of defining the architecture, modules, interfaces,
Visit the following resources to learn more:
- [@opensource@System Design Primer](https://github.com/donnemartin/system-design-primer)
- [@article@System Design: The complete course](https://dev.to/karanpratapsingh/system-design-the-complete-course-10fo)
- [@article@System Design: The Complete Course](https://dev.to/karanpratapsingh/system-design-the-complete-course-10fo)
- [@video@System Design 101](https://www.youtube.com/watch?v=Y-Gl4HEyeUQ)
- [@video@Scaling the Unscalable](https://www.youtube.com/watch?v=a2rcgzludDU)
- [@video@System design interview: Scale to 1 million users](https://www.youtube.com/watch?v=YkGHxOg9d3M)
- [@video@System Design interview: Scale to 1 million users](https://www.youtube.com/watch?v=YkGHxOg9d3M)
- [@feed@Explore top posts about Career](https://app.daily.dev/tags/career?ref=roadmapsh)

@ -5,5 +5,5 @@ Knight's Tour Problem is a problem where we have to find a path for a knight to
Visit the following resources to learn more:
- [@article@Knights Tour](https://bradfieldcs.com/algos/graphs/knights-tour/)
- [@article@Knights Tour Proble](https://www.codesdope.com/course/algorithms-knights-tour-problem/)
- [@article@Knights Tour Problem](https://www.codesdope.com/course/algorithms-knights-tour-problem/)
- [@article@Backtracking: The Knight’s Tour Problem](https://www.codingninjas.com/codestudio/library/backtracking-the-knights-tour-problem)

@ -4,5 +4,7 @@ TLS (Transport Layer Security) is a cryptographic protocol that provides privacy
Visit the following resources to learn more:
- [@article@What is TLS & How Does it Work? - Internet Society](https://www.internetsociety.org/deploy360/tls/basics/)
- [@article@What is TLS (Transport Layer Security)? - Cloudflare](https://www.cloudflare.com/learning/ssl/transport-layer-security-tls/)
- [@video@SSL and HTTPS](https://www.youtube.com/watch?v=S2iBR2ZlZf0)
- [@video@SSL/TLS - Cristina Formaini](https://www.youtube.com/watch?v=Rp3iZUvXWlM)

@ -5,3 +5,4 @@ In short, a database transaction is a sequence of multiple operations performed
Visit the following resources to learn more:
- [@article@What are Transactions?](https://fauna.com/blog/database-transaction)
- [@article@Database Transaction](https://en.wikipedia.org/wiki/Database_transaction)

@ -4,6 +4,7 @@ The Travelling Salesman Problem (TSP) is a classic problem in computer science.
Visit the following resources to learn more:
- [@article@Traveling Salesman Problem](https://en.wikipedia.org/wiki/Travelling_salesman_problem)
- [@video@What is the Traveling Salesman Problem?](https://www.youtube.com/watch?v=1pmBjIZ20pE)
- [@video@4.7 Traveling Salesperson Problem - Dynamic Programming](https://www.youtube.com/watch?v=XaXsJJh-Q5Y)
- [@video@Traveling Salesman Problem | Dynamic Programming | Graph Theory](https://www.youtube.com/watch?v=cY4HiiFHO1o)

@ -4,4 +4,5 @@ A tree is non-linear and a hierarchical data structure consisting of a collectio
Visit the following resources to learn more:
- [@article@Tree Data Structure](https://www.programiz.com/dsa/trees)
- [@video@Tree | Illustrated Data Structures](https://www.youtube.com/watch?v=S2W3SXGPVyU)

@ -4,4 +4,5 @@ An unbalanced binary tree is one that is not balanced.
Visit the following resources to learn more:
- [@article@Balanced Binary Tree](https://www.programiz.com/dsa/balanced-binary-tree)
- [@article@Balanced vs Unbalanced Binary Tree](https://stackoverflow.com/questions/59206128/balanced-vs-unbalanced-binary-tree-clarification-needed)
- [@article@Unbalanced Binary Tree](https://eng.libretexts.org/Bookshelves/Computer_Science/Databases_and_Data_Structures/Open_Data_Structures_-_An_Introduction_(Morin)/06%3A_Binary_Trees/6.02%3A_BinarySearchTree_-_An_Unbalanced_Binary_Search_Treee)

Loading…
Cancel
Save