{"id":21307653,"url":"https://github.com/jdegand/javascript_computer_science_exercises","last_synced_at":"2025-10-25T11:38:21.313Z","repository":{"id":110668656,"uuid":"577462675","full_name":"jdegand/javascript_computer_science_exercises","owner":"jdegand","description":"My solutions to rithmschool repo of the same name","archived":false,"fork":false,"pushed_at":"2022-12-12T19:49:38.000Z","size":158,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-22T09:13:19.399Z","etag":null,"topics":["computer-science","javascript"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jdegand.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-12-12T19:47:17.000Z","updated_at":"2023-04-07T02:32:25.000Z","dependencies_parsed_at":null,"dependency_job_id":"1ad522e4-a291-4926-bce9-aa436b3acdde","html_url":"https://github.com/jdegand/javascript_computer_science_exercises","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jdegand%2Fjavascript_computer_science_exercises","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jdegand%2Fjavascript_computer_science_exercises/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jdegand%2Fjavascript_computer_science_exercises/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jdegand%2Fjavascript_computer_science_exercises/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jdegand","download_url":"https://codeload.github.com/jdegand/javascript_computer_science_exercises/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243785089,"owners_count":20347409,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["computer-science","javascript"],"created_at":"2024-11-21T16:33:24.907Z","updated_at":"2025-10-25T11:38:21.214Z","avatar_url":"https://github.com/jdegand.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# [JavaScript Computer Science Exercises](https://github.com/rithmschool/javascript_computer_science_exercises)\n\n- [Recursion Exercise](./recursion_exercise)\n- [Searching Algorithms Exercises](./searching_algorithms_exercise)\n- [Sorting Algorithms Exercises](./sorting_algorithms_exercise)\n- [Singly Linked Lists Exercises](./singly_linked_lists_exercise)\n- [Doubly Linked Lists Exercises](./doubly_linked_lists_exercise)\n- [Stacks Exercises](./stacks_exercise)\n- [Queues Exercises](./queues_exercise)\n- [Binary Search Trees Exercises](./binary_search_trees_exercise)\n- [Binary Heaps Exercises](./binary_heaps_exercise)\n- [Hash Tables Exercises](./hash_tables_exercise)\n- [Graphs Exercises](./graphs_exercise)\n\n## Useful Resources\n\n- [Dev.to](https://dev.to/alisabaj/searching-through-a-nested-object-using-recursion-regular-expressions-and-sets-bm7) - object recursion\n- [Programiz](https://www.programiz.com/javascript/recursion) - recursion\n- [Stack Overflow](https://stackoverflow.com/questions/63699589/can-i-use-additional-parameters-in-recursion-problems) - additional parameters in recursion problems\n- [Stack Overflow](https://stackoverflow.com/questions/15690706/recursively-looping-through-an-object-to-build-a-property-list) - recursively looping through an object to build a propert list\n- [YouTube](https://www.youtube.com/watch?v=pnPeVzZ2Dbo) - object recursion\n- [YouTube](https://www.youtube.com/watch?v=V7MqysFeTlg) - check if value exists in an array - iterative vs recursive \n- [Stack Overflow](https://stackoverflow.com/questions/63642910/return-correct-value-from-recursive-indexof) - recursive indexof\n- [TutsPlus](https://code.tutsplus.com/articles/the-best-way-to-deep-copy-an-object-in-javascript--cms-39655) - best way to deep copy an object\n- [Medium](https://medium.com/swlh/how-to-write-an-iterative-binary-search-algorithm-in-javascript-4feddd8566b) - iterative binary search\n- [Flexiple](https://flexiple.com/javascript/bubble-sort-javascript/) - bubble sort\n- [Stack Abuse](https://stackabuse.com/selection-sort-in-javascript/) - selection sort\n- [Stack Abuse](https://stackabuse.com/insertion-sort-in-javascript/) - insertion sort\n- [Guru99](https://www.guru99.com/quicksort-in-javascript.html) - quick sort\n- [W3 Resource](https://www.w3resource.com/javascript-exercises/searching-and-sorting-algorithm/searching-and-sorting-algorithm-exercise-1.php) - quick sort\n- [Doable Danny](https://www.doabledanny.com/quick-sort-in-javascript#4) - quick sort\n- [YouTube](https://www.youtube.com/watch?v=P6XGSKO2RzI) - quick sort implementation\n- [Stack Overflow](https://stackoverflow.com/questions/5915096/get-a-random-item-from-a-javascript-array) - random item from array\n- [Geeks for Geeks](https://www.geeksforgeeks.org/quicksort-using-random-pivoting/) - quick sort with random pivoting\n- [YouTube](https://www.youtube.com/watch?v=S1qHWjP1hb0) - simple quick sort\n- [Replit](https://replit.com/@Codevolution/JavaScript-Data-Structures#index.js?utm_source=YouTube\u0026amp;utm_medium=influencer_ads\u0026amp;utm_campaign=YT_SEO\u0026amp;utm_term=\u0026amp;utm_content=Code_Evolution) - Codevolution Data Structures\n- [Stack Overflow](https://stackoverflow.com/questions/71656068/inserting-element-into-specific-index-in-a-linked-list-javascript) - linked list insertion\n- [Blog](https://blog.devgenius.io/javascript-linked-lists-remove-or-insert-node-with-provided-index-4b4b5469bab4) - linked lists remove/insert\n- [YouTube](https://www.youtube.com/watch?v=f9SKov7K8Ic\u0026list=PLeLwVYBodOL3tc2vdCQWhJ28iLyabQ063) - Linked List \u0026 Doubly Linked List \n- [Coding Ninjas](https://www.codingninjas.com/codestudio/library/insert-a-node-in-binary-search-tree-iteratively) - iteratively insert a node in bst\n- [Geeks for Geeks](https://www.geeksforgeeks.org/insert-a-node-in-binary-search-tree-iteratively/) - iteratively insert a node in bst\n- [YouTube](https://www.youtube.com/watch?v=DpFSbak0Fvw) - bst insert iterative\n- [Stack Overflow](https://stackoverflow.com/questions/68053063/javascript-pushing-binary-tree-values-into-an-array-using-the-recursion-method) - recursion with bst\n- [Stack Overflow](https://stackoverflow.com/questions/39054253/display-binary-search-tree-traversal-on-javascript-recursive-way) - bst traversal w/ recursion\n- [Stack Overflow](https://stackoverflow.com/questions/68053063/javascript-pushing-binary-tree-values-into-an-array-using-the-recursion-method) - pushing bst values into an array using recursion \n- [YouTube](https://www.youtube.com/watch?v=dM_JHpfFITs) - binary heap\n- [Eloquent JavaScript](https://eloquentjavascript.net/1st_edition/appendix2.html) - binary heaps\n- [Blog](https://blog.devgenius.io/how-to-implement-a-binary-heap-javascript-d3a0c54112fa) - binary heap\n- [Blog](https://javascript.plainenglish.io/how-to-create-a-binary-heap-in-javascript-e1e6f6446ff9) - binary heap\n- [Geeks for Geeks](https://www.geeksforgeeks.org/how-to-check-if-a-given-array-represents-a-binary-heap/) - check if a given array is a binary heap\n- [Educative](https://www.educative.io/answers/how-to-build-a-heap-from-an-array) - build a heap from an array\n- [Geeks for Geeks](https://www.geeksforgeeks.org/building-heap-from-array/) - build a heap from an array\n- [Stack Abuse](https://stackabuse.com/how-to-check-if-key-exists-in-javascript-object-array/) - check if key exists in an object array\n- [log2base2](https://www.log2base2.com/algorithms/searching/linear-probing-hash-table.html) - linear probing\n- [Jared Nielsen](https://jarednielsen.com/data-structure-hash-table-linear-probing/) - linear probing\n- [TutorialsPoint](https://www.tutorialspoint.com/Breadth-first-search-traversal-in-Javascript) - breadth first search graph\n- [TutorialsPoint](https://www.tutorialspoint.com/Depth-first-search-traversal-in-Javascript) - depth first search\n- [Blog](https://levelup.gitconnected.com/finding-the-shortest-path-in-javascript-dijkstras-algorithm-8d16451eea34) - dijkstra\n- [Github](https://github.com/CrazyReborn/hamilton-canvas) - Algorithm Visualizer JS\n- [AlgoDaily](https://algodaily.com/lessons/an-illustrated-guide-to-dijkstras-algorithm/javascript) - illustrated guide to dijkstra\n- [FreeCodeCamp](https://www.freecodecamp.org/news/dijkstras-shortest-path-algorithm-visual-introduction/) - intro to dijkstra\n- [Github](https://gist.github.com/Prottoy2938/66849e04b0bac459606059f5f9f3aa1a) - dijkstra gist\n- [Blog](https://www.ofcodeandcolor.com/2016/05/08/graph-search-in-javascript/) - graph search\n- [HackerNoon](https://hackernoon.com/how-to-implement-dijkstras-algorithm-in-javascript-abdfd1702d04) - dijkstra\n- [Codepen](https://codepen.io/jei/pen/JjPRLjV) - a*\n- [Algorithms and Techologies](https://www.algorithms-and-technologies.com/dijkstra/javascript) - adjacency matrix dijkstra\n- [Dev.to](https://dev.to/maikomiyazaki/completed-javascript-data-structure-course-and-here-is-what-i-learned-about-graph-dijkstra-algorithm-57n8) - dijkstra\n- [Code Underscored](https://www.codeunderscored.com/dijkstras-algorithm-in-javascript/) - dijkstra\n- [Medium](https://medium.com/swlh/simplifying-big-o-expressions-4f7c6059d3d5) - Simplifying big o expessions","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjdegand%2Fjavascript_computer_science_exercises","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjdegand%2Fjavascript_computer_science_exercises","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjdegand%2Fjavascript_computer_science_exercises/lists"}