zoukankan      html  css  js  c++  java
  • 线性表

         1.数组描述的链表,即称为静态链表,元素为一般定义为含游标的结构体。优点:增删元素时,仅需要改变游标,保留了链表的优点;缺点则失去顺序表的随机读取特点。不便于Java使用(不含指针)。

         2.顺序表是一种随机存储结构,即随机访问任意元素的时间均为O(1)。分为两种,一种为使用数组静态分配内存的静态顺序表,一种是用malloc和remalloc动态分配存储空间的的动态表。顺表表插入和删除数据元素的时间复杂度为O(n),其中,平均移动数据长度为表长的一般。

         3.虽然单链表中插入和删除的时间复杂度和顺序表相同,但是差常数倍。前者的时间复杂度仅仅是由元素比较(定为时决定),而后者还涉及到堆中的数据移动,在数据元素占据大的存储空间时。单链表的其它操作的时间复杂度均为O(n)。

         4.双向链表存储密度更加低。插入和删除操作更加复杂(也是O(n))。但由于双向链表的对称性,在对前节点进行操作的时候具有优势。

         5.链表逻辑相邻的元素物理不一定相邻。

         6.若线性表需要大量的查找元素,顺序表方便;若频繁增删,则链表方便。元素个数未知或者元素数目变化大,链表方便;事先预知存储大小,顺序表方便。


  • 相关阅读:
    博客园美化-SimpleMemor
    Java多线程-synchronized与ReentrantLock
    springboot中删除@SessionAttributes注解的属性
    SSM整合笔记
    Spring中xml和注解方式使用AOP
    Mysql 数据库基本操作
    Mysql 二进制包安装
    named piped tcp proxy 下载
    docker容器中日志文件过大处理方法
    自动做bond的脚本
  • 原文地址:https://www.cnblogs.com/engineerLF/p/5393052.html
Copyright © 2011-2022 走看看