
The Fundamental Of Coding Interview Question part 1 (Javascript)
Posted on
Arrays and Strings
- if the order is not important, then the hash table might be a good candidate to reduce the time complexity.
- be familiar with all the methods for arrays and strings.
Linked Lists
- What is a SIngly Linked List and a Doubly Linked List?
- How to implement a Linked List structure?
- How to delete a node from a single Linked List?
- How to reverse a Linked List?
- The runner and dummy head techniques. Sometimes, it's possible to use more two-pointers.
- be familiar with using recursion.
Stacks And Queues
- How to implement a Stack structure.
- How to implement a Queue structure.
- Queues are generally being used at a breadth-first search algorithm or implementing a cache.
Trees And Graphs
- The difference between Trees and Binary Trees.
- The difference between Binary Tree and Binary Search Tree.
- The difference between Balanced Tree and Unbalanced Tree.
- What's the definition of Complete Binary Trees, Full Binary Trees, Perfect Binary Trees.
- Three ways to traverse a Binary Tree: In-Order, Pre-Order, and Post-Order, what's the difference?
- Binary Heaps: the definition of Min-Heaps and Max-Heaps.
- What's Tries, where will this data structure be used commonly?
- What is a Graph?
- Common ways to search a graph: breadth-first search and depth-first search. There's also a search method call Bidirectional Search, what's it?