# Algorithms

Quote

An algorithm must be seen to be believed © Donald Knuth

# Buzzwords

Complexity Analysis Linked List Queue Priority Queue Stack Heap Binary Search Tree Trie AVL Tree Red-Black Tree B-Tree Hash Table Bloom filter Set Quicksort Merge Sort Depth First Search Bredth First Search Dijkstra's Algorithm Greedy Algorithms Dynamic Programming Two Pointers Backtracking

# Data Structures

We should know how to treat the most precious resource we have - data

The problem is, data can be used in different ways. For example, consider an array of numbers:

  • You might need to access it sequentially, or you should be able to compare pairs of numbers
  • You might have limited memory or limited computing power, or both
  • What happens if you need to add items from your array?
  • What happens if you need to remove items from your array?

Data Structures will teach you how to satisfy your requirements

# Algorithms

Ok, now we can access the data efficiently. Time to process it. Algorithms teach us how to process data to get the desired results

# Complexity Analysis

Every data structure and every algorithm have their strengths and weaknesses

You can utilize Big-O notation - mathematical way of describing performance of data structures and algorithms

# Whiteboard Coding

Very common practice on coding interviews these days. The task is to solve a programming problem using a whiteboard instead of an IDE

# Books

# Websites

Last Updated: 1/16/2021, 12:58:12 PM