数组,链表,跳表
Posted zhtzyh2012
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组,链表,跳表相关的知识,希望对你有一定的参考价值。
一.基础知识
数组在内存空间开辟一块连续地址,可以根据索引查询.数组根据索引查询的时间复杂度是O(1),但删除和插入时间复杂度是O(n).
链表弥补数组的保存和删除的设计不足,链表不需要一段连续空间,增加指针指向下一个元素的地址.链表删除和插入时间复杂度是O(1),但查询时间复杂度是O(n).
跳表弥补链表的查询慢问题,可以增加若干级的索引,来降低链表的查询的时间复杂度O(log n),空间复杂度是O(n).
链表是一维数据结构,增加额外索引,增加额外的内容空间,即以空间换时间,增加内存空间来减少操作时间.链表是一维数据结构,增加额外的索引,就相当于把一维数据结构升级为更高维度数据,即升维思想.
二.解决思路
解决数组方面的问题常见思路:左右靠近原则和双指针或使用数据做hash作为缓存形式.
以上是关于数组,链表,跳表的主要内容,如果未能解决你的问题,请参考以下文章