习题二
一、选择题
1.在一个长度为n的顺序表中删除第i个元素(0<i<n)时,需要向前移动( )个元素。
A.n-i B.n-i+1 C.n-i+1 D.i+1
2.从一个具有n个元素的线性表中查找其值等于x的结点时,在查找成功的情况下,需平均比较( )个元素结点。
A.n/2 B.n C.(n-1)/2 D.(n +1)/2 3.对一个具有n个元素的线性表,建立其单链表的时间复杂度为( )。
A.O(n) B.O(1) C.O(n2)D.O(long2n)4.线性表采用链式存储时,其地址( )。
A.必须是连续的B.一定是不连续的
C.部分地址必须连续D.连续与否均可以
5.在一个具有n个结点的有序单链表中插人一个新的结点,使得链表仍然有序,该算法的时间复杂度是( )。
A.O(long2n)B.O(l)C.O(n2)D.O(n)6.线性表是( )。
A.一个有限序列,可以为空B.一个有限序列,不可以为空
C.一个无限序列,可以为空D.一个无限序列,不可以为空7.在一个长度为n的顺序表中,向第i个元素(0一1<n+1)之前捕人一个新元素时,需要向后移动( )个元素。
A.n-i B.n-i+1 C.n-i-1 D.i+1
8.如果某链表中最常用的操作是取第i个结点及其前驱,则采用( )存储方式最节省时间。
A.单链表B.双向链表C.单循环链表D.顺序表9.一个顺序存储线性表的第一个元素的存储地址是90,每个元素的长度是2,则第6个元素的存储地址是()。
A.98 B.100 C.102 D.106
10.下列排序方法中,某一趟结束后未必能选出一个元素放在其最终位置上的是( )。
A.堆排序B.冒泡排序C.直接插人排序D.快速排序11.对线性表进行二分查找时,要求线性表必须()。
A.以顺序方法存储
B.以链接方法存储
C.以顺序方法存储,且结点接关键字有序排列
D.以链接方法存储,且结点接关键字有序排列
12.在顺序存储的线性表(a1……a n)中,删除任意一个结点所需移动结点的平均移动次数为( )
A.n B.n/2 C.(n-1)/2 D.(n+l)/2 13.在线性表的下列存储结构中,读取元素花费的时间最少的是()。
A.单链表B.双链表C.循环链表D.顺序表14.若某链表中最常用的操作为在最后一个结点之后插入一个结点和删除最后一个结点,则采用()存储方式最节省时间。
A.双链表B.单链表C.单循环链表D.带头结点的双循环链表二、填空题
1.线性表(Linear List)是最简单、最常用的一种数据结构。
线性表中的元素存在着_ __的相互关系。
2.线性表中有且仅有一个开始结点,表中有且仅有一个终端结点,除开始结点外,其他每个元素有巨仅有一个,除终端结点外,其他每个元素有且仅有一个3.线性表是n(n>=0)个数据元素的_。
其中n为数据元素的个数,定义为线性表的。
当n为零时的表称为。
4.所谓顺序表(Sequential LISt)是线性表的,它是将线性表中的结点按其依次存放在内存中一组连续的存储单元中,使线性表中相邻的结点存放在的存储单元中。
5.单链表不要求逻辑上相邻的存储单元在物理上也一定要相邻。
它是分配一些的存储单元来存储线性表中的数据元素,这些存储单元可以分散在内存中的的位置上,它们在物理上可以是一片连续的存储单元,也可以是的。
因此在表示线性表这种数据结构时,必须在存储线性表元素的同时,也存储线性表的。
6.线性表的链式存储结构的每一个结点(Node)需要包括两个部分:一部分用来存放元素的数据信息,称为结点的;另一部分用来存放元素的指向直接后继元素的指针(即直接后继元素的地址信息),称为或
7.线性链表的逻辑关系是通过每个结点指针域中的指针来表示的。
其逻辑顺序和物理存储顺序不再一致,而是一种存储结构,又称为。
8.如果将单链表最后一个结点的指针域改为存放链表中的头结点的地址值,这样就构成了。
9.为了能够快速地查找到线性表元素的直接前驱,可在每一个元素的结点中再增加一个指向其前驱的指针域,这样就构成了。
10.双向链表某结点的指针P,它所指向结点的后继的前驱与前驱的后继都是。
11.在单链表中,删除指针P所指结点的后继结点的语句是
_。
12.在双循环链表中,删除指针P所指结点的语句序列是P->prior->next=p->next及_。
13.单链表是的链接存储表示。
14.
15.向一个长度为n的向量的第i个元素(l≤i≤n+1)之前插人一个元素时,需向后移动个元素。
16.删除一个长度为n的向量的第i个元素(l≤i≤n)时,需向前移动
个元素。
17.在单链表中,在指针P所指结点的后面插人一个结点S的语句序列是
18.在双循环链表中,在指针P所指结点前插人指针S所指的结点,需执行语句19.取出广义表A=((x,(a,b,c,d))中原子c的函数是。
20.在一个具有n个结点的有序单链表中插人一个新结点并使之仍然有序的时间复杂度为。
21.写出带头结点的双向循环链表L为空表的条件。
22.线性表、栈和队列都是_结构。
23.向栈中插人元素的操作是先移动栈针,再存人元素。
三、判断题
1.线性表采用链表存储时,结点和结点内部的存储空间可以是不连续的。
()
2.在具有头结点的链式存储结构中,头指针指向链表中的第一个数据结点。
( ) 3.顺序存储的线性表不可以随机存取。
()
4.单链表不是一种随机存储结构。
()
5.顺序存储结构线性表的插入和删除运算所移动元素的个数与该元素的位置无关。
( ) 6.顺序存储结构是动态存储结构,链式存储结构是静态存储结构。
()7.线性表的长度是线性表所占用的存储空间的大小。
()
8.双循环链表中,任意一结点的后继指针均指向其逻辑后继。
()
9.线性表的惟一存储形式是链表。
()出师表
两汉:诸葛亮
先帝创业未半而中道崩殂,今天下三分,益州疲弊,此诚危急存亡之秋也。
然侍卫之臣不懈于内,忠志之士忘身于外者,盖追先帝之殊遇,欲报之于陛下也。
诚宜开张圣听,以光先帝遗德,恢弘志士之气,不宜妄自菲薄,引喻失义,以塞忠谏之路也。
宫中府中,俱为一体;陟罚臧否,不宜异同。
若有作奸犯科及为忠善者,宜付有司论其刑赏,以昭陛下平明之理;不宜偏私,使内外异法也。
侍中、侍郎郭攸之、费祎、董允等,此皆良实,志虑忠纯,是以先帝简拔以遗陛下:愚以为宫中之事,事无大小,悉以咨之,然后施行,必能裨补阙漏,有所广益。
将军向宠,性行淑均,晓畅军事,试用于昔日,先帝称之曰“能”,是以众议举宠为督:愚以为营中之事,悉以咨之,必能使行阵和睦,优劣得所。
亲贤臣,远小人,此先汉所以兴隆也;亲小人,远贤臣,此后汉所以倾颓也。
先帝在时,每与臣论此事,未尝不叹息痛恨于桓、灵也。
侍中、尚书、长史、参军,此悉贞良死节之臣,愿陛下亲之、信之,则汉室之隆,可计日而待也。
臣本布衣,躬耕于南阳,苟全性命于乱世,不求闻达于诸侯。
先帝不以臣卑鄙,猥自枉屈,三顾臣于草庐之中,咨臣以当世之事,由是感激,遂许先帝以驱驰。
后值倾覆,受任于败军之际,奉命于危难之间,尔来二十有一年矣。
先帝知臣谨慎,故临崩寄臣以大事也。
受命以来,夙夜忧叹,恐托付不效,以伤先帝之明;故五月渡泸,深入不毛。
今南方已定,兵甲已足,当奖率三军,北定中原,庶竭驽钝,攘除奸凶,兴复汉室,还于旧都。
此臣所以报先帝而忠陛下之职分也。
至于斟酌损益,进尽忠言,则攸之、祎、允之任也。
愿陛下托臣以讨贼兴复之效,不效,则治臣之罪,以告先帝之灵。
若无兴德之言,则责攸之、祎、允等之慢,以彰其咎;陛下亦宜自谋,以咨诹善道,察纳雅言,深追先帝遗诏。
臣不胜受恩感激。
今当远离,临表涕零,不知所言。