1、第 1 章 绪 论 课后习题讲解 1. 填空 ( )是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。 【解答】数据元素 ( )是数据的最小单位,( )是讨论数据结构时涉及的最小数据单位。 【解答】数据项,数据元素 【分析】数据结构指的是数据元素以及数据元素之间的关系。 从逻辑关系上讲,数据结构主要分为( )、( )、( )和( )。 【解答】集合,线性结构,树结构,图结构 数据的存储结构主要有( )和( )两种基本方法,不论哪种存储结构,都要存储两方面的内容:( )和( )。 【解答】顺序存储结构,链接存储结构,数据元素,数据元素之间的关系 算法具有五个特性,分别是( )、(
2、)、( )、( )、( )。 【解答】有零个或多个输入,有一个或多个输出,有穷性,确定性,可行性 算法的描述方法通常有( )、( )、( )和( )四种,其中,( )被称为算法语言。 【解答】 语言,程序 计语言, 程图, , 在一 ,一个算法的时间 是( )的 数。 【解答】 题 处理 题的 为n, 一个算法的时间 为一个常数, 数 的 为( ), 为n*log25n, 数 的 为( )。 【解答】(1),(nlog2n) 【分析】 O 算法的时间 ,要currency1,最的系数currency1。 2. “题 顺序存储结构中数据元素之间的逻辑关系是( ) 的,链接存储结构中的数据元素之间
3、的逻辑关系是( ) 的。 A 线性结构 B 线性结构 C 存储位fi D 指fl 【解答】C,D 【分析】顺序存储结构 是 一数存储数据结构中的数据元素,其逻辑关系存储位fi(元素在数中的 ) 链接存储结构中一个数据元素链 中的一个结,元素之间的逻辑关系结中的指fl 。 有” : 和可以 可以 或的 间不 。 关系的最合的数据结构是( )。 A 树 B 图 C 线性 D 集合 【解答】B 【分析】 、和分别作为数据元素, 据题出逻辑结构图。 算法指的是( )。 A 特定 题解 的一种描述,是指 的有 序 。 B 计算机程序 C 解 题的计算方法 D 数据处理 【解答】A 【分析】计算机程序是算
4、法的具体 单 ,算法是解 题的方法 数据处理是通 算法 的。 以, 有A是算法的 确定 。 面( )不是算法 具的特性。 A 有穷性 B 确 性 C 性 D 可行性 【解答】C 【分析】 性是 算法具的特性。 算法分析的 的是( ),算法分析的两个主要方面是( )。 A 出数据结构的合理性 B 算法中输入和输出的关系 C 分析算法的 以 进 D 分析算法的 性和 性 E 空间性 和时间性 F 确性和 性 G 可 性和 性 H 数据 性和程序 性 【解答】C,E 3. 题 算法的时间 都要通 算法中的基本语的 行数 确定。 【解答】。时间 要通 算法中基本语 行数的数 确定。 种数据结构都具个基
5、本作: 入、 和 。 【解答】。”数 没有 入和 作。此题注是种数据结构。 谓数据的逻辑结构指的是数据之间的逻辑关系。 【解答】。是数据之间的逻辑关系的整体。 逻辑结构与数据元素本身的内容和 无关。 【解答】。因此逻辑结构是数据织的主要方面。 基于某种逻辑结构之上的基本作,其 是唯一的。 【解答】。基本作的 是基于某种存储结构 计的,因而不是唯一的。 4. 分析以 各程序段,并 O 其 行时间。 【解答】 基本语是k=k+10*i,共 行了n-2, 以T(n)=O(n)。 基本语是k=k+10*i,共 行了n, 以T(n)=O(n)。 分析条件语,循环一,i+j 整体加1,共循环n, 以T(n
6、)=O(n)。 循环体共 行T(n),循环一,循环变 y加1,最终T(n)=y,: (T(n)+1)2n, 以T(n)=O(n 1/2)。 x+是基本语, 以 5 有数据结构(D,R),其中D=1, 2, 3, 4, 5, 6,R=(1,2),(2,3),(2,4),(3,4),(3,5),(3,6),(4,5),(4,6)。试出其逻辑结构图并指出属于何种结构。 【解答】其逻辑结构图”图1-3 ,它是一种图结构。 6. 为整数定 一个抽象数据类型,包含整数的常见运算,个运算一个基本作,个基本作的接口定 前fi条件、输入、功 、输出和后fi条件。 【解答】整数的抽象数据类型定 ” : ADT i
7、nteger Data 整数a:可以是整数(1, 2, 3, )、负整数(-1, -2, -3, )和零 Operation Constructor 前fi条件:整数a不存在 输入:一个整数b 功 :构造一个与输入值同的整数 输出:无 后fi条件:整数a具有输入的值 Set 前fi条件:存在一个整数a 输入:一个整数b 功 :修 整数a的值,使之与输入的整数值同 输出:无 后fi条件:整数a的值发生 变 Add 前fi条件:存在一个整数a 输入:一个整数b 功 :整数a与输入的整数b加 输出:加后的结果 后fi条件:整数a的值发生 变 Sub 前fi条件:存在一个整数a 输入:一个整数b 功
8、:整数a与输入的整数b减 输出:减的结果 后fi条件:整数a的值发生 变 Multi 前fi条件:存在一个整数a 输入:一个整数b 功 :整数a与输入的整数b乘 输出:乘的结果 后fi条件:整数a的值发生 变 Div 前fi条件:存在一个整数a 输入:一个整数b 功 :整数a与输入的整数b 输出: 整数b为零, 抛出 零异常,否 输出 的结果 后fi条件:整数a的值发生 变 Mod 前fi条件:存在一个整数a 输入:一个整数b 功 :当前整数与输入整数的 ,的余数 输出: 整数b为零, 抛出 零异常,否 输出取 的结果 后fi条件:整数a的值发生 变 Equal 前fi条件:存在一个整数a 输
9、入:一个整数b 功 : 整数a与输入的整数b是否等 输出: 等返回1,否 返回0 后fi条件:整数a的值不发生 变 endADT 7. 多项 A(x)的算法可 据 两个公 之一 计: A(x)=anxn+an-1xn-1+a1x+a0 A(x)=(anx+an-1)x+a1)x)+a0 据算法的时间 分析比较这两种算法的优劣。 【解答】第二种算法的时间性 要 些。第一种算法 行 的乘法运算,而第二种算法进行了优化,减少了不要的乘法运算。 8. 算法 计(要:算法 和C+描述,并分析最坏 的时间 ) 一个整型数An 计一个排序算法。 【解答】 面是 单“排序算法的 描述。 面是 单“排序算法的C
10、+描述。 分析算法,有两层嵌套的for循环, 以, 。 出整型数An中元素的最 值和最 值。 【解答】算法的 描述” : 算法的C+描述” : 分析算法, 有一层循环,共 行n-2, 以,T(n)=O(n)。 学习 测及答案 1顺序存储结构的特是( ),链接存储结构的特是( )。 【解答】 元素在存储器中的位fi 数据元素之间的逻辑关系, 指 元素存储 址的指fl 数据元素之间的逻辑关系。 2. 算法在发生法作时可以作出处理的特性称为( )。 【解答】健壮性 3. 常见的算法时间 为:常数阶( )、数阶( )、线性阶 ( )、平方阶( )和指数阶()。 【解答】(1),(log2n),(n),
11、(n2),(2n) 4 数按它们在n 时的无穷 阶数,从小到 排 。 n, n-n3+7n5, nlogn, 2n/2, n3, log2n, n1/2+log2n, (3/2)n, n!, n2+log2n 【解答】log2n, n1/2+log2n, n, nlog2n, n2+log2n, n3, n-n3+7n5, 2n/2, (3/2)n, n! 5试描述数据结构和抽象数据类型的概念与程序 计语言中数据类型概念的区别。 【解答】数据结构是指之间存在一定关系的数据元素的集合。而抽象数据类型是指一个数据结构以及定 在结构上的一作。程序 计语言中的数据类型是一个值的集合和定 在这个值集上一
12、作的总称。抽象数据类型可以看 是数据类型的一种抽象。 6. 二元 的数据结构,试分别出的逻辑结构图,并指出属于何种结构。 A=(D,R), 其中D=a1, a2, a3, a4,R= B=(D,R), 其中D=a, b, c, d, e, f,R=, C=( D,R),其中D=a,b,c,d,e,f,R=, D=(D,R), 其中D=1, 2, 3, 4, 5, 6, R=(1, 2),(1, 4),(2, 3),(2, 4),(3, 4),(3, 5),(3, 6),(4, 6) 【解答】 属于集合,其逻辑结构图”图1-4(a) 属于线性结构,其逻辑结构图”图1-4(b) 属于树结构,其逻辑
13、结构图”图1-4(c) 属于图结构,其逻辑结构图”图1-4(d) 。 7. 算法的时间 。 count=0; x=1; while (x x*=2; count+; return count; 【解答】(log2n) 第 2 章 线性 课后习题讲解 1. 填空 在顺序 中,等概 , 入和 一个元素平均移动( )个元素,具体移动元素的个数与( )和( )有关。 【解答】 长的一半, 长,元素在 中的位fi 顺序 中第一个元素的存储 址是100,个元素的长 为2, 第5个元素的存储 址是( )。 【解答】108 【分析】第5个元素的存储 址=第1个元素的存储 址(51)2=108 单链 中指flp
14、 指向结A, 要 A的后结( A存在后结), 修 指fl的作为( )。 【解答】p-next=(p-next)-next 单链 中 fi头结的作 是( )。 【解答】为了运算方便 【分析】例”在 入和 作时不 头的 进行特殊处理。 空的单循环链 头指flhead指 , 其尾结(指flp 指)满足( )。 【解答】p-next=head 【分析】”图2-8 。 在尾指flrear指 的单循环链 中,在 尾 入一个结s的作序 是( ) 开始结的作序 为( )。 【解答】s-next =rear-next; rear-next =s; rear =s; q=rear-next-next; rear-
15、next-next=q-next; delete q; 【分析】作 图”图2-9 : 一个具有n个结的单链 ,在指flp 指结后 入一个新结的时间 为( ) 在给定值为x的结后 入一个新结的时间 为( )。 【解答】(1),(n) 【分析】在p 指结后 入一个新结 修 指fl, 以时间 为(1) 而在给定值为x的结后 入一个新结要先 值为x的结, 以时间 为(n)。 可一个尾指fl唯一确定的链 有( )、( )、( )。 【解答】循环链 ,循环双链 ,双链 2. “题 线性 的顺序存储结构是一种( )的存储结构,线性 的链接存储结构是一种( )的存储结构。 A 随机存取 B 顺序存取 C 索引
16、存取 D 散 存取 【解答】A,B 【分析】参见2.2.1。 线性 采 链接存储时,其 址( )。 A 是连续的 B 部分 址 是连续的 C 一定是不连续的 D 连续与否均可以 【解答】D 【分析】线性 的链接存储是 一任的存储单元存储线性 的数据元素,这存储单元可以连续,也可以不连续,甚 可以零散分 在内存中任位fi。 单循环链 的主要优是( )。 A 不 要头指fl了 B 从 中任一结出发都 描到整个链 C 某个结的位fi后, 容 到它的 接前 D 在进行 入、 作时, 链 不 开。 【解答】B 链 不具有的特是( )。 A 可随机 任一元素 B 入、 不要移动元素 C 不 先 计存储空间
17、 D 空间与线性 长 比 【解答】A 某线性 中最常 的作是取第i 个元素和第i个元素的前 , 采 ( )存储方法最 时间。 A 顺序 B 单链 C 双链 D 单循环链 【解答】A 【分析】线性 中最常 的作是取第i 个元素, 以,“随机存取结构顺序 ,同时在顺序 中第i个元素的前 也 方便。单链 和单循环链 不 随机存取, 第i个元素的前 也不方便,双链 第i个元素的前 , 不 随机存取。 链 中最常 的作是在最后一个结之后 入一个结和 第一个结, 采 ( )存储方法最 时间。 A 单链 B 头指fl的单循环链 C 双链 D 尾指fl的单循环链 【解答】D 【分析】在链 中的最后一个结之后
18、入一个结要 终 结的 址, 以,单链 、 头指fl的单循环链 、双链 都不合,考虑在 尾指fl的单循环链 中 第一个结,其时间性 是O(1),以,答案是D 。 链 中最常 的作是在最后一个结之后 入一个结和 最后一个结, 采 ( )存储方法最 运算时间。 A 单链 B 循环双链 C单循环链 D 尾指fl的单循环链 【解答】B 【分析】在链 中的最后一个结之后 入一个结要 终 结的 址, 以,单链 、单循环链都不合, 最后一个结要 终 结的前 结的 址, 以, 尾指fl的单循环链 不合,而循环双链 满足条件。 在具有n个结的有序单链 中 入一个新结并 有序的时间 是( )。 A O(1) B O
19、(n) C O(n2) D O(nlog2n) 【解答】B 【分析】 先顺序 新结在单链 中的位fi。 于n个元素 的线性 , 一个有序单链 的时间 是( )。 A O(1) B O(n) C O(n2) D O(nlog2n) 【解答】C 【分析】算法要n个元素 入到有序单链 中,而 入个元素O(n)。 使 双链 存储线性 ,其优是可以( )。 A B 方便数据的 入和 C 存储空间 D 回存储空间 【解答】B 【分析】在链 中一 进行顺序 , 以,双链 并不 ,因为双链 中有两个指fl, 不 存储空间,于动存储分currency1,回存储空间的 是一的。于双链 具有称性,以,其 入和 作
20、加方便。 “ 在一个单链 中, q 指结是p 指结的 接前 , 在q和p之间 入s 指结, 行( )作。 A s-next=p-next; p-next=s; B q-next=s; s-next=p; C p-next=s-next; s-next=p; D p-next=s; s-next=q; 【解答】B 【分析】注此题是在q和p之间 入新结, 以,不 考虑修 指fl的顺序。 在循环双链 的p 指结后 入s 指结的作是( )。 A p-next=s; s-prior=p; p-next-prior=s; s-next=p-next; B p-next=s; p-next-prior=s;
21、 s-prior=p; s-next=p-next; C s-prior=p; s-next=p-next; p-next=s; p-next-prior=s; D s-prior=p; s-next=p-next; p-next-prior=s; p-next=s 【解答】D 【分析】在链 中,指fl的修 线性 的逻辑关系,否 ,fi线性 的逻辑特fl,图2-10给出“答案C和D的图解。 3. 题 线性 的逻辑顺序和存储顺序总是一 的。 【解答】。顺序 的逻辑顺序和存储顺序一 ,链 的逻辑顺序和存储顺序不一定一 。 线性 的顺序存储结构优于链接存储结构。 【解答】。两种存储结构各有优。 p,
22、q是指fl, p=q, *p=*q。 【解答】。p=q p和q指向同一始 址,而 指类型 不一定同。 线性结构的基本特fl是:个元素有有一个 接前 和一个 接后。 【解答】。个元素最多 有一个 接前 和一个 接后,第一个元素没有前 ,最后一个元素没有后。 在单链 中,要取 某个元素, 要 元素 在结的 址可,因此单链 是随机存取结构。 【解答】。要到结的 址, 从头指fl开始 , 以单链 是顺序存取结构。 4 顺序 和单链 各有何优,并分析 ,采 何种存储结构 些。 线性 的总长 基本定, 少进行 入和 作, 要以最 的 存取线性 中的元素。 ”果n个线性 同时并存,并在处理 程中各 的长 动
23、发生变化。 描述一个”的 计和 。 【解答】顺序 的优: 无为 中元素之间的逻辑关系而加 的存储空间 可以 存取 中任一位fi的元素(随机存取)。顺序 的: 入和 作移动 元素 的容 以确定 造 存储空间的。 单链 的优: 不 先 线性 的长 入和 元素时 修 指fl,不 移动元素。单链 的: 指fl的结构性开 存取 中任元素不方便, 进行顺序存取。 “ 顺序存储结构。因为顺序 是随机存取结构,单链 是顺序存取结构。本题 少进行 入和 作, 以空间变化不 ,要 存取, 以“ 顺序存储结构。 “ 链接存储结构。链 容 容 的 ,合 的长 动发生变化。 “ 链接存储结构。因为一个”的 计和 涉及动
24、 多,要常修 、 和 各种 , 不 发的要。而顺序 的 入、 的 ,不合。 5算法 计 计一个时间 为(n)的算法, 数An中 有元素循环 移k个位fi。 【解答】算法 参见主 第一章 。 面给出具体算法。 分析算法,第一 Reverse 数的时间 为O(k),第二 Reverse 数的时间 为O(n-k),第 Reverse 数的时间 为O(n), 以,总的时间 为O(n)。 数An中的元素为整型, 计算法其 整为 两部分, 有元素为 数, 有元素为 数,并要算法的时间 为(n)。 【解答】从数的两 向中间比较, fi两个变 i和j, 始时i=0,j=n-1, Ai为 数并Aj为数, Ai与
25、Aj 。具体算法” : 分析算法,两层循环数 描一 , 以,时间 为(n)。 试 在无头结的单链 上 线性 的 入作的算法,并和 头结的单链 上的 入作的 进行比较。 【解答】参见2.2.3。 试分别以顺序 和单链 作存储结构,各 一 线性 fi的算法。 【解答】顺序 的fi,是称元素 , 顺序 的长 为length, 中第i个元素与第length-i-1个元素 。具体算法” : 单链 的fi参见2.2.4算法2-4和算法2-6。 在长 于1的循环链 中,无头结也无头指fl,s为指向链 中某个结的指fl,试 算法 结s的前 结。 【解答】 单循环链 的特,通 指fls可到其前 结r以及r的前
26、结p, 后结r ,”图2-11 ,具体算法” : 一单链 中的数据元素含有类 : 、数 和其 。试 算法,构造个循环链 ,使个循环链 中 含同一类 。 【解答】在单链 A中 取元素, 取出的元素是 ,它 入到 链 B 中, 取出的元素是数, 它 入到数 链 D中, 到链 的尾部,这 B,D,A中分别存 、数 和其 。具体算法” : 单链 以减有序排 , 计算法 在单链 中 值同的多余结。 【解答】从头到尾 描单链 , 当前结的元素值与后结的元素值不等, 指fl后移 否 后结。具体算法” : 头结的双循环链 是否称。 【解答】 作指flp和q分别指向循环双链 的开始结和终 结, 结p和结q的数据
27、等,作指flp后移,作指flq前移, 到指flp和指flq指向同一结(循环双链 中结个数为 数),或结q 为结p的前 (循环双链 中结个数为 数)。”图2-12 。 学习 测及答案 1. 一数A采 顺序存储结构,个元素 4个存储单元,第9个元素的 址为144, 第一个元素的 址是( )。 A 108 B 180 C 176 D 112 【解答】D 2在长 为n的线性 中 值为x的数据元素的时间 为: ( )。 A O(0) B O(1) C O(n) D O(n2) 【解答】C 3在一个长 为n的顺序 的第i(1in+1)个元素之前 入一个元素,向后移动( )个元素, 第i(1in)个元素时,
28、向前移动( )个元素。 【解答】n-i+1,n-i 4在单链 中, 了头结以,任一结的存储位fi( )指 。 【解答】其前 结的指fl 5当线性 采 顺序存储结构时,其主要特是( )。 【解答】逻辑结构中 的结在存储结构中 6在双链 中,个结 fi了两个指fl,其中一个指向( )结, 一个指向( )结。 【解答】前 ,后 7 A是一个线性 (a1, a2, , an),采 顺序存储结构, 在等概的前 ,平均 入一个元素要移动的元素个数为多少 元素 在ai与ai+1之间(1in)的概为 , 平均 入一个元素 要移动的元素个数 是多少 【解答】 , 。 8线性 存在整型数Aarrsize的前ele
29、num 个单元中,有序。 算法,元素x 入到线性 的当位fi上,以 线性 的有序性,并分析算法的时间 。 【解答】本题是在一个有序 中 入元素x,基本 是从有序 的尾部开始 取元素与x比较,于x,此元素后移一位, 取它前面一个元素 上述 否 ,到 入位fi,x 入。具体算法” : 9. 单链 中各结的元素值为整型有序, 计算法 链 中 有 于mink小于maxk的有元素,并 被 结的存储空间。 【解答】因为是在有序单链 上的作, 以,要 分 其有序性。在单链 中 第一个 于mink的结和第一个小于maxk的结, 二 间的 有结 。 10 单循环链 L1,其 的结果是:x1, x2, x3, x
30、n-1, xn。循环链 两个单循环链 L1和L2,使 L1中含有 L1 中序为 数的结 结果为:x1, x3, L2中含有 L1 中序为 数的结 结果为: , x4, x2。 【解答】算法” : 第 3 章 特殊线性 、 和 课后习题讲解 1. 填空 有一个空, 指fl为1000H, 有输入序 为1、2、3、4、5, push,push,pop,push,pop,push,push后,输出序 是( ), 指fl为( )。 【解答】23,1003H 通常采 的两种存储结构是( ) 其 定空的条件分别是( ), 定满的条件分别是( )。 【解答】顺序存储结构和链接存储结构(或顺序和链), 指flt
31、op= -1和top=NULL, 指fltop等于数的长 和内存无可 空间 ( )可作为 数 的一种数据结构。 【解答】 【分析】 数的 和返回 合后进先出性。 a*(b+c)-d的后缀 是( )。 【解答】abc+*d- 【分析】中缀 变为后缀 有一个技巧:作数 , 算 在它的两个作数的后面。 和 是两种特殊的线性 ,的作特性是( ), 的作特性是( ),和 的主要区别在于( )。 【解答】后进先出,先进先出, 入和 作 定的位fi不同 循环 的引入是为了克服( )。 【解答】溢出 数Qn 一个循环 ,front为头元素的前一个位fi,rear为尾元素的位fi,计算 中元素个数的公 为( )
32、。 【解答】(rear-front+n)% n 【分析】也可以是(rear-front)% n, rear-front的结果可 是负整数,而一个负整数 ,其结果在不同的译器环境 可 有 不同。 循环链 的 长 为n, 头指fl, 出和入的时间 分别是( )和( )。 【解答】(1),(n) 【分析】在 头指fl的循环链 中,出是 开始结,这 修 指fl 入是在终 结的后面 入一个结,这要从头指fl开始 终 结的 址。 是一种特殊的线性 ,其特殊性体 在( )。 【解答】数据元素的类型是一个 两个 等的 分要条件是( )。 【解答】长 同位fi的 等 【分析】例”“abc“abc “,“abc“
33、bca“。 2. “题 一个的输入序 是1,2,3,n,输出序 的第一个元素是n, 第i个输出元素是( )。 A 不确定 B n-i C n-i-1 D n-i+1 【解答】D 【分析】此时,输出序 一定是输入序 的序。 S和 Q的 始状为空,元素e1、e2、e3、e4、e5、e6 通 S,一个元素出后进入 Q, 6个元素出的顺序是e2、e4、e3、e6、e5、e1, S的容 少是( )。 A 6 B 4 C 3 D 2 【解答】C 【分析】于 具有先进先出性, 以,此题中 同虚 ,出的顺序也是e2、e4、e3、e6、e5、e1。 一个的入序 是1,2,3,4,5, 的不可 的输出序 是( )
34、。 A 54321 B 45321 C 43512 D 12345 【解答】C 【分析】此题有一个技巧:在输出序 中任元素后面不 出 比元素小并是升序(指的是元素的序)的两个元素。 计一个 别 中 括是否currency1的算法,采 ( )数据结构最佳 A 顺序 B C D 链 【解答】B 【分析】个 括与它前面的最后一个没有匹currency1的 括currency1,因此具有后进先出性。 在解 计算机主机与打印机之间 不匹currency1 题时通常 fi一个打印缓冲区,缓冲区是一个( )结构。 A B C 数 D线性 【解答】B 【分析】先进入打印缓冲区的 件先被打印,因此具有先进先出性
35、。 一个 的入顺序是1,2,3,4, 的输出顺序是( )。 A 4321 B 1234 C 1432 D 3241 【解答】B 【分析】 的入顺序和出顺序总是一 的。 和 的主要区别在于( )。 A 它们的逻辑结构不一 B 它们的存储结构不一 C 包含的运算不一 D 入、 运算的 定不一 【解答】D 【分析】和 的逻辑结构都是线性的,都有顺序存储和链接存储,有可 包含的运算不一, 不是主要区别,任何数据结构在fl具体 题时包含的运算都可 不同。 数Sn作为两个S1和S2的存储空间,任何一个 有当Sn全满时不 进行进作。为这两个分currency1空间的最佳方案是( )。 A S1的底位fi为0
36、,S2的底位fi为n-1 B S1的底位fi为0,S2的底位fi为n/2 C S1的底位fi为0,S2的底位fi为n D S1的底位fi为0,S2的底位fi为1 【解答】A 【分析】两共享空间 先两个是向长的,底分别指向两个中的第一个元素的位fi,并注C+中的数 是从0开始的。 有两个 p和q,q在p中 出 的位fi的运算称作( )。 A 连接 B 匹currency1 C D 长 【解答】B 3. 题 有n个元素 进, 出序 有(n-1)/2种。 【解答】。有 种。 可以作为 程 的一种数据结构。 【解答】。 要作满足后进先出性,都可以采 作为辅助数据结构。 在满的 不 做进作,否 生上溢。
37、 【解答】。 在循环 中,front指向头元素的前一个位fi,rear指向尾元素的位fi, 满的条件是front=rear。 【解答】。这是空的 定条件,在循环 中要空和满的 定条件区别开。 空 与空格 是同的。 【解答】。空 的长 为零,而空格 的长 不为0,其长 是 中空格的个数。 4. 有一个,元素进的序为A,B,C,D,E, 否 到” 出序 , , 出作序 , 不 , 因。 C,E,A,B,D C,B,A,D,E 【解答】不 ,因为在C、E出的 ,A一定在中,而在B的 面,不可 先于B出。可以, 为进作,为入作, 其作序 为IIIOOOIOIO。 5. 举例 顺序 的溢出 象。 【解答
38、】 有一个顺序 ,”图3-6 ,尾指flrear=4,头指flfront=1,”果 有元素入,生上溢,此时的上溢 称为溢出,因为 并不是真的溢出了,存储 的数中还有2个存储单元空闲,其 分别为0和1。 6. 在作序 push(1)、push(2)、pop、push(5)、push(7)、pop、push(6)之后, 元素和底元素分别是什么 (push(k) 整数k入,pop 元素出。) 【解答】 元素为6,底元素为1。其 行 程”图3-7 。 7 在作序 EnQueue(1)、 EnQueue(3)、 DeQueue、EnQueue(5)、EnQueue(7)、DeQueue、EnQueue(
39、9)之后,头元素和尾元素分别是什么 (EnQueue(k) 整数k入,DeQueue 头元素出)。 【解答】头元素为5,尾元素为9。其 行 程”图3-8 。 8空 和空格 有何区别 中的空格 有何 空 在 处理中有何作 【解答】不含任何 的 称为空 ,其长 为零。含空格的 称为空格 ,它的长 为 中空格 的个数。 中的空格 可 分隔一 的 ,便于人们识别和阅 , 计算 长时包括这些空格 。空在 处理中可作为任 的 。 9. 算法 计 以不 头结的循环链 ,并 一个指fl指向尾结, 不 头指fl。试 计的入和出的算法。 【解答】出作是在循环链 的头部进行,当于 开始结,而入作是在循环链 的尾部进
40、行,当于在终 结之后 入一个结。于循环链 不 头结,要处理空 的特殊 。 入算法” : 出算法” : 顺序S中有2n个元素,从 到底的元素 为a2n,a2n-1,a1,要通 一个循环 新排 中元素,使 从 到底的元素 为a2n,a2n-2,a2,a2n-1,a2n-3,a1,计算法 作,要空间 和时间 均为O(n)。 【解答】作 为: 有元素出并入 元素出,”果是 数结, 入,”果是 数结, 入 数结出并入 数结出并入 有元素出并入 有元素出并入为 。 顺序存储结构存储 S, 算法 S中第 i个 开始的连续j个 。 【解答】先 S中要 的内容是否存在, 存在, 第i+j-1之后的 前移j个位f
41、i。算法” : 于采 顺序存储结构的 S, 一个 数 其值等于ch的 有 。 【解答】从后向前 值为ch的 有元素,这 有移动的元素中没有值为ch的元素, 减少移动元素的数,算法的 。算法” : 的 匹currency1KMP算法 计 滑动位fi的next 数。 【解答】参见3.2.5 学习 测及答案 1在一个具有n个单元的顺序中,定以 址 ( 为0的单元)作为底,以top作为 指fl,当出时,top的变化为( )。 A 不变 B top=0; C top=top-1; D top=top+1; 【解答】C 2一个的入序 是a, b, c, d, e, 的不可 的出序 是( )。 A edcb
42、a B cdeba C debca D abcde 【解答】C 3从 指fl为top的链中 一个结, x 存被 结的值, 行( )。 A x=top; top=top-next; B x=top-data; C top=top-next; x=top-data; D x=top-data; top=top-next; 【解答】D 4 元素1, 2, 3, P, A 一个,进序为123PA,在的输出序 中,有哪些序 可作为C+程序 计语言的变 名。 【解答】PA321, P3A21, P32A1, P321A, AP321 5. S=“I_ am_ a_ teacther“,其长 为( )。 【
43、解答】15 6于和 ,无论它们采 顺序存储结构还是链接存储结构,进行 入和 作的时间 都是( )。 【解答】(1) 7”果进序 为A、B、C、D, 可 的出序 是什么 答:共14种,分别是:ABCD,ABDC,ACBD,ACDB,ADCB,BACD,BADC,BCAD,BCDA,BDCA,CBAD,CBDA,CDBA,DCBA 8 述 和这两种数据结构的同和不同。 【解答】同:它们都是 入和 作的位fi受 制的线性 。 不同:是 定在 尾进行 入和 的线性 ,是后进先出的线性 ,而 是 定在 的一 进行 入,在 一 进行 的线性 ,是先进先出的线性 。 9. 两个S1和S2 拟一个 ,”何 的
44、运算 的 入和 作, 述算法 。 【解答】 两个S1和S2 拟一个 ,当要向 中 入一个元素时, S1 存 输入的元素,通 向S1 行入作 当要从 中 元素时, S1中元素全部送入到S2中,从S2中 元素,最后 S2中元素全部送入到S1中 空的条件是:S1和S2同时为空。 10. 计算法一个十进制整数转 为二 九进制之间的任一进制数输出。 【解答】算法基于 理:N=(N div d)d + N mod d (div为整 运算,mod为余运算)。 11 一个算术 中可以包含种括:圆括(和),方括”和”以及 括”和”,这种括可按任的序嵌套使 。 算法 给定 中 含括是否currency1出 。 【解答】 存入 数An中,具体算法” : 第 4 章 广 线性 多数和广 课后习题讲解 1. 填空 数通常 有两种运算:( )和( ),这 定了数通常采 ( )结构 存储。 【解答】存取,修 ,顺序存储 【分析】数是一个具有固定格 和数 的数据集合,在数上一 不 做 入、 元素的作。 了始化和毁之,在数中通常 有存取和修 两种作。 二数A中行 从10到20, 从5到10,按行优先存储,个元素 4个存储单元,A105的存储 址是1000, 元素A1510的存储 址是( )。 【解答】1140 【分析】数A中行共有6个元素,元素A1510的前面共存储了(15-10)6+5