zoukankan      html  css  js  c++  java
  • 数组,链表,跳表

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

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

  • 相关阅读:
    2019.8.8 python day03
    2019.8.7 python进阶day02
    2019.8.6(python day01)
    2019.8.5
    2019.8.2
    2019.8.1
    2019.7.31
    2019.7.30
    面向对象进阶
    访问可见性问题和@property装饰器
  • 原文地址:https://www.cnblogs.com/zhtzyh2012/p/14783520.html
Copyright © 2011-2022 走看看