数据结构练习.docx
- 文档编号:26313943
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:12
- 大小:89.43KB
数据结构练习.docx
《数据结构练习.docx》由会员分享,可在线阅读,更多相关《数据结构练习.docx(12页珍藏版)》请在冰豆网上搜索。
数据结构练习
填空题
1. 在顺序表中访问任意一个元素的时间复杂度均为 O
(1) ,因此顺序表也称为 随机存取 的数据结构。
2.二维数组a[4][3](下标从0开始),假设a[0][0]的地址为50,数据以行序优先方式存储,每个元素的长度为2字节,则a[2][1]地址是 64 。
3. 直接插入排序用监视哨的作用是 防止数组下标越界 。
4. 已知广义表Ls=(a,(b,c),(d,e)), 运用head和tail函数取出Ls中的原子d的运算是 Head(Head(Tail(Tail(LS)))) 。
5.对有14个元素的有序表A[1..14]进行折半查找,当比较到A[4]时算法结束。
被比较元素除A[4]外,还有 A[3] A[5] A[7] 。
6. 在AOV网中,顶点表示 活动 ,边表示 活动之间的先后关系 。
7. 有向图G可进行拓扑排序的判别条件是 有向无环图 。
8. 若串S1=‘ABCDEFGHIJK’,S2=‘451223’,S3=‘####’,则执行Substring(S1,Strlength(S3),Index(S2,‘12’,1))的结果是 DEF 。
选择题
1. 在下列存储形式中,哪一个不是树的存储形式?
(D )
A.双亲表示法 B.孩子链表表示法
C.孩子兄弟表示法 D.顺序存储表示法
2. 查找n个元素的有序表时,最有效的查找方法是( C )。
A.顺序查找 B.分块查找
C.折半查找 D.二叉查找
3.将所示的s所指结点加到p所指结点之后,其语句应为( D )。
A.s->next=p+1;p->next=s;
B.(*p).next=s;(*s).next=(*p).next;
C.s->next=p->next;p->next=s->next;
D.s->next=p->next;p->next=s;
4. 在有向图的邻接表存储结构中,顶点v在链表中出现的次数是( C )。
A. 顶点v的度 B. 顶点v的出度
C. 顶点v的入度 D. 依附于顶点v的边数
5.算法的时间复杂度为O(nlog2n)、空间复杂度为O
(1)的排序算法是( A )。
A. 堆排序 B. 快速排序
C. 归并排序 D.直接选择
1.设矩阵A是一个对称矩阵,为了节省存储,将其下三角部分(如右图所示)按行序存放在一维数组B[1,n(n-1)/2]中,对下三角部分中任一元素ai,j(i≤j), 在一维数组B中下标k的值是( B):
A.i(i-1)/2+j-1 B.i(i-1)/2+j
C.i(i+1)/2+j-1 D.i(i+1)/2+j
2.由一个长度为11的有序表,按二分查找法对该表进行查找,在表内各元素等概率情况下,查找成功的平均查找长度是( C )。
A.29/11 B.31/11
C.33/11 D.35/11
3. AVL树是一种平衡的二叉排序树,树中任一结点的( B )。
A. 左、右子树的高度均相同
B. 左、右子树高度差的绝对值不超过1
C. 左子树的高度均大于右子树的高度
D. 左子树的高度均小于右子树的高度
4. 下列四种排序方法中,不稳定的方法是( D )。
A. 直接插入排序 B. 冒泡排序
C. 归并排序 D. 堆排序
5. 设树的度为4,其中度为1,2,3,4的结点个数分别为4,2,,1,1, 则T中的叶子数为( D )。
A.5 B.6 C.7 D.8
判断题
1. 顺序存储方式的优点是存储密度大,且插入、删除运算效率高。
(F )
2. 数组不适合作任何二叉树的存储结构。
( F )
3. 广义表的取表尾运算,其结果通常是个表,但有时也可是个原子。
( F )
4. 在含有n个结点的树中,边数只能是n-1条。
( T)
5. 所谓一个排序算法是否稳定,是指该算法在各种情况下的效率是否相差不大。
( F )
6. 简单选择排序在最好情况下的时间复杂度为O(n)。
(F )
7. 在二叉排序树中插入一个新结点,总是插入到叶结点下面。
(F )
8. 采用线性探测处理冲突,当从哈希表中删除一个记录时,不应将该记录所在位置置空,因为这会影响以后的查找。
(T )
9. n个数存放在一维数组A[1..n]中,在进行顺序查找时,这n个数的排列有序或无序,其平均查找长度不同。
( F)
10.广义表中原子个数即为广义表的长度。
( F )
将下列由三棵树组成的森林转换为二叉树。
给定下列图,完成以下问题
(1)画出该图的邻接矩阵和邻接表
(2)根据所画的邻接表,从顶点B出发,画出图的深度优先搜索树
(3)根据普里姆(Prim)算法,求它的最小生成树(不必写出全部过程,在生成树中标出边生成的次序即可)
(1) 邻接矩阵:
邻接表:
(2) 深度优先搜索树为:
(3)最小生成树:
输入一个正整数序列(53,17,12,66,58,70,87,25,56,60),试完成下列各题:
(1)构造一棵二叉排序树,计算查找成功的平均查找长度;
(2)依此二叉排序树,如何得到一个从大到小的有序序列;
(3)画出在此二叉排序树中,删除“66”后的树结构。
(1)二叉排序树如下:
平均查找长度ASL=(1+2X2+4X3+3X4)/10=2.9
(2)按照右子树根节点左子树的顺序遍历该二叉树,即可得到从大到小的顺序
(3)
将序列{25,34,12,7,15,47,65,79,47+,16 }中的关键字按升序重新排列,请写出
(1)冒泡排序一趟扫描的结果
(2)以第一个元素为分界点的快速排序一趟扫描的结果
(3)堆排序所建的初始堆和第一趟排序结果。
(1)25、12、7、15、34、47、65、47+、16、79
(2)16、15、12、7、25、47、65、79、47+、34
(3)初始堆:
79、47+、65、34、16、47、12、7、25、15
第一趟排序后:
65、47+、47、34、16、15、12、7、25、79
(最好划出二叉树表示)
程序填空题
下列算法是建立单链表的算法,请填写适当的语句,完成该功能。
typedefstructLnode{
ElemType data;
structLnode *next;
}LNode,*LinkList;
StatusCreatList_L(LinkList&L,intn){
//正序输入n个元素的值,建立带表头结点的单链线性表L
L=(LinkList)malloc(sizeof(LNode));
if(!
L)returnERROR;
L->next=NULL;
p=
(1) ;
for(i=0;i s=(LinkList)malloc(sizeof(LNode)); if(! s)returnERROR; scanf(&s->data); (2) ; (3) ; } p->next=NULL; returnOK; }//CreatList_L 1. L 2. p->next=s 3. p=s 用链表实现的简单选择排序。 设链表头指针为L, 链表无头结点,请填写适当的语句,完成该功能。 voidSelectSort(LinkListL) { p=L; while(p) { q=p;r=q->next; while(r) { if( (1) ) q=r; r= (2) ; } tmp=q->data;q->data=p->data;p->data=tmp; p= (3) ; } } 1. q->data>r->data 2. r->next 3. p->next 1.栈和队列的共同特点是( A )。 A.只允许在端点处插入和删除元素 B.都是先进后出 C.都是先进先出 D.没有共同点 2.用链接方式存储的队列,在进行插入运算时( D ). A. 仅修改头指针 B. 头、尾指针都要修改 C. 仅修改尾指针 D.头、尾指针可能都要修改 3.以下数据结构中哪一个是非线性结构? ( D ) A. 队列 B. 栈 C. 线性表 D. 二叉树 4.设有一个二维数组A[m][n],假设A[0][0]存放位置在644(10),A[2][2]存放位置在676(10),每个元素占一个空间,问A[3][3](10)存放在什么位置? 脚注(10)表示用10进制表示( C )。 A.688 B.678 C.692 D.696 5.树最适合用来表示( C )。 A.有序数据元素 B.无序数据元素 C.元素之间具有分支层次关系的数据 D.元素之间无联系的数据 1. 二叉树的第k层的结点数最多为( D ). A.2k-1 B.2K+1 C.2K-1 D.2k-1 2. 若有18个元素的有序表存放在一维数组A[19]中,第一个元素放A[1]中,现进行二分查找,则查找A[3]的比较序列的下标依次为( D ) A.1,2,3 B.9,5,2,3 C.9,5,3 D.9,4,2,3 3. 对n个记录的文件进行快速排序,所需要的辅助存储空间大致为( C ) A.O (1) B.O(n) C.O(1og2n) D.O(n2) 4. 对于线性表(7,34,55,25,64,46,20,10)进行散列存储时,若选用H(K)=K%9作为散列函数,则散列地址为1的元素有( D )个, A.1 B.2 C.3 D.4 5. 设有6个结点的无向图,该图至少应有( A )条边才能确保是一个连通图。 A.5 B.6 C.7 D.8 请画出下图的邻接矩阵和邻接表。 (注意: 最好从编号大的开始写起) 画出向小根堆中加入数据4,2,5,8,3时,每加入一个数据后堆的变化。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 练习