Work 9-12-22

This commit is contained in:
Tyler Perkins 2022-09-12 16:49:14 -04:00
parent 8d86185833
commit 6d41b28687
4 changed files with 43 additions and 8 deletions

View File

@ -1,7 +1,7 @@
= Bloom filter =
A bloom filter is a space efficient data structure that can test if an element
is part of a set *false positives are possible*, however false negatives are
is part of a set. *false positives are possible*, however false negatives are
not. Meaning it can return,
* Possibly in the set

23
tech/Heap.wiki Normal file
View File

@ -0,0 +1,23 @@
= Heap =
A heap is a specialized data structure that is often represented as a tree. It
fundamentally, however, is a set of data that satisfied the *heap property*.
A heap is the most efficent implmentation of the [[priority_queue|Priority Queue]].
A heap is not really a sorted structure, it is a structure that specializes in
repeated insertion/removal with access to the largest/smalled value in said
set.
Although a heap can be implemented in many ways, they never exceed O(log n) for
any operation, and therefore are very perfomant.
== Heap Property ==
The heap property states that
* For a min heap
* Key,,child,, >= Key,,parent,,
* For a max heap
* Key,,parent,, >= Key,,child,,

View File

@ -25,6 +25,8 @@ Different ways to store and operate on data, with differing efficiency
* [[kd_tree|KD Tree]]
* [[Heap]]
- [[Fibonacci_heap]]
* [[priority_queue|Priority Queue]]
* [[merkle_tree|Merkle Tree]]
== Probabilistic Data Structures ==
@ -78,13 +80,13 @@ Different ways to store and operate on data, with differing efficiency
=== Behavioral ===
* factory
* facade
* proxy
* iterator
* observer
* mediator
* state
* [[factory]]
* [[facade]]
* [[proxy]]
* [[iterator]]
* [[observer]]
* [[mediator]]
* [[state]]
== Common operations ==

10
tech/merkle_tree.wiki Normal file
View File

@ -0,0 +1,10 @@
= Merkle Tree =
A Merkle tree (aka hash tree) is a tree where
* every leaf is labelled with the hash of a data block
* every branch is labelled with the cryptographic hash of the labels of its
child nodes
A hash tree is primarily used to verify the integrity of very large
datastructures in a very efficient manner. One such common use is in Bittorrent