Add some notes on complexity in glib/ghash.c

Related to issue #3
This commit is contained in:
Emmanuel Fleury 2019-08-06 18:48:12 +02:00
parent 34f03f01c8
commit cbae555a98

View File

@ -68,13 +68,14 @@
* given a key the value can be found quickly
*
* A #GHashTable provides associations between keys and values which is
* optimized so that given a key, the associated value can be found
* very quickly.
* optimized so that given a key, the associated value can be found,
* inserted or removed in amortized O(1). All operations going through
* each element take O(n) time (list all keys/values, table resize, etc.).
*
* Note that neither keys nor values are copied when inserted into the
* #GHashTable, so they must exist for the lifetime of the #GHashTable.
* This means that the use of static strings is OK, but temporary
* strings (i.e. those created in buffers and those returned by GTK+
* strings (i.e. those created in buffers and those returned by GTK
* widgets) should be copied with g_strdup() before being inserted.
*
* If keys or values are dynamically allocated, you must be careful to