diff --git a/tech/Dijkstra.wiki b/tech/Dijkstra.wiki index 436a485..4daac71 100644 --- a/tech/Dijkstra.wiki +++ b/tech/Dijkstra.wiki @@ -17,6 +17,13 @@ Dijkstra's Algorithm is a [[greedy_algorithm]]. the distance from the start node to this node. - For example, if the current node is marked as a distance of 6 from the starting node, and the edge of neighbor _N1_ has a distance of 2, then - N1's distance is 6+2 = 8 + N1's distance is 6+2 = 8. If the node was previously marked as having a + different value, keep the smallest of the two values. +4) Once we have checked all of a nodes neighbors, remove it from the unvisited + set. A visited node is never checked again. +5) If searching for a specific node, the algorithm can stop when the desired + node is no longer in the 'unvisted' set. +6) If not, select the unvisted node with the smalled distance, and set it as + the current node, and go back to step 3 diff --git a/tech/algorithms.wiki b/tech/algorithms.wiki index 89c7a38..044c3c3 100644 --- a/tech/algorithms.wiki +++ b/tech/algorithms.wiki @@ -21,6 +21,8 @@ Different ways to store and operate on data, with differing efficiency * [[splay_tree|Splay Tree]] * [[avl_tree|AVL Tree]] * [[kd_tree|KD Tree]] +* [[Heap]] + - [[Fibonacci_heap]] == Common Algorithms == diff --git a/tech/b_tree.wiki b/tech/b_tree.wiki new file mode 100644 index 0000000..6fc307a --- /dev/null +++ b/tech/b_tree.wiki @@ -0,0 +1,4 @@ += B-tree = + +A B-tree is a self balancing tree that maintains sorted data and allows +search, insertion, and deletion in log time diff --git a/tech/graph.wiki b/tech/graph.wiki index f3a732a..da838cf 100644 --- a/tech/graph.wiki +++ b/tech/graph.wiki @@ -14,3 +14,4 @@ applications including [[../math/markov_chain|Markov Chians]]. * [[BFS]] * [[DFS]] +* [[Dijkstra]] diff --git a/tech/linked_list.wiki b/tech/linked_list.wiki index 061c1ad..1058cad 100644 --- a/tech/linked_list.wiki +++ b/tech/linked_list.wiki @@ -23,6 +23,7 @@ worrying about like 4 bytes per node and either have tons of nodes or memory is precious and the time spent XORing is a valid tradeoff. == Visual == + {{{ Head Tail ---------------- --------- --------- --------- ---------------- diff --git a/tech/queue.wiki b/tech/queue.wiki index 0c72e0b..0ad412d 100644 --- a/tech/queue.wiki +++ b/tech/queue.wiki @@ -7,7 +7,6 @@ from the back * Keeping an order of elements - == Bad For == * Everything else diff --git a/tech/skip_list.wiki b/tech/skip_list.wiki index 20e7f10..1c385e6 100644 --- a/tech/skip_list.wiki +++ b/tech/skip_list.wiki @@ -11,7 +11,6 @@ deletion (on average). * Space constrained enviroments (nlogn space usage) - == Notes == Honestly things like a B-Tree are better alternatives, but sometimes you need a