杭电-数据结构-期末复习卷及答案_第1页
杭电-数据结构-期末复习卷及答案_第2页
杭电-数据结构-期末复习卷及答案_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1.数据结构可用三元式表示〔D,S,P〕。其中:D是数据对象,S是D上的关系集,P是对D的根本操作集。×3.队列是数据对象特定的线性表。×4.二叉树是一棵结点的度最大为二的树。×7.一棵无向连通图的生成树是其极大的连通子图。×8.二叉排序树的查找长度至多为log2n。×10.对于目前所知的排序方法,快速排序具有最好的平均性能。√12.二维数组是其数据元素为线性表的线性表。√14.折半查找不适用于有序链表的查找。√15.完全二叉树必定是平衡二叉树。Right中序二叉树的优点是便于在中序下查找直接前驱结点和直接后继结点。√18.平均查找长度与记录的查找概率有关。√19.广义表的表头和表尾都有可能是原子或广义表。×1.假设广义表LS满足GetHead(LS)==GetTail(LS),那么LS为(b)。A.()B.(())C.((),())D.((),(),())5.对二叉排序树按〔c〕可得到有序序列。a:层次遍历b:前序遍历c:中序遍历d:后序遍历8.关键路径是指在只有一个源点和一个汇点的有向无环网中源点至汇点〔c〕的路径。a:弧的数目最多b:弧的数目最少c:权值之和最大d:权值之和最小9.哈希表的查找效率取决于〔d〕。a:哈希函数b:处理冲突的方法。c:哈希表的装填因子d:以上都是10.从逻辑上可以把数据结构分成(c)。c:线性结构和非线性结构13.当待排序序列的关键字次序为倒序时,假设需为之进行正序排序,以下方案中(d)为佳。a:起泡排序b:快速排序c:直接插入排序d:简单项选择择排序14.假设从二叉树的根结点到其它任一结点的路径上所经过的结点序列按其关键字递增有序,那么该二叉树是(c)。a:二叉排序树b:赫夫曼树c:堆d:平衡二叉树15.以下图所有可能的拓扑序列有(b)种。a:2b:3c:4d:516.以下排序算法中,(d)算法可能会出现:初始数据为正序时,花费的时间反而最多。a:堆排序b:起泡排序c:归并排序d:快速排序18.设森林F中有三棵树,第一、第二和第三棵树的结点个数分别为m1、m2和m3,那么与森林F对应的二叉树根结点的右子树上的结点个数是(d)。a:m1b:m1+m2c:m3d:m2+m319.根据插入次序〔80,90,100,110,85,70,75,60,72〕建立二叉排序树。图〔a〕是最终变化的结果。假设仍以该插入次序建立平衡二叉树。图〔c〕是最终变化的结果。a:b:8080709075906075851006070851007211072110c:d:909075100801007080110757085110607285607220.设输入序列为20,45,30,89,70,38,62,19,依次插入到一棵2-3树中(初始状态为空),该B-树为〔b〕。再删除38,该B-树为〔f〕。a:b:〔3062〕〔45〕〔19,20〕〔3845〕〔70,89〕〔30〕〔70〕〔1920〕〔38〕〔62〕〔89〕c:d:〔4570〕〔45〕〔20〕〔62〕〔89〕〔20〕〔70〕〔19〕〔30〕〔19〕(30,38〕〔62〕〔89〕e:f:〔3070〕〔45〕〔19,20〕〔4562〕〔89〕〔20〕〔70〕〔19〕〔30〕〔62〕〔89〕22.假设有序表中关键字序列为:14,20,25,32,34,45,57,69,77,83,92。对其进行折半查找,那么在等概率情况下,查找成功时的平均查找长度是(c)。查找32时需进行(c)次比拟。a:1b:223.设一棵二叉树BT的存储结构如下:12345678lchild23006000dataABCDEFGHrchild05408700其中lchild,rchild分别为结点的左、右孩子指针域,data为结点的数据域。那么该二叉树的高度为(d);第3层有(a)个结点〔根结点为第1层〕。a:2b:3c:4d:525.假设某二叉树有20个叶子结点,有20个结点仅有一个孩子,那么该二叉树的总结点数是(c)。a:40b:55c:59d:6127.某有向图的邻接表存储结构如下图。0E21∧1D034∧2C40E21∧1D034∧2C4∧3B120∧4A2∧根据存储结构,依教材中的算法其深度优先遍历次序为〔d〕。广度优先遍历次序为〔c〕。各强连通分量的顶点集为〔f〕。a:abcdeb:edcba.c:ecdab.d:ecadb.e:abc及edf:ac及bedg:ab及cedh:bc及aed29.设有二维数组A5x7,每一元素用相邻的4个字节存储,存储器按字节编址。A的起始地址为100。那么按行存储时,元素A06的存储地址是〔d〕;按列存储时,元素A06的存储地址是〔a〕。a.220b.200c.140d.12430.假设顺序表中各结点的查找概率不等,那么可用如下策略提高顺序查找的效率:假设找到指定的结点,将该结点与其后继〔假设存在〕结点交换位置,使得经常被查找的结点逐渐移至表尾。以下为据此策略编写的算法,请选择适当的内容,完成此功能。顺序表的存储结构为:typedefstruct{ElemType*elem;//数据元素存储空间,0号单元作监视哨intlength;//表长度}SSTable;intsearch_seq(SSTableST,KeyTypekey){//在顺序表ST中顺序查找关键字等于key的数据元素。//假设找到,那么将该元素与其后继交换位置,并返回其在表中的位置,否那么为0。ST.elem[0].key=key;i=ST.length;while(ST.elem[i].key!=key)f;if(g){ST.elem[i]←→ST.elem[i+1];e;}returni;}a:i>0b:i>=0c:i<ST.lengthd:i<=ST.lengthe:i++f:i--g:A和C同时满足h:B和D同时满足1.单链表结点的类型定义如下:typedefstructLNode{intdata;structLNode*next;}LNode,*Linklist;写一算法,Contrary(linklist&L),对一带头结点且仅设尾指针L的循环单链表就地逆置。〔即首元变尾元,尾元变首元。〕voidContrary(linklist&L){p=L->next;q=L;while(p!=L){r=p->next;p->next=q;q=p;p=r;}p->next=q;}2.二叉树用二叉链表存储表示。typedefstructBiTNode{TelemTypedata;StructBiTNode*lchild,*rchild;}BiTNode,*BiTree;试编写销毁二叉树T的算法DestroyBiTree(BiTree&T)。voidDestroyBiTree(BiTree&T){if(!T)return;if(T-lchild)DestroyBiTree(T->lchild);if(T-rchild)DestroyBiTree(T->rchild);free(T);T=NULL;}3.设带头结点的单链表中的元素以值非递减有序排列,试编写算法,删除表中所有值相同的多余元素。单链表结点的类型定义如下

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论