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

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

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

  • 相关阅读:
    嗨分享-前端技术-帝国CMS手机站修改列表分页(sysShowListMorePage)
    外观模式
    模版方法模式
    原型模式(克隆)
    策略模式
    装饰模式和代理模式
    设计原则
    工厂模式
    反射机制
    vmware RHEL6.x 开启FTP和TELNET服务--root权限
  • 原文地址:https://www.cnblogs.com/zhtzyh2012/p/14783520.html
Copyright © 2011-2022 走看看