数据结构练习题1
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、单项选择题
1.若用一个大小为6的数组来实现循环队列,且当前rear和front的值分别为0和3,
当从队列中删除一个元素,再加入两个元素后,rear和front的值分别为多少?( )
A. 1和 5
B. 2和4
C. 4和2
D. 5和1
大小为6的数组:下标从0-5;从前面出队,从后面入队
front(前面)=3
rear(后面)=0
当出队列中删除一个元素,也就是出队,即front+1:=4
再插入两个元素,即rear+2= 2
【注】
循环队列中,由于入队时尾指针向前追赶头指针;出队时头指针向前追赶尾指针,造成队空和队满时头尾指针均相等。因此,无法通过条件front==rear来判别队列是"空"还是"满"。
2.循环队列A[0..m-1]存放其元素值,用front和rear分别表示队头和队尾,则当前队
列中的元素数是( )。
A. (rear-front+m)%m
B. rear-front+1
C. rear-front-1
D. rear-front
3.for(i=0;i for(j=0;j A[i][j]=i*j; 上面算法的时间复杂度为( ) A.O(m2) B.O(n2) C.O(m×n) D.O(m+n) 4.设h是指向非空带表头结点的循环链表的头指针,p是辅助指针。执行程序段 p=h; while (p->next->next!=h) p=p->next; p->next=h; 后(其中,p->next为p指向结点的指针域),则( ) A. p->next指针指向链尾结点 B. h指向链尾结点 C. 删除链尾前面的结点 D. 删除链尾结点 5.假设带头结点的单向循环链表的头指针为head,则该链表为空的判定条件是() A.head= =NULL B.head–>next= =NULL C.head!=NULL D.head–>next= =head 6. 设顺序表有19个元素,第一个元素的地址为200,且每个元素占3个字节,则第14个 元素的存储地址为( ) A.236 B.239 C.242 D.245 7. 若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数是( ) A .9 B .11 C .15 D .不确定 8. n 个结点的线索二叉树上含有的线索数为( ) A .2n B .n -l C .n +l D .n 9. 设有一个栈,按A 、B 、C 、D 的顺序进栈,则可能为出栈序列的是( ) A.DCBA B.CDAB C.DBAC D.DCAB 10. 归并排序中,归并的趟数是( )。 A .O (n ) B .O(logn) C .O(nlogn) D .O(n*n) 11. 设有一个10阶的对称矩阵A ,采用压缩存储方式,以行序为主存储,a 11为第一元素, 其存储地址为1,每个元素占一个地址空间,则a 85的地址为( )。 A. 13 B. 33 C. 18 D.40 12. 栈和队列的共同点是( )。 A. 都是先进先出 B. 都是先进后出 C. 只允许在端点处插入和删除元素 D. 没有共同点 13. 某二叉树的先根遍历序列和后根遍历序列正好相反,则该二叉树具有的特征是( ) A.高度等于其结点数 B.任一结点无左孩子 C.任一结点无右孩子 D.空或只有一个结点 14. 排序算法中,第一趟排序后,任一元素都不能... 确定其最终位置的算法是( ) A.选择排序 B.插入排序 C.冒泡排序 D.快速排序 15. 若构造一棵具有n 个结点的二叉排序树,最坏的情况下其深度不超过( ) A. 2n B. n C. 21 n D. n+1 16. 在排序方法中,从未排序序列中依次取出元素与已排序序列(初始时为空)中的元素进 行比较,将其放入已排序序列的正确位置上的方法,称为( ) A.希尔排序 B.插入排序 C.冒泡排序 D.快速排序得分 17.分别以下列序列构造二叉排序树,与用其它三个序列所构造的结果不同的是( ) A.(100,80,90,60,120,110,130) B. (100,120,110,130,80, 60, 90) C.(100,60,80,90,120,110,130) D. (100,80, 60, 90, 120,130,110) 18.下面关于二分查找的叙述正确的是 ( ) A. 表必须有序,表可以顺序方式存储,也可以链表方式存储 B. 表必须有序且表中数据必须是整型,实型或字符型 C. 表必须有序,而且只能从小到大排列 D. 表必须有序,且表只能以顺序方式存储 19.采用简单选择排序,比较次数与移动次数分别为( )。 A. O(n),O(logn) B. O(logn),0(n*n) C. 0(n*n),0(n) D. 0(nlogn),0(n) 20.下列排序算法中,在待排序数据已有序时,花费时间反而最多的是( )排序。 A.冒泡 B. 希尔 C. 快速 D. 堆 21.二叉树的先序遍历和中序遍历如下:先序遍历:EFHIGJK;中序遍历: HFIEJKG 。该二 叉树根的右子树的根是:( ) A、 E B、 F C、 G D、 H 22.在数据结构中,从逻辑上可以把数据结构分为( )。 A.动态结构和静态结构 B.紧凑结构和非紧凑结构 C.线性结构和非线性结构 D.内部结构和外部结构” 23.已知某二叉树的后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是( )。 A.acbed B.decab C.deabc D.cedba 24.非空的循环单链表L的尾结点p满足( )。 A.p->next=NULL B. p->next=L C.p=NULL D.p=L 25.如果以链表作为栈的存储结构,则出栈操作时( )。 A.必须判别栈是否满B.判别栈元素的类型 C.必须判别栈是否空D.对栈不做任何判别 26.某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用( )存储方式最节省运算时间。 A.单链表 B.仅有头指针的单循环链表 C.双链表 D.仅有尾指针的单循环链表 27.有64个结点的完全二叉树的深度为( )(根的层次为1)。 A.8 B.7 C.6 D.5 28.下面的排序为哪种排序法( )