A probabilistic skiplist that allows concurrent access and modification. The algorithm was inspired by The Art of Multiprocessor Programming - Herlihy, M., & Shavit, N. (2008).
Level 3: head --->01--------------------------------------------->09--->Null
Level 2: head --->01--->02--------------->05--->06--------------->09--->Null
Level 1: head --->01--->02--------------->05--->06--->07--->08--->09--->Null
Level 0: head --->01--->02--->03--->04--->05--->06--->07--->08--->09--->Null
Thua-Duc Nguyen ducnguyen.work.de@gmail.com
Prerequisites for test and benchmark: googletest and gbenchmark
make
(refer to app/example.c)
- Initialization
// keytype valuetype height
ConcurrentSkipList<uint16_t, uint16_t, 4> csl{};
- Operations
csl.insertElement(1, 12345);
csl.searchElement(1)
csl.deleteElement(1);