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

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

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

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

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

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

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


  • 相关阅读:
    httpclient + TestNG 接口自动测试 第二章
    httpclient + TestNG 接口自动测试 第一章
    Kafka-manager启动命令
    多台服务器搭建Spark集群
    Scala学习 -- 基础语法
    Spark学习 -- RDD
    Spark 学习
    Angular constructor和OnInit的区别和适用场景
    TypeScript基础学习 —— 变量声明
    TypeScript基础学习 —— 基础类型
  • 原文地址:https://www.cnblogs.com/engineerLF/p/5393052.html
Copyright © 2011-2022 走看看