notes/algorithms
DataStructure
List
ArrayList & LinkedList Vectior & ArrayLists Use Array implement ArrayList.
Set
TreeSet & HashSet HashMap & HashSet
Map
Collision resolution: Separate chainning/Linear Probing HashMap 原理 HashMap vs TreeMap HashMap vs HashTable HashMap vs ConcurrentHashMap Vs. SynchronizedMap LinkedHashMap
Array
Array 的基本操作. push, pop, shift
Stack
Recursion DFS
Queue
FIFO / PriorityQueue BFS Deque: Arraydeque/ Linkedlist Blockingqueue
Sort
bubble sort/ Selection sort/ insert sort (n^2) mergesort/quicksort/heapsort (nlogn)
heap
PriorityQueue Comparator vs Comparable ?
Tree
Binaray Tree k 叉树 B 树 / B+树 Trie Tree
Algorithm
Coding In-order/Pre-order/Post-order traversal of binary tree Binaray Search Sort Greedy Breadth-first search Depth-first search Divide and Conquer Dynamic Programming Graph
Bloom Filters
布隆过滤器。
Leetcode
树
二叉树的数组表示
一些经典问题
- N-Queens Problems
图
BFS
BFS 算法可以通过队列来实现,queue 用来存储当前需要遍历的节点。
每次取出队列的第一个元素,然后将新的元素加入队尾。