首页 > 编程语言 > 详细

数组,链表,跳表

时间:2021-05-19 10:15:31      阅读:15      评论:0      收藏:0      [点我收藏+]

     一.基础知识
     数组在内存空间开辟一块连续地址,可以根据索引查询.数组根据索引查询的时间复杂度是O(1),但删除和插入时间复杂度是O(n).
     链表弥补数组的保存和删除的设计不足,链表不需要一段连续空间,增加指针指向下一个元素的地址.链表删除和插入时间复杂度是O(1),但查询时间复杂度是O(n).
     跳表弥补链表的查询慢问题,可以增加若干级的索引,来降低链表的查询的时间复杂度O(log n),空间复杂度是O(n).
     链表是一维数据结构,增加额外索引,增加额外的内容空间,即以空间换时间,增加内存空间来减少操作时间.链表是一维数据结构,增加额外的索引,就相当于把一维数据结构升级为更高维度数据,即升维思想.

     二.解决思路
     解决数组方面的问题常见思路:左右靠近原则和双指针或使用数据做hash作为缓存形式.

数组,链表,跳表

原文:https://www.cnblogs.com/zhtzyh2012/p/14783520.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!