• 线性表之顺序表


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

     

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

    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则插入元素移动的平均次数

             

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

    希望各位大神,对文中的不足不吝赐教,共同学习,共同进步!!!
  • 相关阅读:
    POJ 3468 区间更新,区间求和(经典)
    HDU 1698 区间更新
    POJ 2828 单点更新(好题)
    HDU 2795 单点更新,区间优先查找(想法)
    HDU 1394 树状数组求逆序对
    HDU 1754 单点更新,求区间最大值
    Servlet 3.0 对异步处理的支持
    Servet3.0于Servlet2.5比较
    你的灯还亮着吗读书笔记3
    你的灯还亮着吗读书笔记2
  • 原文地址:https://www.cnblogs.com/gongli123/p/6820518.html
Copyright © 2020-2023  润新知