习题二
一、选择题
1.在一个长度为n的顺序表中删除第i个元素(0<i 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 )。 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……an)中,删除任意一个结点所需移动结点的平均移动次数为( ) 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,它所指向结点的后继的前驱与前驱的后继都是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.线性表的惟一存储形式是链表。( ) 因篇幅问题不能全部显示,请点此查看更多更全内容