{"id":16182288,"url":"https://github.com/avraammavridis/algorithms-data-structures-in-typescript","last_synced_at":"2025-04-06T13:10:52.394Z","repository":{"id":55457233,"uuid":"94604424","full_name":"AvraamMavridis/Algorithms-Data-Structures-in-Typescript","owner":"AvraamMavridis","description":null,"archived":false,"fork":false,"pushed_at":"2020-12-29T15:30:26.000Z","size":1178,"stargazers_count":339,"open_issues_count":0,"forks_count":78,"subscribers_count":16,"default_branch":"master","last_synced_at":"2025-03-30T06:02:07.515Z","etag":null,"topics":["algorithms","data-structures","design-patterns","exercises","javascript","questions","typescript"],"latest_commit_sha":null,"homepage":null,"language":null,"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/AvraamMavridis.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}},"created_at":"2017-06-17T06:08:39.000Z","updated_at":"2025-02-07T11:42:37.000Z","dependencies_parsed_at":"2022-08-15T00:40:38.917Z","dependency_job_id":null,"html_url":"https://github.com/AvraamMavridis/Algorithms-Data-Structures-in-Typescript","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/AvraamMavridis%2FAlgorithms-Data-Structures-in-Typescript","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AvraamMavridis%2FAlgorithms-Data-Structures-in-Typescript/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AvraamMavridis%2FAlgorithms-Data-Structures-in-Typescript/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AvraamMavridis%2FAlgorithms-Data-Structures-in-Typescript/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AvraamMavridis","download_url":"https://codeload.github.com/AvraamMavridis/Algorithms-Data-Structures-in-Typescript/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247485287,"owners_count":20946398,"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":["algorithms","data-structures","design-patterns","exercises","javascript","questions","typescript"],"created_at":"2024-10-10T06:30:01.997Z","updated_at":"2025-04-06T13:10:52.373Z","avatar_url":"https://github.com/AvraamMavridis.png","language":null,"readme":"# Algorithms, Data Structures and Design Patterns in Typescript.\n\n### Design Patterns\n\n- [Singleton](patterns/Singleton.md)\n- [Factory](patterns/Factory.md)\n- [Builder](patterns/Builder.md)\n\n### Algorithms \u0026 Data Structures\n\n- [Binary Tree](algorithms/binarytree.md)\n- [Insertion Sort](algorithms/insertionSort.md)\n- [Selection Sort](algorithms/selectionSort.md)\n- [Merge Sort](algorithms/mergeSort.md)\n- [Count Sort](algorithms/countSort.md)\n- [Quick Sort](algorithms/quickSort.md) and [Quick Sort using TypeScript Generics](algorithms/quickSort_generic.md)\n- [Radix Sort](algorithms/radixSort.md)\n- [BFS - DFS](algorithms/bfs-dfs.md)\n- [Tree Traversals: In-Order, Pre-Order, Post-Order](algorithms/tree_traversal.md)\n\n### Questions\n\n- [Questions](questions.md)\n\n### Exercises\n\n- [1. Apple stocks](exercises/exercise1.md)\n- [2. Simple range](exercises/exercise2.md)\n- [3. String paths to object](exercises/exercise3.md)\n- [4. Max difference](exercises/exercise4.md)\n- [5. Deep Assignment](exercises/exercise5.md)\n- [6. Ranking Poker Hands](exercises/exercise6.md)\n- [7. Identical Node in symetrical DOM trees](exercises/exercise7.md)\n- [8. Implement debounce](exercises/exercise8.md)\n- [9. How many are smaller than me?](exercises/exercise9.md)\n- [10. Unique chars](exercises/exercise10.md)\n- [11. String permutation check](exercises/exercise11.md)\n- [12. Compress string](exercises/exercise12.md)\n- [13. MxN matrix transform](exercises/exercise13.md)\n- [14. Remove duplicates from linked list](exercises/exercise14.md)\n- [15. Partition a linked list](exercises/exercise15.md)\n- [16. Sum numbers of two linked lists and create a new one](exercises/exercise16.md)\n- [17. Stack with push, pop, getMin that have complexity 0(1)](exercises/exercise17.md)\n- [18. Set of stacks](exercises/exercise18.md)\n- [19. Queue using two Stacks](exercises/exercise19.md)\n- [20. Sorted Stack](exercises/exercise20.md)\n- [21. Animal Shelter Queue](exercises/exercise21.md)\n- [22. Balanced Tree](exercises/exercise22.md)\n- [23. Numbers with a Given Sum](exercises/exercise23.md)\n- [24. Exponential](exercises/exercise24.md)\n- [25. Palindrome](exercises/exercise25.md)\n- [26. Array Permutation](exercises/exercise26.md)\n- [27. Calendar Conflicts](exercises/exercise27.md)\n- [28. 2D Matrix Search](exercises/exercise28.md)\n- [29. Merge sorted arrays](exercises/exercise29.md)\n- [30. Print a list from its tail to head](exercises/exercise30.md)\n- [31. Move all instances of a value in an array at the end of the array](exercises/exercise31.md)\n- [32. Sort a linked list](exercises/exercise32.md)\n- [33. Circle in linked list](exercises/exercise33.md)\n- [34. Verify that a binary tree is a binary search tree](exercises/exercise34.md)\n- [35. Implement a Stack using two Queues](exercises/exercise35.md)\n- [36. Fibonacci recursive, recursive with memoization, and iterative.](exercises/exercise36.md)\n- [37. Two Stacks with one array](exercises/exercise37.md)\n- [38. Stack using a single linked list](exercises/exercise38.md)\n- [39. Queue using a single linked list](exercises/exercise39.md)\n- [40. Simplify array with prime numbers](exercises/exercise40.md)\n- [41. Find the turning number in an array](exercises/exercise41.md)\n- [42. Find the majority element in an array](exercises/exercise42.md)\n- [43. Robot visits cells in a 2D matrix](exercises/exercise43.md)\n- [44. Find the nth Node in a single linked list traversing the list only once](exercises/exercise44.md)\n- [45. Given a binary tree how will you get its mirrored tree?](exercises/exercise45.md)\n- [46. Check if a tree is symmetrical](exercises/exercise46.md)\n- [47. Print a binary tree by level, from top to down, with each level in a line](exercises/exercise47.md)\n- [48. Height of an arbitrary binary tree](exercises/exercise48.md)\n- [49. Binary Tree to Heap](exercises/exercise49.md)\n- [50. Check if an array can be the post-order traversal of a binary search tree](exercises/exercise50.md)\n- [51. Convert a binary search tree into a sorted double linked list](exercises/exercise51.md)\n- [52. Generate combinations of a given string](exercises/exercise52.md)\n- [53. Smallest possible sum](exercises/exercise53.md)\n- [54. Give an algorithm that returns true if a string contains properly nested and balanced parentheses, and false if otherwise](exercises/exercise54.md)\n- [55. Design a data structure that supports insert(), member(), findSmallest in O(log n)](exercises/exercise55.md)\n- [56. Sort the scores of a game in O(n)](exercises/exercise56.md)\n- [57. Merge two BSTs into a double sorted linked list](exercises/exercise57.md)\n- [58. Bin Manager in O(n log n)](exercises/exercise58.md)\n- [59. Min in a sequence in O(1)](exercises/exercise59.md)\n- [60. Check if two trees are identical](exercises/exercise60.md)\n- [61. Devide and Conquer to calculate the root of a number](exercises/exercise61.md)\n- [62. Partition players in two unfairly teams in O(n log n)](exercises/exercise62.md)\n- [63. Sort tuples in O(n) keeping their relative sorting](exercises/exercise63.md)\n- [64. Find whether there exists a pair of elements, one from S1 and one from S2, that add up to x in O(n)](exercises/exercise64.md)\n- [65. Find the k smallest elements of an unsorted set of n integers in O(n + k log n)](exercises/exercise65.md)\n\n[Various Utils helpful to generate test data](exercises/exerciseUtils.md)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Favraammavridis%2Falgorithms-data-structures-in-typescript","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Favraammavridis%2Falgorithms-data-structures-in-typescript","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Favraammavridis%2Falgorithms-data-structures-in-typescript/lists"}