zoukankan      html  css  js  c++  java
  • 线性表之顺序表

    紧跟大神的脚步,向五月的仓颉致敬

     

    一、线性表的一些基本概念

    1、定义:线性表是n(n>=0)个具有相同特性的数据元素的有限序列。

    2、物理存储结构:线性表主要的物理存储结构有两种,顺序存储结构和链式存储结构。

    二、顺序表

        由于线性表中数据元素具有相同的特性,所以很容易确定表中的i个元素存储地址,若线性表的每个元素占用m个存储单元,并以所占用的第一个存储单元的的存储地址作为数据源的村春位置,则第i个数据元素的存储位置是:

    LOC(ai)=LOC(a1)+(i-1)*m

    优点:

    i、由上述公式容易确定表中每个元素的存储位置,所以要指定查询第i个结点很 方便。

    Ii、简单直观。

    缺点:

        i、插入和删除结点困难

        ii、扩展不灵活。

        iii、容易造成内存浪费。

    下面用算法解释下顺序表插入数据为什么效率低

     

    由以上的插入算法可以很容易得出,该算法主要执行时间都花在了位移上,语句循环执行的次数为n-i+1,当i=n时,执行次数为1次,当i=n时执行n次,假定在表上任何位置插入元素的概率相同,可能插入的位置为i=1,2,....,n+1则插入元素移动的平均次数

             

    在顺序表中插入一个元素,平均移动表中一般数据元素,当时,移动的次数也趋近于无穷,这样算法的效率就很低。

    希望各位大神,对文中的不足不吝赐教,共同学习,共同进步!!!
  • 相关阅读:
    Fastjson的常用方法总结
    Springboot整合Gson报错
    SQL优化学习笔记(二)
    eclipse安装阿里巴巴代码规约插件
    Maven:记一次将jar包添加到maven私库的过程
    zookeeper 开机自启动 -- CentOS7
    JVM相关配置项
    JVM 优化
    jstat命令查看jvm的GC情况
    GC(Allocation Failure)引发的一些JVM知识点梳理
  • 原文地址:https://www.cnblogs.com/gongli123/p/6820518.html
Copyright © 2011-2022 走看看