> ### 跳躍表
* 跳躍表的優點是維持結構平衡的成本比較低,完全依靠隨機。二叉查找樹在多次插入刪除后,需要`rebalance`來重新調整結構平衡。

> ### 操作節點
* 新節點和各層索引節點逐一比較,確定原鏈表的插入位置。O(logN)
* 把索引插入到原鏈表。O(1)
* 利用拋硬幣的隨機方式,決定新節點是否提升為上一級索引。結果為“正”則提升并繼續拋硬幣,結果為“負”則停止。O(logN)
* 總體上,跳躍表插入操作的時間復雜度是O(logN),而這種數據結構所占空間是2N,既空間復雜度是 O(N)。
* 刪除節點,自上而下,查找第一次出現節點的索引,并逐層找到每一層對應的節點。O(logN)。跳躍表刪除操作的時間復雜度是O(logN)。
<br/>
<br/>
***
參考:
[漫畫算法:什么是跳躍表?](http://blog.jobbole.com/111731/)
[Redis為什么用跳表而不用平衡樹?](https://redisbook.readthedocs.io/en/latest/internal-datastruct/skiplist.html)
- asD
- Java
- Java基礎
- Java編譯器
- 反射
- collection
- IO
- JDK
- HashMap
- ConcurrentHashMap
- LinkedHashMap
- TreeMap
- 阻塞隊列
- java語法
- String.format()
- JVM
- JVM內存、對象、類
- JVM GC
- JVM監控
- 多線程
- 基礎概念
- volatile
- synchronized
- wait_notify
- join
- lock
- ThreadLocal
- AQS
- 線程池
- Spring
- IOC
- 特性介紹
- getBean()
- creatBean()
- createBeanInstance()
- populateBean()
- AOP
- 基本概念
- Spring處理請求的過程
- 注解
- 微服務
- 服務注冊與發現
- etcd
- zk
- 大數據
- Java_spark
- 基礎知識
- Thrift
- hdfs
- 計算機網絡
- OSI七層模型
- HTTP
- SSL
- 數據庫
- Redis
- mysql
- mybatis
- sql
- 容器
- docker
- k8s
- nginx
- tomcat
- 數據結構/算法
- 排序算法
- 快排
- 插入排序
- 歸并排序
- 堆排序
- 計算時間復雜度
- leetcode
- LRU緩存
- B/B+ 樹
- 跳躍表
- 設計模式
- 單例模式
- 裝飾者模式
- 工廠模式
- 運維
- git
- 前端
- thymeleaf
- 其他
- 代碼規范
- work_project
- Interview