数据结构与算法(第五次课)
顺序表的查找算法分析
- 对含有n个记录的表,查找成功的时候:
- ASL =
- 顺序查找的平均查找长度:
- 假设每个记录的查找概率相等:
- 则
顺序表的插入算法分析
- 算法的思想:
- 1.判断插入位置 i 是否合法
- 2.判断顺序表的存储空间是否已经满,若是满了返回error
- 将第n至第i位的元素依次向后面移动一位,空出第i个位置
- 将要插入的新元素e放入第i个位置
- 表长加1,插入成功,返回ok
- 算法的时间主要耗在移动元素的操作上
- 平均的移动次数是:
顺序表的删除算法分析
- 算法思想
- 判断删除位置i是否合法(合法值为,<=i<=n)
- 将欲删除的元素保留在e中
- 将第i+1至第n位的元素依次向前移动一个位置
- 表长减1,删除成功返回ok
- 算法时间主要耗费在移动元素的操作上
*平均移动次数
顺序表小结
顺序(线性表的顺序存储结构)的特点
- 利用数据元素的存储位置表示线性表中相邻数据元素之间的前后关系,即线性表的逻辑结构与存储结构一致
- 在访问线性表时候,可以快速地计算任何一个数据元素地存储地址,因此可以初略地认为,访问每一个元素所花地时间相等
- 这种存储元素地方法称为随机存取法
顺序表地基本操作地实现
- 时间复杂度: 查找、插入、删除算法地平均时间复杂度为O(n)
- 空间复杂度:顺序表操作算法空间复杂度为S(n) = O(1) ,没有占用辅助空间
顺序表优缺点
- 优点:
- 存储密度大(结点本身所占存储量/结点结构所占存储量)
- 可以随机存取表中任一元素
- 缺点:
- 在插入、删除某一元素时,需要移动大量元素
- 浪费存储空间
- 属于静态存储形式、数据元素地个数不能自由扩充
标签:顺序,线性表,元素,插入,算法,查找,数据结构 来源: https://www.cnblogs.com/jerry-autumn/p/16621079.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。