From 54c20c8532e9faf643fb4b06f65590fa15236970 Mon Sep 17 00:00:00 2001 From: Emmanuel Fleury Date: Tue, 6 Aug 2019 20:59:46 +0200 Subject: [PATCH] Add some notes on complexity in glib/gsequence.c Related to issue #3 --- glib/gsequence.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/glib/gsequence.c b/glib/gsequence.c index c0fa9d6c9..96f21d6e4 100644 --- a/glib/gsequence.c +++ b/glib/gsequence.c @@ -30,7 +30,10 @@ * * The #GSequence data structure has the API of a list, but is * implemented internally with a balanced binary tree. This means that - * it is possible to maintain a sorted list of n elements in time O(n log n). + * most of the operations (access, search, insertion, deletion, ...) on + * #GSequence are O(log(n)) in average and O(n) in worst case for time + * complexity. But, note that maintaining a balanced sorted list of n + * elements is done in time O(n log(n)). * The data contained in each element can be either integer values, by using * of the [Type Conversion Macros][glib-Type-Conversion-Macros], or simply * pointers to any type of data.