第八章自测题答案解析

第八章自测题答案解析
第八章自测题答案解析

第8章 查找 自测卷答案 姓名 班级

一、填空题(每空1分,共10分)

1. 在数据的存放无规律而言的线性表中进行检索的最佳方法是 顺序查找(线性查找) 。

2. 线性有序表(a 1,a 2,a 3,…,a 256)是从小到大排列的,对一个给定的值k ,用二分法检索表中与k 相等的元素,在查找不成功的情况下,最多需要检索 9 次。设有100个结点,用二分法查找时,最大比较次数是 7 。

3. 假设在有序线性表a[20]上进行折半查找,则比较一次查找成功的结点数为1;比较两次查找成功的结点数为 2 ;比较四次查找成功的结点数为 8 ;平均查找长度为 3.7 。 解:显然,平均查找长度=O (log 2n )<5次(25)。但具体是多少次,则不应当按照公式

)1(log 1

2++=

n n

n ASL 来计算(即(21×log 221)/20=4.6次并不正确!)。因为这是在假设n =2m -1的情况下推导出来的公式。应当用穷举法罗列:

全部元素的查找次数为=(1+2×2+4×3+8×4+5×5)=74; ASL =74/20=3.7 !!!

4.【计研题2000】折半查找有序表(4,6,12,20,28,38,50,70,88,100),若查找表中元素20,它将依次与表中元素 28,6,12,20 比较大小。

5. 在各种查找方法中,平均查找长度与结点个数n 无关的查找方法是 散列查找 。

6. 散列法存储的基本思想是由 关键字的值 决定数据的存储地址。

7. 有一个表长为m 的散列表,初始状态为空,现将n (n

二、单项选择题(每小题1分,共27分)

( B )1.在表长为n的链表中进行线性查找,它的平均查找长度为

A. ASL=n; B. ASL=(n+1)/2;

C. ASL=n +1; D. ASL≈log2(n+1)-1

( A )2.【计研题2001】折半查找有序表(4,6,10,12,20,30,50,70,88,100)。若查找表中

元素58,则它将依次与表中 比较大小,查找结果是失败。

A .20,70,30,50

B .30,88,70,50

C .20,50

D .30,88,50 ( B )3.【计研题2001】对22个记录的有序表作折半查找,当查找失败时,至少需要比较 次

关键字。

A .3

B .4

C .5

D . 6

(A)4. 链表适用于查找

A.顺序B.二分法C.顺序,也能二分法D.随机

6.【91程P3】从供选择的答案中,选出应填入下面叙述?内的最确切的解答,把相应编号写在答卷的对应栏内。

要进行线性查找,则线性表 A ;要进行二分查找,则线性表 B ;要进行散列查找,则线性表C 。

某顺序存储的表格,其中有90000个元素,已按关键项的值的上升顺序排列。现假定对各个元素进行查找的概率是相同的,并且各个元素的关键项的值皆不相同。当用顺序查找法查找时,平均比较次数约为D ,最大比较次数为 E 。

供选择的答案:

A~C:①必须以顺序方式存储②必须以链表方式存储③必须以散列方式存储

④既可以以顺序方式,也可以以链表方式存储

⑤必须以顺序方式存储且数据元素已按值递增或递减的次序排好

⑥必须以链表方式存储且数据元素已按值递增或递减的次序排好

D,E:①25000 ②30000 ③45000 ④90000

答案:A= ④B= ⑤C= ③D=③E=④

7. (96初程P73)从供选择的答案中,选出应填入下面叙述?内的最确切的解答,把相应编号写在答卷的对应栏内。

数据结构反映了数据元素之间的结构关系。链表是一种 A ,它对于数据元素的插入和删除B 。通常查找线性表数据元素的方法有 C 和 D 两种方法,其中 C 是一种只适合于顺序存储结构但 E 的方法;而 D 是一种对顺序和链式存储结构均适用的方法。

供选择的答案:

A:①顺序存储线性表②非顺序存储非线性表③顺序存储非线性表④非顺序存储线性表

B:①不需要移动结点,不需改变结点指针②不需要移动结点,只需改变结点指针

③只需移动结点,不需改变结点指针④既需移动结点,又需改变结点指针

C:①顺序查找②循环查找③条件查找④二分法查找

D:①顺序查找②随机查找③二分法查找④分块查找

E:①效率较低的线性查找②效率较低的非线性查找

③效率较高的非线性查找④效率较高的线性查找

答案:A=④B=②C=④D=①E=③

8. 【97程P18】从供选择的答案中,选出应填入下面叙述?内的最确切的解答,把相应编号写在答卷的对应栏内。

在二叉排序树中,每个结点的关键码值 A , B 一棵二叉排序,即可得到排序序列。同一个结点集合,可用不同的二叉排序树表示,人们把平均检索长度最短的二叉排序树称作最佳二叉排序,最佳二叉排序树在结构上的特点是 C 。

供选择的答案

A:①比左子树所有结点的关键码值大,比右子树所有结点的关键码值小

②比左子树所有结点的关键码值小,比右子树所有结点的关键码值大

③比左右子树的所有结点的关键码值都大

④与左子树所有结点的关键码值和右子树所有结点的关键码值无必然的大小关系

B: ①前序遍历②中序(对称)遍历③后序遍历④层次遍历

C:①除最下二层可以不满外,其余都是充满的②除最下一层可以不满外,其余都是充满的

③每个结点的左右子树的高度之差的绝对值不大于1 ④最下层的叶子必须在最左边

答案:A=①B=②C=②

9. 【92程P6】从供选择的答案中,选出应填入下面叙述?内的最确切的解答,把相应编号写在答卷的对应栏内。

散列法存储的基本思想是根据 A 来决定 B ,碰撞(冲突)指的是 C ,处理碰撞的两类主要方法是 D 。

供选择的答案

A,B:①存储地址②元素的符号③元素个数④关键码值

⑤非码属性⑥平均检索长度⑦负载因子⑧散列表空间

C: ①两个元素具有相同序号②两个元素的关键码值不同,而非码属性相同

③不同关键码值对应到相同的存储地址④负载因子过大⑤数据元素过多

D:①线性探查法和双散列函数法②建溢出区法和不建溢出区法

③除余法和折叠法④拉链法和开地址法

答案:A=④B=①C=③D=④

10.【91程P4】考虑具有如下性质的二叉树:除叶子结点外,每个

结点的值都大于其左子树上的一切结点的值。并小于等于其右子树

上的一切结点的值。

现把9个数1,2,3,…,8,9填入右图所示的二叉树的9个

结点中,并使之具有上述性质。此时,n1的值是A ,n2的值

是 B ,n9的值是 C 。现欲把10放入此树并使该树保持

前述性质,增加的一个结点可以放在 D 或 E 。

供选择的答案

A~C:①1 ② 2 ③ 3 ④ 4 ⑤ 5

⑥6 ⑦7 ⑧8 ⑨9

D~E:①n7下面②n8下面③n9下面④n6下面

⑤n1与n2之间⑥n2与n4之间⑦n6与n9之间⑧n3与n6之间

答案:A=⑦B=④C=⑥D=②E=⑥

三、简答题(每小题4分,共16分)

1.【全国专升本题】对分(折半)查找适不适合链表结构的序列,为什么?用二分查找的查找速度必然比线性查找的速度快,这种说法对吗?

答:不适合!虽然有序的单链表的结点是按从小到大(或从大到小)顺序排列,但因其存储结构为单链表,查找结点时只能从头指针开始逐步搜索,故不能进行折半查找。

二分查找的速度在一般情况下是快些,但在特殊情况下未必快。例如所查数据位于首位时,则线性查找快;而二分查找则慢得多。

2.【计研题1999】假定对有序表:(3,4,5,7,24,30,42,54,63,72,87,95)进行折半查找,试回答下列问题:

(1)画出描述折半查找过程的判定树;

(2)若查找元素54,需依次与哪些元素比较?

(3)若查找元素90,需依次与哪些元素比较?

(4)假定每个元素的查找概率相等,求查找成功时的平均查找长度。

解:

(1)先画出判定树如下(注:mid=?(1+12)/2?=6):

30

5 63

3 7 42 87

4 24 54 72 95

(2) 查找元素54,需依次与30, 63, 42, 54 等元素比较;

(3) 查找元素90,需依次与30, 63,87, 95等元素比较;

(4)求ASL之前,需要统计每个元素的查找次数。判定树的前3层共查找1+2×2+4×3=17次;

但最后一层未满,不能用8×4,只能用5×4=20次,

所以ASL=1/12(17+20)=37/12≈3.08

3. 【全国专升本题】用比较两个元素大小的方法在一个给定的序列中查找某个元素的时间复杂度下限是什么? 如果要求时间复杂度更小,你采用什么方法?此方法的时间复杂度是多少?

答:查找某个元素的时间复杂度下限,如果理解为最短查找时间,则当关键字值与表头元素相同时,比较1次即可。要想降低时间复杂度,可以改用Hash查找法。此方法对表内每个元素的比较次数都是O(1)。

4. 【计研题1999】设哈希(Hash)表的地址范围为0~17,哈希函数为:H(K)=K MOD 16。

K为关键字,用线性探测法再散列法处理冲突,输入关键字序列:

(10,24,32,17,31,30,46,47,40,63,49)

造出Hash表,试回答下列问题:

(1)画出哈希表的示意图;

(2)若查找关键字63,需要依次与哪些关键字进行比较?

(3)若查找关键字60,需要依次与哪些关键字比较?

(4)假定每个关键字的查找概率相等,求查找成功时的平均查找长度。

然后顺移,与46,47,32,17,63相比,一共比较了6次!

(3)查找60,首先要与H(60)=60%16=12号单元内容比较,但因为12号单元为空(应当有空标记),所以应当只比较这一次即可。

(4)对于黑色数据元素,各比较1次;共6次;

对红色元素则各不相同,要统计移位的位数。“63”需要6次,“49”需要3次,“40”需要2次,“46”需要3次,“47”需要3次,

所以ASL=1/11(6+6+2+3×3)=23/11≈2.09

四、分析题(每小题6分,共24分)

1. 【严题集9.3②】画出对长度为10的有序表进行折半查找的判定树,并求其等概率时查找成功的平均查找长度。

解:判定树应当描述每次查找的位置:

5

28

1 3 6

9

4 7 10

2. 【全国专升本考题】在一棵空的二叉查找树中依次插入关键字序列为12,7,17,11,16,2,13,9,21,4,请画出所得到的二叉查找树。

答:

12

717

2 11 16 21

4 9 13

验算方法:用中序遍历应得到排序结果:2,4,7,9,11,12,13,16,17,21

3. 【严题集9.9③】已知如下所示长度为12的表:

(Jan, Feb, Mar, Apr, May, June, July, Aug, Sep, Oct, Nov, Dec)

(1)试按表中元素的顺序依次插入一棵初始为空的二叉排序树,画出插入完成之后的二叉排序树,并求其

在等概率的情况下查找成功的平均查找长度。

(2)若对表中元素先进行排序构成有序表,求在等概率的情况下对此有序表进行折半查找时查找成功的平

均查找长度。

(3) 按表中元素顺序构造一棵平衡二叉排序树,并求其在等概率的情况下查找成功的平均查找长度。 解:

4. 选取散列函数H (key )=(3*key )%11,用线性探测法处理冲突,对下列关键码序列构造一个散列地址空间为0~10,表长为11的散列表,{22,41,53,08,46,30,01,31,66}。 解:由题意知,m=11(刚好为素数)

则(22*3)%11=6......0 (41*3)%11=11......2 (53*3)%11=14 (5)

(08*3)%11=2 (2)

(46*3)%11=12 (6)

(30*3)%11=8 (2)

(01*3)%11=0 (3)

(31*3)%11=8 (5)

(66*3)%11=9 0

0 1 2 3 4 5 6 7 8 9 10

1 3 4,7

五、算法设计题(4中选3,第1题7分必选,其余每题8分,共23分)

1.已知11个元素的有序表为(05 13 19 21 37 56 64 75 80 88 92), 请写出折半查找的算

法程序,查找关键字为key的数据元素(建议上机调试)。

解:折半查找的C程序有很多参考资料,注意此题要求是整型量。

折半查找的一个递归算法如下,形式非常简洁!

int Search_Bin_Recursive(SSTable ST, int key, int low, int high) //折半查找的递归算法

{

if(low>high) return 0; //查找不到时返回0

mid=(low+high)/2;

if(ST.elem[mid].key= =key) return mid;

else if(ST.elem[mid].key>key)

return Search_Bin_Recursive(ST, key, low, mid-1);

else return Search_Bin_Recursive(ST, key, mid+1, high);

}

}//Search_Bin_Recursive

2. 【严题集9.31④】试写一个判别给定二叉树是否为二叉排序树的算法,设此二叉树以二叉链表作存储结构。且树中结点的关键字均不同。

解:注意仔细研究二叉排序树的定义。易犯的典型错误是按下述思路进行判别:“若一棵非空的二叉树其左、右子树均为二叉排序树,且左子树的根的值小于根结点的值,又根结点的值不大于右子树的根的值,则是二叉排序树”

(刘注:即不能只判断左右孩子的情况,还要判断左右孩子与双亲甚至根结点的比值也要遵循(左小右大)原则)。

若要采用递归算法,建议您采用如下的函数首部:

bool BisortTree(BiTree T, BiTree&PRE),其中PRE为指向当前访问结点的前驱的指针。

(或者直接存储前驱的数值,随时与当前根结点比较)

一个漂亮的算法设计如下:

int last=0, flag=1; // last是全局变量,用来记录前驱结点值,只要每个结点都比前驱大就行。int Is_BSTree(Bitree T) //判断二叉树T是否二叉排序树,是则返回1,否则返回0

{

if(T->lchild&&flag) Is_BSTree(T->lchild);

if(T->data

last=T->data;

if(T->rchild&&flag) Is_BSTree(T->rchild);

return flag;

}//Is_BSTree

3.【严题集9.22④】已知一个含有1000个记录的表,关键字为中国人姓氏的拼音,请给出此表的一个哈

希表设计方案,要求它在等概率情况下查找成功的平均查找长度不超过3。

解:设计哈希表的步骤为:

a)根据所选择的处理冲突的方法求出装载因子a的上界;

b)由a值设计哈希表的长度m;

c)根据关键字的特性和表长m选定合适的哈希函数。

刘注:要求ASL≤3,则m必然要尽量长,以减少冲突;

4.【严题集9.44④】已知某哈希表的装载因子小于1,哈希函数H(key)为关键字(标识符)的第一个字

母在字母表中的序号,处理冲突的方法为线性探测开放定址法。试编写一个按第一个字母的顺序输出哈希表中所有关键字的算法。

解:注意此题给出的条件:装载因子a〈1, 则哈希表未填满。由此可写出下列形式简明的算法:

void PrintWord(Hash Table ht)

{//按第一个字母的顺序输出哈希表ht中的标识符。哈希函数为表示符的第一个字母在字母表中的序号,处理冲突的方法是线性探测开放定址法。

for(i=1; i<=26; i++){

j=i;

While(ht.elem[j].key){

if(Hash(ht.elem[j].key==i)printf(ht.elem[j].key);

j=(j+1)%m;

}

}

}//PrintWord

第10章排序自测题答案

第9章排序自测卷姓名班级 一、填空题(每空1分,共24分) 1. 大多数排序算法都有两个基本的操作:比较和移动。 2. 在对一组记录(54,38,96,23,15,72,60,45,83)进行直接插入排序时,当把第7个记录60插 入到有序表时,为寻找插入位置至少需比较6 次。 3. 在插入和选择排序中,若初始数据基本正序,则选用插入;若初始数据基本反序,则选用 选择。 4. 在堆排序和快速排序中,若初始记录接近正序或反序,则选用堆排序;若初始记录基本 无序,则最好选用快速排序。 5. 对于n个记录的集合进行冒泡排序,在最坏的情况下所需要的时间是O(n2) 。若对其进行快速 排序,在最坏的情况下所需要的时间是O(n2)。 6. 对于n个记录的集合进行归并排序,所需要的平均时间是O(nlog2n),所需要的附加空间 是O(n) 。 7.对于n个记录的表进行2路归并排序,整个归并排序需进行┌log2n┐趟(遍)。 8. 设要将序列(Q, H, C, Y, P, A, M, S, R, D, F, X)中的关键码按字母序的升序重新排列,则: 冒泡排序一趟扫描的结果是H C Q P A M S R D F X Y; 初始步长为4的希尔(shell)排序一趟的结果是P A C S Q H F X R D M Y ; 二路归并排序一趟扫描的结果是H Q C Y A P M S D R F X; 快速排序一趟扫描的结果是 F H C D P A M Q R S Y X; 堆排序初始建堆的结果是A D C R F Q M S Y P H X。 9. 在堆排序、快速排序和归并排序中, 若只从存储空间考虑,则应首先选取方法,其次选取快速排序方法,最后选取归并排序方法; 若只从排序结果的稳定性考虑,则应选取归并排序方法; 若只从平均情况下最快考虑,则应选取堆排序、快速排序和归并排序方法; 若只从最坏情况下最快并且要节省内存考虑,则应选取堆排序方法。 二、单项选择题(每小题1分,共18分) ( C )1.将5个不同的数据进行排序,至多需要比较次。 A. 8 B. 9 C. 10 D. 25 (C)2.排序方法中,从未排序序列中依次取出元素与已排序序列(初始时为空)中的元素进行比较,将其放入已排序序列的正确位置上的方法,称为 A. 希尔排序B. 冒泡排序C. 插入排序D. 选择排序(D)3.从未排序序列中挑选元素,并将其依次插入已排序序列(初始时为空)的一端的方法,称为

青岛版七下数学第8章--角测试题及答案

、选择题(共12小题,36 分) 第8章角测试题 B. 和/5 C. 和Z4 D. /I 和 / 5 2. / a和的顶点和一边都重合,另一边都在公共边的同侧,且/a> / 0那么/ a的另 的() A.另一边上 B.内部 边落在 C.外部 D.以上结论都不对 3.下列关于角的说法正确的个数是 __________ ①角是由两条射线组成的图形; ②角的边越长,角越大; ③在角一边延长线上取一点 D; A. 1 B. 2 4.画一条线段的垂线,垂足在() A.这条线段上 C.这条线段的延长线上C. 3 D. 4 B.这条线段的端点上 D. 以上都可以 5. 8点30分时,钟表的时针与分针的夹角为() A. 60 ° B. 75 ° C. 80 ° D. 76 ° 6. 一个角的补角是它的余角的3倍,那么这个角的度数是() A. 60 ° B. 45 ° C. 30 ° D. 15 ° a,以0B为始边作/ BOC= 0( a> 0),则/ AOC勺大小为 _______ A. a + 0 C. a + 0 或a- 0 B. a - 0 D.以上都不正确是对顶角的一组是

AB 丄BD , BC 丄CD, AD = 6 cm , BC = 4 cm ,则线段 BD 的范围是 B. 小于4 cm 、填空题(共5小题;共15分) 13. 若/I 与/2互余,/1=32 °」V /2等于 ___________________ ;若/%与/3互补,/a = n 〔则/3等 于 ________. 1 14. 若/A 与/B 互为邻补角,且 /A = 3 /B,那么 /B = ______________ . 15. 如图,直线 AB 、CD 、EF 相交于点 O , / AOC 的对顶角是 _____________________ , / BOF 的对顶角 是 ________,如果 / COF= 110 °,贝U / EOD= ________ , / DOF= _________ . 8?点P 是直线I 外一点, 直线I 的距离() A.等于2 cm A , B , C 为直线 B.小于2 cm l 上三点,PA= 4 cm , PB = 5 cm , PC= 2 cm ,则点 P 到 C.不大于2 cm D.等于4 cm 9.已知 /a = 35 ° 19?, A. 144 °41? /a 的余角等于( B. 144 81? C. 54 °41? D. 54°81? 10.如图,已知 / AOB= 40 °, / AOC= 90 ,OD 平分/ BOC 贝U / AOD 的度数是 A. 20 ° B. 25 ° C. 30 ° D. 35 ° C. 大于4 cm 且小于6 cm D. 小于6 cm 或大于4 cm 12.如果/ a 和Z3互补,且 Za > Z 3则下列表示 的余角的式子中:① 90 1 1 ③2 (/a + / 0 :④(/ a - / 0 .正确的有() A. 4个 B. 3个 C. 2个 D. 1个 ② / a - 90 ° 已知 11.如图所示, A.大于4 cm

中央电大第二学期期未闭卷复习题及答案人力资源第八章自测题

第八章自测题 一、单选题 1、绩效管理能够提供有关员工的工作及成果的信息,这 A 主要指绩效管理的()。 A、反馈功能 B、甄别功能 C、补偿功能 D、管理功能 2、绩效管理的核心、关键部分是()。C A、准备绩效考核系统 B、实施绩效考核过程 C、设计绩效考核系统 D、评估绩效考核系统 3、信度,主要指绩效考核系统所具备标准中的()。C A、明确性 B、敏感性 C、一致性 D、准确性 4、效度,主要指绩效考核系统所具备标准中的()。D A、明确性 B、敏感性 C、一致性 D、准确性 5、绩效考核指标设计过程的第一步为()。C A、试用 B、归类合并筛选 C、指标内容设计 D、量化 6、绩效考核指标必须与工作内容紧密相关,而且是员工 A 能够影响和控制的,这主要指绩效考核指标的()。 A、绩效考核指标与工作绩效一致原则 B、绩效考核指标的可 观察原则C、绩效考核指标的结构性原则D、绩效考核指标的独立性原则 7、在绩效考核过程中,可以极大的降低抵触情绪的考核 D 者是()。 A、直接上司 B、同事 C、被考核者本人 D、下级员工

8、适用于专业性组织如大学和医院或专业性部门的考评 方法为()。 B A、直接上司 B、同事 C、被考核者本人 D、下级员工/FONT> 9、可能会导致“穿小鞋”的一种考评方法是()。D A、直接上司 B、同事 C、被考核者本人 D、下级员工 10、绩效考评的实施程序中的纵向程序中,考评一般先 ()。 A A、基层考评 B、中层考评 C、高层考评 D、都可以 11、要求考核者将每一个员工与其他员工进行一对一的比 较,并记录员工在每一次比较中的结果,最后,汇总员工 的优胜次数,得出员工的绩效得分,排出顺序。这主要指 ()。 C A、简单排序法 B、交替配对排序法 C、配对比较法 D、强 制分布法 12、绩效考核中,典型的成果法是()。A A、目标管理法 B、交替配对排序法 C、评价中心技术法 D、 强制分布法 二、多选题 1、下列关于绩效管理理解正确的是()。BCE A、绩效管理就是绩效考核 B、绩效考核只是绩效管理过程的一个组成 部分 C、绩效管理的核心是绩效考核 D、绩效管理是一个行为 E、 绩效管理可以各种形式被运用到管理决策中 2、绩效管理的职能包括()。ABE A、反馈功能 B、甄别功能 C、补偿功能 D、激励功能 E、 管理功能

数据结构第十章习题课

1.下列排序算法中,其中()是稳定的。 A. 堆排序,冒泡排序 B. 快速排序,堆排序 C. 直接选择排序,归并排序 D. 归并排序,冒泡排序 2.若需在O(nlog2n)的时间内完成对数组的排序,且要求排序是稳定的,则可选择的排序方法是()。 A. 快速排序 B. 堆排序 C. 归并排序 D. 直接插入排序3.排序趟数与序列的原始状态有关的排序方法是( )排序法。 A.插入 B. 选择 C. 冒泡 D. 快速4.对一组数据(84,47,25,15,21)排序,数据的排列次序在排序的过程中 的变化为(1)84 47 25 15 21 (2)15 47 25 84 21 (3)15 21 25 84 47 (4) 15 21 25 47 84 则采用的排序是( )。 A. 选择 B. 冒泡 C. 快速 D. 插入5.对序列{15,9,7,8,20,-1,4}进行排序,进行一趟后数据的排列变为{4,9,-1,8,20,7,15};则采用的是()排序。 A. 选择 B. 快速 C. 希尔 D. 冒泡6.若上题的数据经一趟排序后的排列为{9,15,7,8,20,-1,4},则采用的 是()排序。 A.选择 B. 堆 C. 直接插入 D. 冒泡 7.在文件“局部有序”或文件长度较小的情况下,最佳内部排序的方法是()A.直接插入排序B.冒泡排序C.简单选择排序 8.下列排序算法中,()算法可能会出现下面情况:在最后一趟开始之前,所有元素都不在其最终的位置上。 A. 堆排序 B. 冒泡排序 C. 快速排序 D. 插入排序 9. 下列排序算法中,占用辅助空间最多的是:( ) A. 归并排序 B. 快速排序 C. 希尔排序 D. 堆排序10.用直接插入排序方法对下面四个序列进行排序(由小到大),元素比较次数 最少的是()。 A.94,32,40,90,80,46,21,69 B.32,40,21,46,69,94,90,80 C.21,32,46,40,80,69,90,94 D.90,69,80,46,21,32,94,40 11. 若用冒泡排序方法对序列{10,14,26,29,41,52}从大到小排序,需进行()次比较。 A. 3 B. 10 C. 15 D. 25 12.对n个记录的线性表进行快速排序为减少算法的递归深度,以下叙述正确

8第八章 植物的生殖生理自测试题参考答案

第八章植物的生殖生理复习题参考答案 一、名词解释 1、幼年期(juvenility,juvenile stage):通常将植物达到花熟状态之前的营养生长时期称为幼年期。 2、花熟状态(ripeness to flower state):植物开花之前必须达到的生理状态称为花熟状态。 3、春化作用(vernalization):低温诱导促使植物开花的作用叫春化作用。如冬小麦、胡萝卜、白菜、甜菜等植物的开花都需要经过春化作用。 4、春化处理(vernalization):对萌动的种子或幼苗进行人为的低温处理,使之完成春化作用促进成花的措施称为春化处理。 5、去春化作用(devernalization):在植物春化过程结束之前,将植物放到高温条件下生长,低温的效果会被减弱或消除,这种由于高温解除春化作用的现象称为去春化作用。 6、再春化作用(revernalization):去春化的植物再度被低温恢复春化的现象称为再春化作用。 7、春化素(vernalin):在春化过程中植株中形成的某种开花刺激物质,称为春化素。 8、光周期(photoperiod):自然界一昼夜间的光暗交替,即白天和黑夜的相对长度称为光周期。 9、光周期现象(photoperiodism):昼夜的相对长度对植物生长发育的影响叫做光周期现象。如植物成花的光周期现象。 10、长日植物(long-day plant, LDP):在昼夜周期中日照长度长于某一临界值时才能成花的植物。如延长光照或在暗期短期照光可促进或提早开花。如天仙子、小麦等。 11、短日植物(short-day plant, SDP):在昼夜周期中日照长度短于某一临界值时才能成花的植物。如适当延长黑暗或缩短光照可促进或提早开花。如菊花、苍耳、晚稻等。 12、日中性植物(day-neutral plant, DNP):成花对日照长度不敏感,只要其它条件满足,在任何日照长度下都能开花的植物。如月季,黄瓜等。 13、中日性植物(intermediate-day plant, IDP):只有在某一定中等长度的日照条件下才能开花,而在较长或较短日照下均保持营养生长状态的植物,如甘蔗要求11.5~12.5h日照。 14、双重日长植物(dual day-length plant):在花诱导和花形成的这两个过程中对日照长度的要求有所不同的一类植物。如风铃草、夜香树等。 15、长-短日植物(long-short day plant):这类植物的花诱导要求长日照而花形成要求短日照的双重日照条件,如大叶落地生根、芦荟、夜香树等。 16、短-长日植物(short-long day plant):这类植物的花诱导要求短日照而花形成要求长日照的双重日照条件,如风铃草、鸭茅、瓦松、白三叶草等。 17、长夜植物(Long-night plant)和短夜植物(short -night plant):由于临界暗期比临界日长对诱导植物成花更为重要,所以说短日植物实际上是长夜植物;长日植物实际上是短夜植物。 18、临界日长(critical day length):昼夜周期中,引起长日植物成花的最短日照长度或引起短日植物成花的最长日照长度。如长日植物天仙子的临界日

第九章自测题答案

第9章排序自测卷答案姓名班级 一、填空题(每空1分,共24分) 1. 大多数排序算法都有两个基本的操作:比较(两个关键字的大小)和移动(记录或改变指向记录的 指针)。 2.在对一组记录(54,38,96,23,15,72,60,45,83)进行直接插入排序时,当把第7个记录60插入到有序表时,为寻找插入位置至少需比较3次。(可约定为,从后向前比较) 3. 在插入和选择排序中,若初始数据基本正序,则选用插入排序(到尾部);若初始数据基本反序,则选用 选择排序。 4.在堆排序和快速排序中,若初始记录接近正序或反序,则选用堆排序;若初始记录基本无序,则最好选用快速排序。 5. 对于n个记录的集合进行冒泡排序,在最坏的情况下所需要的时间是O(n2) 。若对其进行快速排序,在 最坏的情况下所需要的时间是O(n2) 。 6.对于n个记录的集合进行归并排序,所需要的平均时间是O(nlog2n),所需要的附加空间是O(n)。 8.设要将序列(Q,H,C, Y, P, A,M, S, R, D,F,X)中的关键码按字母序的升序重新排列,则:冒泡排序一趟扫描的结果是H, C, Q, P, A, M,S,R, D, F,X ,Y; 初始步长为4的希尔(shell)排序一趟的结果是P, A, C, S,Q, D,F, X , R, H,M,Y; 二路归并排序一趟扫描的结果是H, Q, C,Y,A,P,M,S,D, R, F, X; 快速排序一趟扫描的结果是F,H, C,D,P,A, M, Q, R,S, Y,X; 堆排序初始建堆的结果是A,D, C,R, F, Q,M, S, Y,P, H,X。 9. 在堆排序、快速排序和归并排序中, 若只从存储空间考虑,则应首先选取堆排序方法,其次选取快速排序方法,最后选取归并排序方法; 若只从排序结果的稳定性考虑,则应选取归并排序方法; 若只从平均情况下最快考虑,则应选取快速排序方法; 若只从最坏情况下最快并且要节省内存考虑,则应选取堆排序方法。 二、单项选择题(每小题1分,共18分) ( C)1.将5个不同的数据进行排序,至多需要比较次。 A. 8B.9C.10 D. 25 ( C)2. 排序方法中,从未排序序列中依次取出元素与已排序序列(初始时为空)中的元素进行比较,将其放

数据结构(C语言)第10章排序自测题

第9章排序 一、填空题(每空1分,共24分) 1. 大多数排序算法都有两个基本的操作:和。 2. 在对一组记录(54,38,96,23,15,72,60,45,83)进行直接插入排序时,当把第7个记录60插入到有序表时,为寻找插入位置至少需比较次。 3. 在插入和选择排序中,若初始数据基本正序,则选 用;若初始数据基本反序,则选用。 4. 在堆排序和快速排序中,若初始记录接近正序或反序,则选用;若初始记录基本无序,则最好选用。 5. 对于n个记录的集合进行冒泡排序,在最坏的情况下所需要的时间是。若对其进行快速排序,在最坏的情况下所需要的时间是。 6. 对于n个记录的集合进行归并排序,所需要的平均时间是,所需要的附加空间是。 7.对于n个记录的表进行2路归并排序,整个归并排序需进行趟(遍)。 8. 设要将序列(Q, H, C, Y, P, A, M, S, R, D, F, X)中的关键码按字母序的升序重新排列,则: 冒泡排序一趟扫描的结果是; 初始步长为4的希尔(shell)排序一趟的结果是;

二路归并排序一趟扫描的结果是; 快速排序一趟扫描的结果是; 堆排序初始建堆的结果是。9. 在堆排序、快速排序和归并排序中, 若只从存储空间考虑,则应首先选取方法,其次选取方法,最后选取方法; 若只从排序结果的稳定性考虑,则应选取方法; 若只从平均情况下最快考虑,则应选取方法; 若只从最坏情况下最快并且要节省内存考虑,则应选取方法。 二、单项选择题(每小题1分,共18分) 1.将5个不同的数据进行排序,至多需要比较次。 A. 8 B. 9 C. 10 D. 25 2.排序方法中,从未排序序列中依次取出元素与已排序序列(初始时为空)中的元素进行比较,将其放入已排序序列的正确位置上的方法,称为 A. 希尔排序B. 冒泡排序C. 插入排序D. 选择排序3.从未排序序列中挑选元素,并将其依次插入已排序序列(初始时为空)的一端的方法,称为 A. 希尔排序B. 归并排序C. 插入排序D. 选择排序4.对n个不同的排序码进行冒泡排序,在下列哪种情况下比

第八章多元函数微分学自测题答案

《高等数学》单元自测题答案 第八章 多元函数微分学 一. 填空题 1.3ln 3xy y ; 2.503-; 3.y x z y ++-; 4.x x e e cos ; 5.dy dx 3 131 +; 二. 选择题 2.D ; 4.D ; 三.解答题 1.解 2 2 222222222211 )221(1y x y x y x x y x x y x x y x x x z +=+++++=++++=??, 22222222221y x x y x y y x y y x x y z +++= +++=??. 2. 解 22222)(11y x y x y x y x z +-=-+=??, 2 22 2111y x x x x y y z +=+=??, 22222222)(2)(2y x xy y x x y x z +=+?--=??, 22222222)(2)(2y x xy y x y x y z +-=+?-=??, 2 22 2 22222222) ()(2)(y x x y y x y y y x x y z y x z +-=+?++-=???=???. 3. 解 设z z y x z y x F 4),,(222-++=,有 2422''-- =--=-=??z x z x F F x z z x . 5. 解 '22'1f x y yf x z -=??, )1(1)1(''22' '212'22''12''11'12f x xf x y f x f x xf y f y x z +--++=???

=''223 ' '11'22'11f x y xyf f x f -+- . 6. 解 令?????=+-==-+=,063, 09632 '2 'y y f x x f y x 得驻点 (1,0), (1,2), (-3,0), (-3,2) 又 66' '+=x f xx , 0''=xy f , 66''+-=y f yy , 在点(1,0)处,0722>=-B AC ,012>=A ,所以5)0,1(-=f 为极小值; 在点(1,2)处,0722<-=-B AC , ,所以)2,1(f 不是极值; 在点(-3,0)处,0722<-=-B AC , 所以)0,3(-f 不是极值; 在点(-3,2)处,0722>=-B AC ,012<-=A ,所以31)2,3(=-f 为极大值. 8. 解 设长,宽,高为 z y x ,,,由题设 xy V z = ,水箱的表面积 )11(2)(2),(y x V xy z y x xy y x S S ++=++==, 问题成为求 ),(y x S 在区域 0,0:>>y x D 的最小值问题.令 ??? ????=-==-=,02,022' 2' y V x S x V y S y x 得D 内唯一驻点3002V y x ==,由问题实际意义知 ),(y x S 在D 内的最小值一定存在,因此可断定),(00y x S 就是最小值,此时 3 33 04 22V V V V z =?=.

第10章排序练习题答案(可编辑修改word版)

第10 章排序练习题答案 一、填空题 1. 大多数排序算法都有两个基本的操作:比较和移动。 2. 在对一组记录(54,38,96,23,15,72,60,45,83)进行直接插入排序时,当把第7 个记录60 插 入到有序表时,为寻找插入位置至少需比较 3 次。 3.在插入和选择排序中,若初始数据基本正序,则选用插入;若初始数据基本反序,则选用 选择。 正序时两种方法移动次数均为0,但比较次数量级不同,插入法:n-1 即O(n),选择法:O(n2) 反序时两种方法比较次数量级相同,均为O(n2),但移动次数不同,插入法:O(n2),选择法:3(n-1)即O(n) 4.在堆排序和快速排序中,若初始记录接近正序或反序,则选用堆排序;若初始记录基本无 序,则最好选用快速排序。 5.对于n 个记录的集合进行冒泡排序,在最坏的情况下所需要的时间是O(n2) 。若对其进行快速 排序,在最坏的情况下所需要的时间是O(n2) 。 6.对于n 个记录的集合进行归并排序,所需要的平均时间是O(nlog2n) ,所需要的附加空间是O(n) 。 7.对于n 个记录的表进行2 路归并排序,整个归并排序需进行┌log2n┐趟(遍)。 8.设要将序列(Q, H, C, Y, P, A, M, S, R, D, F, X)中的关键码按字母序的升序重新排列,则: 冒泡排序一趟扫描的结果是 H C Q P A M S R D F X Y ; 二路归并排序一趟扫描的结果是H Q C Y A P M S D R F X; 快速排序一趟扫描的结果是 F H C D P A M Q R S Y X; 堆排序初始建堆的结果是Y S X R P C M H Q D F A 。(大根堆) 9.在堆排序、快速排序和归并排序中, 若只从存储空间考虑,则应首先选取堆排序方法,其次选取快速排序方法,最后选取归并排序方法;若只从排序结果的稳定性考虑,则应选取归并排序方法; 若只从平均情况下最快考虑,则应选取快速排序方法; 若只从最坏情况下最快并且要节省内存考虑,则应选取堆排序方法。 二、单项选择题 ( C )1.排序方法中,从未排序序列中依次取出元素与已排序序列(初始时为空)中的元素进行比较,将其放入已排序序列的正确位置上的方法,称为 A. 归并排序B. 冒泡排序C. 插入排序D. 选择排序 ( D )2.从未排序序列中挑选元素,并将其依次插入已排序序列(初始时为空)的一端的方法,称为A. 冒泡排序B. 归并排序C. 插入排序D. 选择排序 ( B )3.对n个不同的排序码进行冒泡排序,在下列哪种情况下比较的次数最多。 A. 从小到大排列好的B. 从大到小排列好的C. 元素无序D. 元素基本有序 ( D )4.对n个不同的排序码进行冒泡排序,在元素无序的情况下比较的次数为

第8章渠系建筑物自测题及答案_水工建筑物.

第八章渠系建筑物自测题 一、填空题 1.渠系建筑物的类型较多,按其作用可以分为以下六 类:建筑物、建筑物、落差建筑 物、建筑物、冲沙和沉沙建筑物以及量水建筑物等。 2.渠道系统,一般由级固定渠道所组成。各自的作用不同,其中:渠为输水渠道,渠为配水渠道。 3.渠道设计的任务,是在给定的设计流量之后,选择渠道的、确定渠道以及渠道。 4.渠道的设计要求较多,如:①有足够的输水能力,以满 足的需要;②有足够的水位,以满 足的要求;③有适宜的流速,以满 足的需要;等等。 5.渠道纵断面设计,主要内容是确定六条线:即①地面高程线、 ②、③最高水位线、 ④、⑤最低水位线和 ⑥。 6.有坝取水枢纽,是指河道水量、但水位、不能满足要求,或引水量较大,无坝引水不满足要求的情况。

7.无坝引水枢纽中,引水角一般为300~500,引水角越小,水流条件 越、冲刷越、渠首的布置也就越。 8.渡槽,是指渠道跨越河、沟、渠、路或洼地时修建的过水桥,一般 由、和 等部分组成。 9.渡槽的适用条件,一般是所跨越的河渠相对高 差,河道的岸坡,洪水流量的情况。 10.渡槽根据支撑结构的情况可分为:以 及两大类。 11.梁式渡槽,根据其支承点位置的不同,可分 为:式、式 和式三种形式。 12.双悬臂式梁式渡槽,按照其悬臂的长度不同,可以分 为式和式两种形式,其 中式的跨中弯矩为零,底板受压,抗渗较为有利。 13.拱式渡槽,根据主拱圈的结构形式(支撑结构特点),分 为式渡槽、式渡槽 和式渡槽。 14.渡槽的水力计算方法是:当槽身长度L≥(15~20)(H为槽内水深),其流态属于流,流量公式为______ ______;当L<(15~20)H时,其流量按公式计算。 15.梁式渡槽槽身纵向结构计算时,一般按情况设计;横向结构计算时,一般沿方向取单位长度, 按问题设计。

第十章:内部排序练习题

第十章:内部排序练习题 一、选择题 1、下述几种排序方法中,平均查找长度最小的是()。 A、插入排序 B、选择排序 C、快速排序 D、归并排序 2、设关键字序列为(3,7,6,9,7,1,4,5,20),对其进行排序的最小交换次数为()。 A、6 B、7 C、8 D、20 3、下列排序算法中不稳定的有()。 A、直接选择排序 B、直接插入排序 C、冒泡排序 D、二叉排序 E、Shell排序 F、快速排序 G、归并排序 H、堆排序 I、基数排序 4、内部排序多个关键字的文件,最坏情况下最快的排序方法是(),相应的时间复杂度为(),该算法是()排序方法。 A、快速排序 B、插入排序 C、归并排序 D、简单选择排序 E、O(nlog2n) F、O(n2) G、O(n2log2n) H、O(n) I、稳定J、不稳定 5、对初始状态为递增的表按递增顺序排序,最省时间的是()算法,最费时间的算法是()。 A、堆排序 B、快速排序 C、插入排序 D、归并排序 6、下述几种排序方法中,要求内存量最大的是()。 A、插入排序 B、选择排序 C、快速排序 D、归并排序 7、在下面的排序方法中,关键字比较的次数与记录的初始排列次序无关的是()。 A、希尔排序 B、冒泡排序 C、插入排序 D、选择排序 8、下列排序中,排序速度与数据的初始排列状态没有关系的是()。 A、直接选择排序 B、基数排序 C、堆排序 D、直接插入排序 9、若需在O(nlog2n)的时间内完成对数组的排序,且要求排序是稳定的,则可选择的排序方法为()。 A、快速排序 B、堆排序 C、归并排序 D、直接插入排序 10、排序方法中,从未排序序列中依次取出元素与已排序序列(初始时为空)中的元素进行比较,将其放入已排序序列正确位置上的方法,称为()。 A、希尔排序 B、冒泡排序 C、插入排序 D、选择排序 11、每次把待排序的元素划分为左右两个子区间,其中左区间中元素的关键字均小于等于基准元素的关键字,右区间中元素的关键字均大于基准元素的关键字,则此排序方法为()。 A、堆排序 B、快速排序 C、冒泡排序 D、Shell排序 12、排序方法中,从未排序序列中挑选元素,并将其依次放入已排序序列(初始时为空)的一端的方法,称为()。 A、希尔排序 B、归并排序 C、插入排序 D、选择排序 13、n个记录的直接插入排序所需记录关键码的最大比较次数为()。 A、nlog2n B、n2/2 C、(n+2)(n-1)/2 D、n-1 14、n个记录的直接插入排序所需的记录最小移动次数为()。 A、2(n-1) B、n2/2 C、(n+3)(n-2)/2 D、2n 15、快速排序在()情况下最不利于发挥其长处,在()情况下最易发挥其长处。 A、被排序的数据量很大 B、被排序的数据已基本有序 C、被排序的数据完全有序 D、被排序的数据中最大与最小值相差不大 E、要排序的数据中含有多个相同值。

第八章 排序练习答案

第八章排序(答案) 一、选择题 1.一组记录的排序码为47,78,57,39,41,85.,则利用堆排序的方法建立的初始推为。 A).78,47,57,39,41,85 B).85,78,57,39,41,47 C).85,78,57,47,41,39 D).85,57,78,41,47,39 2.一组记录的关键码为48,79,52,38,40,84.,则利用快速排序的方法,以第一个记录为基准得到的一次划分结果为。 A).38,40, 48, 52,79,84 B).40,38, 48,79, 52,84 C).40,38, 48, 52,79,84 D).40,38, 48,84, 52,79 3.一组记录的排序码为26,48,16,35,78,82,22,40,37,72.,其中含有5个长度为2的有序表,按归并排序的方法对该序列进行一趟归并后的结果为。 A).16, 26,35,48, 22,40, 78,82, 37,72 B).16, 26,35,48, 78,82, 22, 37,40,72 C).16, 26,48,35, 78,82, 22, 37,40,72 D).16, 26,35,48, 78, 22, 37,40,72,82 4.以下序列不是堆的是 A.105,85,98,77,80,61,82,40,22,13,66 B.105,98,85,82,80,77,66,61,40,22,13 C.13,22,40,61,66,77,80,82,85,98,105 D.105,85,40,77,80,61,66,98,82,13,22 5 A.直接插入排序 B.冒泡排序 C.归并排序 6、对下列4在第1趟划分过程中,元素移动次数最多的是序列 A.71,75,82,90, 24,18,10,68 B.71,75,68,23,10,18,90,82 C.82,75,71,18,10,90,68,24 D.24,10,18,71,82,75,68,90 7.下列排序算法中,___________算法可能在初始数据有序时,花费的时间反而最多。 A 堆排序 B 冒泡排序 C 快速排序 D 插入排序 8.对包含N个元素的散列表进行检索,平均查找长度为_________. A .O(log2N) B. O(N) C.不直接依赖于N D. 上述说法都不对 9.在各种排序方法中,从未排序序列中挑选元素,并将其依次放入已排序序列(初始时为空)的一端的方法是________________ A. 插入排序 B. 希尔排序 C. 选择排序 D. 归并排序 10.一组记录的关键字为(46,79,56,38,40,84),则利用堆排序的方法建立的初始堆为_____________ A 79,46,56,38,40,80 B 84,79,56,38,40,46 C 84,79,56,46,40,38 D 84,56,79,40,46,38 11.对具有8个元素的序列(49,38,65,97,76,13,27,50),按升序排序,采用快速排序法第一趟的结果为_________ 答案:27,38,13,49,76,97,65,50 A) 13,65,38,97,76,49,27,50 B) 13,27,38,49,50,65,76,97 C) 97,76,65,50,49,38,27,13 D) 13,38,65,97,76,49,27,50 12.下列哪个排序属于稳定排序_________

《数据结构》期末复习题及参考答案 - 第10章 排序【HSH2013级】给学生

《数据结构》期末复习题及参考答案- 第10章排序 一、选择题 1、n个记录进行直接插入排序时,记录最小的比较次数是( ) A.(n-1) B.0 C.(n+3)(n-2)/2 D.n2/2 2、对n个记录进行希尔排序,所需要的辅助存储空间为()。 A.O(1og2n) B.O(n) C.O(1) D.O(n2) 3、就平均性能而言,目前最好的内排序方法是( )排序法。 A.冒泡 B.希尔插入 C.交换 D.快速 4、直接插入排序在最好情况下的时间复杂度为() A.O(logn) B.O(n) C.O(n*logn) D.O(n2) 5、以下算法思路分别出自什么排序算法: 取当前最小的数,插入到已经排好序的数据末尾:(); 取当前要排序的数,插入到已经排好序的数据中适当位置:(); 相邻两个数比较,如果大小顺序颠倒就把两者交换过来:()。 6、设一组初始关键字记录关键字为(20,15,14,18,21,36,40,10),则以20为基准记录 的一趟快速排序结束后的结果为( )。 (A) 10,15,14,18,20,36,40,21 (B) 10,15,14,18,20,40,36,21 (C) 10,15,14,20,18,40,36,2l (D) 15,10,14,18,20,36,40,21 7、下列四种排序算法中,哪一个需要采用递归调用的方式实现 A、直接插入排序 B、快速排序 C、冒泡排序 D、折半插入排序 8、从未排序序列中依次取出一个元素与已排序序列中的元素依次进行比较,然后将其放在 已排序序列的合适位置,该排序方法称为( )排序法。 A.插入 B.选择 C.希尔 D.快速 9、快速排序方法在()情况下最不利于发挥其长处。 A.要排序的数据量太大 B.要排序的数据中含有多个相同值 C.要排序的数据个数为奇数 D.要排序的数据已基本有序 10、对一组数据(84,47,25,15,21)排序,数据的排列次序在排序的过程中的变化为 (1)84 47 25 15 21(2)15 47 25 84 21 (3)15 21 25 84 47 (4)15 21 25 47 84 则采用的排序是( )。 A. 选择 B. 冒泡 C. 快速 D. 插入 11、在希尔排序算法中,需要借助()实现

第8章排序练习题答案

第8章排序练习题答案 填空题 1. 大多数排序算法都有两个基本的操作:比较和移动。 2. 在对一组记录(54,38,96,23,15,72,60,45,83)进行直接插入排序时,当把第7个记录60插 入到有序表时,为寻找插入位置至少需比较 3 次。 3. 在插入和选择排序中,若初始数据基本正序,则选用插入;若初始数据基本反序,则选用 选择。 正序时两种方法移动次数均为0,但比较次数量级不同,插入法:n-1即O(n),选择法:O(n2) 反序时两种方法比较次数量级相同,均为O(n2),但移动次数不同,插入法:O(n2),选择法:3(n-1)即O(n) 4. 在堆排序和快速排序中,若初始记录接近正序或反序,则选用堆排序;若初始记录基本 无序,则最好选用快速排序。 5. 对于n个记录的集合进行冒泡排序,在最坏的情况下所需要的时间复杂度是O(n2) 。若对其进 行快速排序,在最坏的情况下所需要的时间复杂度是O(n2)。 6. 对于n个记录的集合进行归并排序,所需要的平均时间是O(nlog2n){ ,所需要的附加空间是O(n) 。 7.对于n个记录的表进行2路归并排序,整个归并排序需进行┌log2n┐趟(遍)。 8. 设要将序列(Q, H, C, Y, P, A, M, S, R, D, F, X)中的关键码按字母序的升序重新排列,则: 冒泡排序一趟扫描的结果是H C Q P A M S R D F X Y; 二路归并排序一趟扫描的结果是H Q C Y A P M S D R F X; 快速排序一趟扫描的结果是 F H C D P A M Q R S Y X; 堆排序初始建堆的结果是Y S X R P C M H Q D F A。(大根堆) 9. 在堆排序、快速排序和归并排序中, 若只从存储空间考虑,则应首先选取堆排序方法,其次选取快速排序方法,最后选取归并排序方法;若只从排序结果的稳定性考虑,则应选取归并排序方法; / 若只从平均情况下最快考虑,则应选取快速排序方法; 若只从最坏情况下最快并且要节省内存考虑,则应选取堆排序方法。

第8章怎样研究算法排序算法示例练习题答案解析

第8章怎样研究算法:排序算法示例 1、排序算法是最基本的算法,很多复杂算法都是以排序为基础进行构造的。关于排序算法,下列说法不正确的是_____。 (A)大规模数据集合中查找有无某些元素的问题,有序数据集合比无序数据集合的查找要快得多; (B)大规模数据集合中按元素分组进行计算的问题,有序数据集合比无序数据集合的计算要快得多; (C)对无序数据集合,两个算法X和Y:X采用无序数据处理,Y采用先将无序数据排序成有序数据,然后进行处理;则对前述(A)、(B)两类问题,Y算法一定比X算法慢; (D)上述说法有不正确的; 答案:C 解释: 本题考核排序算法的研究 在大规模数据集合中查找,有序数据集合有利算法进行和判断,要比无序数据集合查找的快,对于(C)选项,Y算法尽管需要排序后再处理,但排序处理后的数据查找更加快捷,因此可能Y算法比X算法更快。 具体内容请参考排序算法以及第八章课件。 2、下列三个算法是关于“大规模数据集合中查找有无某些元素”问题的算法:针对一个“学生”数据表,如下示意,找出“成绩”为某一分数的所有学生。 【算法A1】 Start of algorithm A1 Step 1. 从数据表的第1条记录开始,直到其最后一条记录为止,读取每一条记录,做Step 2。Step 2. 对每一条记录,判断成绩是否等于给定的分数:如果是,则输出;如果不是,则不输出。

End of algorithm A1 【算法A2】 Start of algorithm A2 Step 1. 从数据表的第1条记录开始,直到其最后一条记录为止,读取每一条记录,做Step 2和Step 3。 Step 2. 对每一条记录,判断成绩是否等于给定的分数:如果等于,则输出;如果不等于,则不输出。 Step 3. 判断该条记录的成绩是否小于给定的分数:如果不是,则继续;否则,退出循环,算法结束。 End of algorithm A2 【算法A3】 Start of algorithm A3 Step 1. 假设数据表的最大记录数是n,待查询区间的起始记录位置Start为1,终止记录位置Finish为n; Step 2. 计算中间记录位置I = (Start+Finish)/2,读取第I条记录。 Step 3. 判断第I条记录的成绩与给定查找分数: (3.1)如果是小于关系,则调整Finish = I-1;如果Start >Finish则结束,否则继续做Step 2; (3.2)如果是大于关系,则调整Start = I+1;如果Start>Finish则结束,否则继续做Step 2; (3.3)如果是等于关系,则输出,继续读取I周围所有的成绩与给定查找条件相等的记录并输出,直到所有相等记录查询输出完毕则算法结束。 End of algorithm A3 针对上述三个算法,回答下列问题: (1)关于算法A1, A2, A3的快慢问题,下列说法正确的是_____。 (A)算法A1快于算法A2,算法A2快于算法A3; (B)算法A2快于算法A1,算法A2快于算法A3; (C)算法A3快于算法A2,算法A2快于算法A1; (D)算法A1快于算法A3,算法A3快于算法A2; (E)上述都不正确。 答案:C 解释: 本题考核排序算法的研究 首先,数据是有序排列的,从大到小。 算法A1依次搜索,穷举。 算法A2与A1一样,穷举,不同的是它利用数据是从大到小排序的特点,因此,如果当前数据比如果小于目标数,那么说明只有的也一定小于,则目标不在序列中。因此,A2比A1快。 算法A3利用数据有序特点,采用二分查找,每次将目标数与中间值比较,缩小搜索范围,因此A3比A2快。 综上,答案选(C)。 具体内容请参考排序算法以及第八章课件。

(完整word版)第10章习题(带答案)

1、对待排序的元素序列进行划分,将其分为左、右两个子序列,再对两个子序列施加同样的排序操作,直到子序列为空或只剩一个元素为止。这样的排序方法是 ( )。 A. 直接选择排序 B. 直接插入排序 C. 快速排序 D. 起泡排序 2、对5个不同的数据元素进行直接插入排序,最多需要进行 ( ) 次比较。 A. 8 B. 10 C. 15 D. 25 3、用快速排序法对n 个数据进行排序,在最好情况下的时间复杂度是 O(nlogn),在最坏情况下的时间复杂度是 O(n 2) ,在平均情况下的时间复杂度是 O(nlogn) 。 4、用归并排序法对n 个数据进行排序,在最好情况下的时间复杂度是 O(nlogn) ,在最坏情况下的时间复杂度是 O(nlogn) ,在平均情况下的时间复杂度是 O(nlogn) 。 5、在对n 个元素进行直接插入排序的过程中,共需要进行2n 趟。( 错 ) 快速排序在最坏情况下的时间复杂度为)(2n 。( 对 ) 6、若一组记录的关键字为(46,79,56,38,40,84),则利用快速排序的方法,以第一个记录为基准得到一次划分结构为( )。 A.40,38,46,84,56,79 B.40,38,46,56,79,84 C.40,38,46,79,56,84 D.38,40,46,56,79,84 7、下列四个序列中,哪一个是堆( )。 A. 75,65,30,15,25,45,20,10 B. 75,65,45,10,30,25,20,15 C. 75,45,65,30,15,25,20,10 D. 75,45,65,10,25,30,20,15 8、由无序序列{ 15,9,7,8,20,7}建立的初始小顶堆为 7,8,7,9,20,15_ 。 9、已知5个数据元素为(54,28,16,34,73),对该数列按从小到大排序,经过一趟冒泡排序后的序列为 28,16,34,54,73_ 。 10、若不考虑基数排序,则在排序过程中,主要进行的两种基本操作是关键字的__ 比较_____和记录的___移动__。 11、直接插入排序在最好情况下的时间复杂度为( )。

第八章自测题答案解析

第8章 查找 自测卷答案 姓名 班级 一、填空题(每空1分,共10分) 1. 在数据的存放无规律而言的线性表中进行检索的最佳方法是 顺序查找(线性查找) 。 2. 线性有序表(a 1,a 2,a 3,…,a 256)是从小到大排列的,对一个给定的值k ,用二分法检索表中与k 相等的元素,在查找不成功的情况下,最多需要检索 9 次。设有100个结点,用二分法查找时,最大比较次数是 7 。 3. 假设在有序线性表a[20]上进行折半查找,则比较一次查找成功的结点数为1;比较两次查找成功的结点数为 2 ;比较四次查找成功的结点数为 8 ;平均查找长度为 3.7 。 解:显然,平均查找长度=O (log 2n )<5次(25)。但具体是多少次,则不应当按照公式 )1(log 1 2++= n n n ASL 来计算(即(21×log 221)/20=4.6次并不正确!)。因为这是在假设n =2m -1的情况下推导出来的公式。应当用穷举法罗列: 全部元素的查找次数为=(1+2×2+4×3+8×4+5×5)=74; ASL =74/20=3.7 !!! 4.【计研题2000】折半查找有序表(4,6,12,20,28,38,50,70,88,100),若查找表中元素20,它将依次与表中元素 28,6,12,20 比较大小。 5. 在各种查找方法中,平均查找长度与结点个数n 无关的查找方法是 散列查找 。 6. 散列法存储的基本思想是由 关键字的值 决定数据的存储地址。 7. 有一个表长为m 的散列表,初始状态为空,现将n (n

相关文档
最新文档