Algorithms, Data Structures and Design Patterns in Typescript.
Design Patterns
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
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)