#### Common components
-* [khash.h][khash]: generic hash table based on [double hashing][2].
+* [khash.h][khash]: generic [hash table][2] with open addressing.
* [kbtree.h][kbtree]: generic search tree based on [B-tree][3].
* [kavl.h][kavl]: generic intrusive [AVL tree][wiki-avl].
* [ksort.h][ksort]: generic sort, including [introsort][4], [merge sort][5], [heap sort][6], [comb sort][7], [Knuth shuffle][8] and the [k-small][9] algorithm.
* [Blog post][35] on the Hooke-Jeeve's algorithm for nonlinear programming.
[1]: http://en.wikipedia.org/wiki/MIT_License
-[2]: http://en.wikipedia.org/wiki/Double_hashing
+[2]: https://en.wikipedia.org/wiki/Hash_table
[3]: http://en.wikipedia.org/wiki/B-tree
[4]: http://en.wikipedia.org/wiki/Introsort
[5]: http://en.wikipedia.org/wiki/Merge_sort
code; \
} }
-/* More conenient interfaces */
+/* More convenient interfaces */
/*! @function
@abstract Instantiate a hash set containing integer keys
KHASH_INIT(name, khint32_t, khval_t, 1, kh_int_hash_func, kh_int_hash_equal)
/*! @function
- @abstract Instantiate a hash map containing 64-bit integer keys
+ @abstract Instantiate a hash set containing 64-bit integer keys
@param name Name of the hash table [symbol]
*/
#define KHASH_SET_INIT_INT64(name) \