跳躍表
跳表,全稱跳躍表,是一種隨機化的數據結構,實質上是一種可以進行二分查找的有序鍊表。
跳表在原有有序鍊表的基礎上增加了多級索引,通過這些索引實現快速查找。每一層都是下一層元素的一個子集,但上一層元素間的間隔相對較大,這種結構使得跳表在進行搜尋、插入和刪除操作時能夠提高性能。
理想情況下,跳表的每一層是下一層元素的一半,這樣共有log2N層,但在實際操作中,插入和刪除元素可能會比較複雜。通常的做法是,每次向跳表加入一個元素時,用隨機的方式決定是否需要向上增長一層。
跳表在性能上與紅黑樹和AVL樹相當,但實現原理更為簡單。