- 1
- 0
- 约8.38千字
- 约 5页
- 2021-09-26 发布于江苏
- 举报
第2 章 顺序表
一、复习要点
本章主要讨论数组抽象数据类型及利用数组实现的顺序表、字符串等数据结构。它们都
是线性结构。但数组是直接存取结构,可以根据数组元素的下标直接在数组中存取该元素,
而利用它实现的顺序表是顺序存取结构,所有数据元素集中存储于表的前端。字符串是顺序
表的特化。
本章复习的要点:
1、基本知识点
2、算法设计
➢ 静态数组对象的定义,动态数组对象的定义
➢ 数组中数组元素的原地逆置
➢ 递归计算数组长度、数组中所有元素的和及平均值
➢ 在顺序表中搜索值为item 的元素,在有序顺序表中搜索值为item 的元素
➢ 在有序顺序表中插入新元素item 到第i 个位置
➢ 在有序顺序表中删除第i 个元素
➢ 两个有序顺序表的合并,m 个有序顺序表的合并
二、难点与重点
1、作为抽象数据类型的数组:数组的定义、数组的按行顺序存储与按列顺序存储
➢ 确定数组元素的三要素:行号、列号、元素值
➢ 数组元素的存放地址计算
2、顺序表:顺序表的定义、搜索、插入与删除
➢ 顺序表搜索算法、平均比较次数的计算
➢ 插入与删除算法、平均移动次数的计算
三、习题的解析
2-3 设有一个线性表 (e , e , …, e , e ) 存放在一个一维数组A[arraySize]中的前n 个数组
0 1 n-2 n-1
元素位置。请编写一个函数将这个线性表原地逆置,即将数组的前n 个原址内容置换为 (en-1,
e , …, e , e ) 。
n-2 1 0
【解答】
templateclass Type void inverse ( Type A[ ], int n ) {
Type tmp;
for ( int i = 0; i = ( n-1 ) / 2; i++ ) {
tmp = A[i]; A[i] = A[n-i-1]; A[n-i-1] = tmp;
}
}
29
2-5 顺序表的插入和删除要求仍然保持各个元素原来的次序。设在等概率情形下, 对有 127
个元素的顺序表进行插入, 平均需要移动多少个元素? 删除一个元素, 又平均需要移动多少
个元素?
【解答】
若设顺序表中已有n = last+1 个元素,last 是顺序表的数据成员,表明最后表项的位置。
又设插入或删除表中各个元素的概率相等,则在插入时因有n+1 个插入位置(可以在表中最
后一个表项后面追加),每个元素位置插入的概率为1/(n+1),但在删除时只能在已有n 个表
项范围内删除,所以每个元素位置删除的概率为1/n。
插入时平均移动元素个数AMN(Averagy Moving Number )为
1 n 1 1 1 (n 1)n n 1
AM (n i 1) ((n 1) (n 2) 10)
n n n 2 2
i0
删除时平均移动元素个数AM 为
1 n 1 1 n(n 1) n
AM n i ( n ( n 1) 1 0 )
n
您可能关注的文档
最近下载
- 中华人民共和国职业分类大典(2015新版)解读.docx VIP
- XX生物质热电项目安全设施设计专篇.doc VIP
- 广东省珠海市香洲区2024-2025学年三年级上册期末考试数学试卷(含答案).docx VIP
- 云南省红河州、文山州2024-2025学年高一上学期月期末考试历史试题(含答案).pdf VIP
- 生锈之8D报告(案例).xls VIP
- (2025年)统战部遴选公务员面试真题和专业题3问及答案.docx VIP
- 口腔市场专员培训.pptx VIP
- 如何制作西红柿炖牛腩,比饭店那酸酸的好吃太多啦!.pdf VIP
- 部编版二年级上册语文第11课《葡萄沟》教学课件.ppt VIP
- 部编版二年级上册语文《葡萄沟》PPT教学课件.pptx VIP
原创力文档

文档评论(0)