Algorithm
zjfzjf2012
这个作者很懒,什么都没留下…
展开
-
AVL tree
self balancing tree, named after their inventors, Adelson-Velskii and Landis. - difference between heights of left node and right node should be less than or equal to one - the height of balanced tr翻译 2017-12-12 15:05:46 · 183 阅读 · 0 评论 -
heap, heap sort, priority queue
- heap backed by array. left node is A[2i], right node is A[2i+1]. parent value is bigger than its children assuming it biggest heap- heap core algorithm: max-heapify(A, i), O(lg(n))- build heap from ...翻译 2018-04-13 10:34:30 · 119 阅读 · 0 评论 -
quick sort
- quick sort,- quick random sort select a index randomly and exchange its value with r, which is end of array.翻译 2018-04-13 10:45:25 · 125 阅读 · 0 评论 -
perfect hashing on static data set
- primary number, p, having all static elements, k, in the data set belongs to [0, p-1]- random number, a, belongs to [1, p-1]- random number, b, belongs to [0, p-1]- output set is in length of mwe ha...原创 2018-04-07 13:42:49 · 178 阅读 · 0 评论 -
graphic
- G = (V, E)- BFS, use FIFO queue to process all adjacent vertices. generate only one tree. it can be used for shortest path (without weight on path) of two vertices.- DFS, process it with start time ...翻译 2018-04-13 12:28:29 · 149 阅读 · 0 评论 -
minimum spanning tree (connect all vertices in undirected graphic)
both are greedy algorithm- kruskal algorithm, O(ElgV)make set for each vertex. set only contains one vertexsort G.E in non-descending order by weight of edge.for each edge(u,v), if they are not in sam...翻译 2018-04-13 16:27:35 · 116 阅读 · 0 评论 -
Map
HashMap get containsKey next o(1) o(1) o(h/n) Map key to array index to get complexity to O(1) (constant time). resize when table size >= threshold (= table size * load fact...原创 2018-04-19 13:52:36 · 189 阅读 · 1 评论 -
B tree vs B+ tree
- B tree (key+data in every node), O(log(d)(n))d is degree of treeh is height of tree, h<= log(d)((n+1)/2)non-leaf node has n-1 key and n pointers, d<=n<=2dheights of each leaf are samenodes...翻译 2018-05-12 19:03:07 · 263 阅读 · 0 评论 -
bloom filter
- space efficient look up for fixed number of static elements. - may have, definitely no haven: number of elementsk: number of hash functions, k = n*ln2/mm: number of bits, >= n*lg(1/E)*lgeE: expec...翻译 2018-05-07 13:07:58 · 122 阅读 · 0 评论 -
greedy algorithm
- optimised sub-problem structure - recursive algorithm - only one sub-problem generated after selection differences between greedy algorithm and dynamic programming - generate different numbe原创 2018-04-12 16:23:14 · 205 阅读 · 0 评论 -
Dynamic Programming
- optimised sub-problem structure - make a selection to generate different sub-problems. choose a optimised selection - overlapped sub-problem - solve sub-problem原创 2018-04-12 16:15:16 · 125 阅读 · 0 评论 -
Biggest Flow
- Residual Graph - Biggest Stream Lowest cut - Ford-Fulkerson, O(E*f) f is value of biggest flow - Edmonds-karp, O(VE^2) used BFS to find the path, p, from the Gf. p is shortest翻译 2018-04-17 19:23:34 · 128 阅读 · 0 评论 -
binary tree traversal
- Preorder traversal root -> left -> right - Inorder traversal left -> root -> right - Postorder traveral left -> right -> root order means root node's order. example preorder翻译 2017-12-17 17:26:20 · 153 阅读 · 0 评论 -
Red Black Tree
self balancing search tree (BST) - every node has a color either black or red - root node is always black - no two adjacent red nodes. red node always have black children if any - the numbers of b翻译 2017-12-11 15:43:15 · 132 阅读 · 0 评论 -
Skip List
Linked Lists Benefits & Drawbacks • Benefits: - Easy to insert & delete in O(1) time - Don’t need to estimate total memory needed • Drawbacks: - Hard to search in less than O(n) time(binary s翻译 2018-01-04 18:02:13 · 198 阅读 · 0 评论 -
red-black tree
- bh(x) <= 2lg(n+1)- insertcase 1: z and z.p are red. z.uncle's color is red -> set colors of z.p and z.uncle to black. set z.p.p to red. make z.p.p as new zcase 2: z and z.p are red. z.uncle's ...转载 2018-04-08 12:16:24 · 105 阅读 · 0 评论 -
insertion sort with binary search applied on ordered array
insertion sort with binary search applied on ordered array => o(nlogn)原创 2018-04-03 09:39:01 · 269 阅读 · 0 评论 -
single-source shortest path in directed graph
two common operations vertex initialisation and relaxvertex initialisation -> set key of each vertex to max value; set precedence to null; set key of s (start vertex) to 0;relax(u,v,w) -> set ke...翻译 2018-04-16 16:04:24 · 221 阅读 · 0 评论 -
shortest path of all vertex pairs
- repeated square, O(n^3*lgn), preceding m-1 edges + weight of one more edge. shortest path is choice of k with minimum weight of L(m)l(m, i, j) = min(l(m-1, i, k) + w(k, j)), 1=<k<=n, L(1) = WL...翻译 2018-04-16 17:44:20 · 173 阅读 · 0 评论 -
counting-sort
pre-requisite: n element values are between 0 to k.sort:auxiliary array to hold how many elements less than current value i, i belongs to [0, k]原创 2018-04-11 17:01:08 · 129 阅读 · 0 评论 -
review list
devopsspringboot and microservicesgmlparser, design patternpersistable queue, java volatile, atomacity and concurrency, mockitovolatile is not atomic, happen-before, happen-after for memory visibilit...原创 2018-06-25 11:58:10 · 326 阅读 · 0 评论