Algorithms-Data-Structures-in-Typescript icon indicating copy to clipboard operation
Algorithms-Data-Structures-in-Typescript copied to clipboard

Algorithms, Data Structures and Design Patterns in Typescript.

Design Patterns

  • Singleton
  • Factory
  • Builder

Algorithms & Data Structures

  • Binary Tree
  • Insertion Sort
  • Selection Sort
  • Merge Sort
  • Count Sort
  • Quick Sort and Quick Sort using TypeScript Generics
  • Radix Sort
  • BFS - DFS
  • Tree Traversals: In-Order, Pre-Order, Post-Order

Questions

  • Questions

Exercises

  • 1. Apple stocks
  • 2. Simple range
  • 3. String paths to object
  • 4. Max difference
  • 5. Deep Assignment
  • 6. Ranking Poker Hands
  • 7. Identical Node in symetrical DOM trees
  • 8. Implement debounce
  • 9. How many are smaller than me?
  • 10. Unique chars
  • 11. String permutation check
  • 12. Compress string
  • 13. MxN matrix transform
  • 14. Remove duplicates from linked list
  • 15. Partition a linked list
  • 16. Sum numbers of two linked lists and create a new one
  • 17. Stack with push, pop, getMin that have complexity 0(1)
  • 18. Set of stacks
  • 19. Queue using two Stacks
  • 20. Sorted Stack
  • 21. Animal Shelter Queue
  • 22. Balanced Tree
  • 23. Numbers with a Given Sum
  • 24. Exponential
  • 25. Palindrome
  • 26. Array Permutation
  • 27. Calendar Conflicts
  • 28. 2D Matrix Search
  • 29. Merge sorted arrays
  • 30. Print a list from its tail to head
  • 31. Move all instances of a value in an array at the end of the array
  • 32. Sort a linked list
  • 33. Circle in linked list
  • 34. Verify that a binary tree is a binary search tree
  • 35. Implement a Stack using two Queues
  • 36. Fibonacci recursive, recursive with memoization, and iterative.
  • 37. Two Stacks with one array
  • 38. Stack using a single linked list
  • 39. Queue using a single linked list
  • 40. Simplify array with prime numbers
  • 41. Find the turning number in an array
  • 42. Find the majority element in an array
  • 43. Robot visits cells in a 2D matrix
  • 44. Find the nth Node in a single linked list traversing the list only once
  • 45. Given a binary tree how will you get its mirrored tree?
  • 46. Check if a tree is symmetrical
  • 47. Print a binary tree by level, from top to down, with each level in a line
  • 48. Height of an arbitrary binary tree
  • 49. Binary Tree to Heap
  • 50. Check if an array can be the post-order traversal of a binary search tree
  • 51. Convert a binary search tree into a sorted double linked list
  • 52. Generate combinations of a given string
  • 53. Smallest possible sum
  • 54. Give an algorithm that returns true if a string contains properly nested and balanced parentheses, and false if otherwise
  • 55. Design a data structure that supports insert(), member(), findSmallest in O(log n)
  • 56. Sort the scores of a game in O(n)
  • 57. Merge two BSTs into a double sorted linked list
  • 58. Bin Manager in O(n log n)
  • 59. Min in a sequence in O(1)
  • 60. Check if two trees are identical
  • 61. Devide and Conquer to calculate the root of a number
  • 62. Partition players in two unfairly teams in O(n log n)
  • 63. Sort tuples in O(n) keeping their relative sorting
  • 64. Find whether there exists a pair of elements, one from S1 and one from S2, that add up to x in O(n)
  • 65. Find the k smallest elements of an unsorted set of n integers in O(n + k log n)

Various Utils helpful to generate test data