欢迎来到麦多课文档分享! | 帮助中心 海量文档,免费浏览,给你所需,享你所想!
麦多课文档分享
全部分类
  • 标准规范>
  • 教学课件>
  • 考试资料>
  • 办公文档>
  • 学术论文>
  • 行业资料>
  • 易语言源码>
  • ImageVerifierCode 换一换
    首页 麦多课文档分享 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    【学历类职业资格】数据结构-9及答案解析.doc

    • 资源ID:1375614       资源大小:62KB        全文页数:9页
    • 资源格式: DOC        下载积分:5000积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    二维码
    微信扫一扫登录
    下载资源需要5000积分(如需开发票,请勿充值!)
    邮箱/手机:
    温馨提示:
    如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如需开发票,请勿充值!如填写123,账号就是123,密码也是123。
    支付方式: 支付宝扫码支付    微信扫码支付   
    验证码:   换一换

    加入VIP,交流精品资源
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    【学历类职业资格】数据结构-9及答案解析.doc

    1、数据结构-9 及答案解析(总分:100.00,做题时间:90 分钟)一、B单项选择题/B(总题数:15,分数:30.00)1.如果待排序的记录的规模很大,则在下面的排序方式中,我们最好不要选择使用 ( )(分数:2.00)A.快速排序B.直接插入排序C.堆排序D.归并排序2.设数组 A0,m作为循环队列 sq的存储空间,front 为队头指针,rear 为队尾指针,则执行入队操作的语句是( )(分数:2.00)A.sfront=(sfront+1)%mB.sfront=(sfront+1)%(m+1)C.srear=(srear+1)%mD.srear=(srear+1)%(m+1)3.线性表

    2、若采用链表存储结构时,要求内存中可用存储单元的地址( )(分数:2.00)A.必须是连续的B.部分地址必须是连续的C.一定是不连续的D.连续不连续都可以4.串是一种特殊的线性表,其特殊性体现在( )(分数:2.00)A.可以顺序存储B.数据元素是一个字符C.可以链接存储D.数据元素可以是多个字符5.对广义表(a),(b)进行下面的操作 head(head(a),(b)后的结果是( )(分数:2.00)A.aB.(C.( )D.不确定6.将含有 83个结点的完全二叉树从根结点开始编号,根为 1号,后面按从上到下、从左到右的顺序对结点编号,那么编号为 41的结点的双亲结点编号为( )(分数:2.0

    3、0)A.42B.40C.21D.207.带头结点的单链表 Head为空的判定条件是( )(分数:2.00)A.Head=NULL;B.Head.next=NULL;C.Head.nextHead;D.Head.next=Head8.堆是一个键值序列(k 1,k 2,k,k 1,k 0),对 i=1,2,n/2,满足( )(分数:2.00)A.kik 2ik 2i+1B.kik 2ik 2i+1C.kik 2i且 kk 2i+1(2i+1D.kik 2i或 kik 2i+l(2i+19.链栈与顺序栈相比,有一个比较明显的优点即( )(分数:2.00)A.插入操作更加方便B.通常不会出现栈满的情况

    4、C.不会出现栈空的情况D.删除操作更加方便10.判断一个有向图是否存在回路,除了可以利用拓扑排序方法,还可以利用( )(分数:2.00)A.求关键路径的方法B.求最短路径的 Dijkstra方法C.广度优先遍历方法D.深度优先遍历方法11.如果 T2是由有序树 T转换而来的二叉树,那么 T中结点的后序就是 T2中结点的( )(分数:2.00)A.前序B.中序C.后序D.层次序12.假设有一个数组,它的行号从 0到 8,列号从 0到 10,数组中每个元素所占的存储空间为 3个单元,则现在将此数组从某一个地址开始连续存放在一个存储器中,试问至少需要( )个存储单元才能完全将此数组存放进去。(分数:

    5、2.00)A.240B.297C.270D.30013.串是任意有限个( )(分数:2.00)A.符号构成的集合B.符号构成的序列C.字符构成的集合D.字符构成的序列14.已知某二叉树的后序遍历序列是 dabec,中序遍历序列是 debac,则它的前序遍历序列是 ( )(分数:2.00)A.a c b e dB.d e c a bC.d e a b cD.c e d b a15.堆排序的最坏时间复杂度为( )(分数:2.00)A.O(B.O(10g2C.O(nlog2D.O(n2)二、B填空题/B(总题数:10,分数:20.00)16.设线性表(a 1,a 2,a 500)元素的值由小到大排列

    6、。对一个给定的 k值,用二分法检索查找表中与 k相等的元素,在检索不成功的情况下,至多需比较 1 次。(分数:2.00)填空项 1:_17. 1与数据元素本身的内容和形式无关。(分数:2.00)填空项 1:_18.已知无向图 G的结点数为 n,边数为 e,其邻接表表示中的表结点数与表头结点数之和为 1。(分数:2.00)填空项 1:_19.对带有头结点的链队列 lq,判定队列中具有一个数据元素的条件是 1。(分数:2.00)填空项 1:_20.判断一个没有头结点的单链表 head为空的条件是 1。(分数:2.00)填空项 1:_21.就文件而言,按用户的观点所确定的基本存储单元称为_。按外设的

    7、观点所确定的基本存储单元称为_。(分数:2.00)填空项 1:_22.对于一个具有 n条边和 e个顶点的图来说,如果采用邻接表表示,则其空间复杂度为_,若采用邻接矩阵表示,则其空间复杂度为_。(分数:2.00)填空项 1:_23.设有一元多项式 A(x)=7+3x+10x30-4X100+13x101,用单链表给出 A(x)的存储表示为 1。(分数:2.00)填空项 1:_24.在顺序表中,插入或者删除一个元素,需要平均移动_个元素,具体移动的元素个数与_有关。(分数:2.00)填空项 1:_25.一棵树中非叶子结点的个数为 n,与树对应的二叉树中右子树为空的结点的个数为 m,则 m= 1。(

    8、分数:2.00)填空项 1:_三、B解答题/B(总题数:4,分数:20.00)26.已知有一关键字序列为(372,81,437,96,205,732,821,634,572,495,264),如果采用归并排序方法对此序列进行升序排列,请给出每一趟的排序结果。(分数:5.00)_27.假设一棵具有 12个结点的二叉树的存储结构如下图所示,其中 left和 right分别表示此结点左、右孩子的序号,data 表示此结点的数据,根结点为编号为 4的结点。请根据此存储结构画出对应的二叉树,然后回答下面的问题: (分数:5.00)_28.在一棵二叉树中,度为 O的结点个数与度为 2的结点个数和度数之间有

    9、什么关系?在一棵完全二叉树中,如果共有 200个结点,则能判断出叶结点的个数吗?如果能,请指出会有多少个叶结点,多少个度为 2的结点?多少个度为 1的结点?如果有 201个结点呢?(分数:5.00)_29.已知有如右图所示的一棵树,请将其转化成二叉树。 (分数:5.00)_四、B算法阅读题/B(总题数:4,分数:20.00)30.以下为单链表按序号查找的运算,分析算法,请在_处填上正确的语句。 pointer find_lklist(1klist head,int i) p=head;j=0; while(_) p=pnext;j+; if(i=j)return(p); else return

    10、(NULL); (分数:5.00)填空项 1:_31.以下算法实现若开散列表 HP中存在键值为 K的结点,则将其删除。请分析程序,并在_上填充合适的语句。 void delete_openhash(keytype K,openhash HP) i=H(K); if(HPi=NULL)return; /*空表则退出*/ p=HVi; if(pkey=K)_=pnext;free(p);return;) /*表首结点为待删除结点时的删除*/ while(pnext!=NULL) /*其他情况下的删除*/ q=p;p=pnext; if(pkey=K)_=pnext;delete(p);return

    11、;) (分数:5.00)填空项 1:_32.以下运算实现在循环队上的出队列,请在_处用适当的语句予以填充。 int OutCycQueue(CycqueueTp*sq,DataType*x) if(sqfront=_)error(“队空“);return(0);) else_; _; return(1); (分数:5.00)填空项 1:_33.以下为求单链表表长的运算,分析算法,请在_处填上正确的语句。 int length_lklist(lklist head) /*求表的长度。 */ _; j=0; while(pnext!=NULL) _; j+; return(j); /*回传表长*/

    12、(分数:5.00)填空项 1:_五、B算法设计题/B(总题数:1,分数:10.00)34.有两个磁盘文件 A、B,各存放一行字母,要求把这两个文件中的信息按字母顺序排列合并,输出到一个新文件 C中。(分数:10.00)_数据结构-9 答案解析(总分:100.00,做题时间:90 分钟)一、B单项选择题/B(总题数:15,分数:30.00)1.如果待排序的记录的规模很大,则在下面的排序方式中,我们最好不要选择使用 ( )(分数:2.00)A.快速排序B.直接插入排序 C.堆排序D.归并排序解析:2.设数组 A0,m作为循环队列 sq的存储空间,front 为队头指针,rear 为队尾指针,则执行

    13、入队操作的语句是( )(分数:2.00)A.sfront=(sfront+1)%mB.sfront=(sfront+1)%(m+1)C.srear=(srear+1)%mD.srear=(srear+1)%(m+1) 解析:3.线性表若采用链表存储结构时,要求内存中可用存储单元的地址( )(分数:2.00)A.必须是连续的B.部分地址必须是连续的C.一定是不连续的D.连续不连续都可以 解析:4.串是一种特殊的线性表,其特殊性体现在( )(分数:2.00)A.可以顺序存储B.数据元素是一个字符 C.可以链接存储D.数据元素可以是多个字符解析:5.对广义表(a),(b)进行下面的操作 head(h

    14、ead(a),(b)后的结果是( )(分数:2.00)A.a B.(C.( )D.不确定解析:6.将含有 83个结点的完全二叉树从根结点开始编号,根为 1号,后面按从上到下、从左到右的顺序对结点编号,那么编号为 41的结点的双亲结点编号为( )(分数:2.00)A.42B.40C.21D.20 解析:7.带头结点的单链表 Head为空的判定条件是( )(分数:2.00)A.Head=NULL;B.Head.next=NULL; C.Head.nextHead;D.Head.next=Head解析:8.堆是一个键值序列(k 1,k 2,k,k 1,k 0),对 i=1,2,n/2,满足( )(分

    15、数:2.00)A.kik 2ik 2i+1B.kik 2ik 2i+1C.kik 2i且 kk 2i+1(2i+1 D.kik 2i或 kik 2i+l(2i+1解析:9.链栈与顺序栈相比,有一个比较明显的优点即( )(分数:2.00)A.插入操作更加方便B.通常不会出现栈满的情况 C.不会出现栈空的情况D.删除操作更加方便解析:10.判断一个有向图是否存在回路,除了可以利用拓扑排序方法,还可以利用( )(分数:2.00)A.求关键路径的方法B.求最短路径的 Dijkstra方法C.广度优先遍历方法D.深度优先遍历方法 解析:11.如果 T2是由有序树 T转换而来的二叉树,那么 T中结点的后序

    16、就是 T2中结点的( )(分数:2.00)A.前序B.中序 C.后序D.层次序解析:12.假设有一个数组,它的行号从 0到 8,列号从 0到 10,数组中每个元素所占的存储空间为 3个单元,则现在将此数组从某一个地址开始连续存放在一个存储器中,试问至少需要( )个存储单元才能完全将此数组存放进去。(分数:2.00)A.240B.297 C.270D.300解析:13.串是任意有限个( )(分数:2.00)A.符号构成的集合B.符号构成的序列C.字符构成的集合D.字符构成的序列 解析:14.已知某二叉树的后序遍历序列是 dabec,中序遍历序列是 debac,则它的前序遍历序列是 ( )(分数:

    17、2.00)A.a c b e dB.d e c a bC.d e a b cD.c e d b a 解析:15.堆排序的最坏时间复杂度为( )(分数:2.00)A.O(B.O(10g2C.O(nlog2 D.O(n2)解析:二、B填空题/B(总题数:10,分数:20.00)16.设线性表(a 1,a 2,a 500)元素的值由小到大排列。对一个给定的 k值,用二分法检索查找表中与 k相等的元素,在检索不成功的情况下,至多需比较 1 次。(分数:2.00)填空项 1:_ (正确答案:9)解析:17. 1与数据元素本身的内容和形式无关。(分数:2.00)填空项 1:_ (正确答案:数据的逻辑结构)

    18、解析:18.已知无向图 G的结点数为 n,边数为 e,其邻接表表示中的表结点数与表头结点数之和为 1。(分数:2.00)填空项 1:_ (正确答案:n+2e)解析:19.对带有头结点的链队列 lq,判定队列中具有一个数据元素的条件是 1。(分数:2.00)填空项 1:_ (正确答案:lgfrontnext=lqrear)解析:20.判断一个没有头结点的单链表 head为空的条件是 1。(分数:2.00)填空项 1:_ (正确答案:hcad=NULL)解析:21.就文件而言,按用户的观点所确定的基本存储单元称为_。按外设的观点所确定的基本存储单元称为_。(分数:2.00)填空项 1:_ (正确答

    19、案:逻辑记录 物理记录)解析:22.对于一个具有 n条边和 e个顶点的图来说,如果采用邻接表表示,则其空间复杂度为_,若采用邻接矩阵表示,则其空间复杂度为_。(分数:2.00)填空项 1:_ (正确答案:O(n+c) O(n 2))解析:23.设有一元多项式 A(x)=7+3x+10x30-4X100+13x101,用单链表给出 A(x)的存储表示为 1。(分数:2.00)填空项 1:_ (正确答案:*)解析:24.在顺序表中,插入或者删除一个元素,需要平均移动_个元素,具体移动的元素个数与_有关。(分数:2.00)填空项 1:_ (正确答案:约表长的一半 该元素在线性表中的位置)解析:25.

    20、一棵树中非叶子结点的个数为 n,与树对应的二叉树中右子树为空的结点的个数为 m,则 m= 1。(分数:2.00)填空项 1:_ (正确答案:n+1)解析:三、B解答题/B(总题数:4,分数:20.00)26.已知有一关键字序列为(372,81,437,96,205,732,821,634,572,495,264),如果采用归并排序方法对此序列进行升序排列,请给出每一趟的排序结果。(分数:5.00)_正确答案:()解析:归并排序的基本思想是:第 l趟归并排序是,将待排序的文件 R1n看作是 n个长度为 1的有序子文件,将这些文件两两归并,若 n是偶数,则得到 n/2个长度为 2的有序文件,若 n

    21、为奇数,则最后一个文件轮空,此时得到n/2-1 个有序文件长度为 2,最后一个文件长度为 1,第 2越是将第 1趟得到的各个有序子文件进行两两归并。这样依次类推,直到得到一个长度是 n的有序文件为止。按照上述规则,我们得到各趟归并的结果如下: 初始:372,81,437,96,205,732,21,634,572,495,264 第 1趟归并后:81,37296,437205,732634,821495,572264 第 2趟归并后:81,96,372,437205,634,732,821264,495,572 第 3趟归并后:81,96,205,372,437,634,732,821264,

    22、495,572 第 4趟归并后:81,96,205,264,372,437,495,572,634,732,82127.假设一棵具有 12个结点的二叉树的存储结构如下图所示,其中 left和 right分别表示此结点左、右孩子的序号,data 表示此结点的数据,根结点为编号为 4的结点。请根据此存储结构画出对应的二叉树,然后回答下面的问题: (分数:5.00)_正确答案:()解析:在二叉树的链表中,每个结点不仅存放了结点的数值,还存放着指向其左、右孩子的指针,则按照此题中给出的条件,编号为 4的结点为根结点,即 A为根结点,然后,再根据 A的左、右孩子指针所指向的编号,分别找出 A的左、右孩子

    23、为 B,E,然后根据左、右孩子的左右孩子指针域所指向的编号,分别找出左、右孩子的左、右孩子,直到所找到的结点的左、右孩子的指针域都为 0时,则按照以上规则我们得到此二叉树的结构为: 28.在一棵二叉树中,度为 O的结点个数与度为 2的结点个数和度数之间有什么关系?在一棵完全二叉树中,如果共有 200个结点,则能判断出叶结点的个数吗?如果能,请指出会有多少个叶结点,多少个度为 2的结点?多少个度为 1的结点?如果有 201个结点呢?(分数:5.00)_正确答案:()解析:在一棵二叉树中,度数为 0的结点(叶结点)的个数总是比度为 2的结点的个数多 1。根据完全二叉树的定义:若一棵二叉树至多只有最

    24、下面的两层上结点的度数可以小于 2,并且最下一层上的结点都集中在该层最左边的若干住置上,则我们可以得出这样一个结论:在一棵完全二叉树上,或者没有度为 1的结点。则根据以上分析,我们可以这样计算此题:设度数为 2的结点有 n个,则必有 n+1个度为 0的结点,即度数为 2和度数为 0的结点数之和为 2n+1(是奇数),于是得出,如果一棵完全二叉树的结点总数为奇数,则此树中必然不存在度为 1的结点,若完全二叉树中结点总数为偶数,则必然有 1个度为 1的结点存在,于是若完全二叉树中有 200个结点,就必有 100个对结点,99 个度数为 2的结点,12 个度数为 1的结点,如果二叉树中有 201个结

    25、点,则必有 101个叶结点,100 个度数为 2的结点,没有度数为 1的结点。29.已知有如右图所示的一棵树,请将其转化成二叉树。 (分数:5.00)_正确答案:()解析:将一棵树转换成二叉树的规则如下: (1)在所有的兄弟结点之间加一条线; (2)对于每个结点,除了保留与长子的连线外,去掉该结点和其他孩子的连线,则根据以上两个规则,我们得到转换后的二叉树为(从此图我们可以得到,将一棵普通树转换成二叉树后,其对应的二叉树的右子树为空): 四、B算法阅读题/B(总题数:4,分数:20.00)30.以下为单链表按序号查找的运算,分析算法,请在_处填上正确的语句。 pointer find_lkli

    26、st(1klist head,int i) p=head;j=0; while(_) p=pnext;j+; if(i=j)return(p); else return(NULL); (分数:5.00)填空项 1:_ (正确答案:(pnext!=NULL) if(HPi=NULL)return; /*空表则退出*/ p=HVi; if(pkey=K)_=pnext;free(p);return;) /*表首结点为待删除结点时的删除*/ while(pnext!=NULL) /*其他情况下的删除*/ q=p;p=pnext; if(pkey=K)_=pnext;delete(p);return;

    27、) (分数:5.00)填空项 1:_ (正确答案:HPi qnext)解析:32.以下运算实现在循环队上的出队列,请在_处用适当的语句予以填充。 int OutCycQueue(CycqueueTp*sq,DataType*x) if(sqfront=_)error(“队空“);return(0);) else_; _; return(1); (分数:5.00)填空项 1:_ (正确答案:sqrear sqfront=(sqfront+1)%maxsize *x=sqdatasqfront)解析:33.以下为求单链表表长的运算,分析算法,请在_处填上正确的语句。 int length_lkli

    28、st(lklist head) /*求表的长度。 */ _; j=0; while(pnext!=NULL) _; j+; return(j); /*回传表长*/(分数:5.00)填空项 1:_ (正确答案:p=head p=pnext)解析:五、B算法设计题/B(总题数:1,分数:10.00)34.有两个磁盘文件 A、B,各存放一行字母,要求把这两个文件中的信息按字母顺序排列合并,输出到一个新文件 C中。(分数:10.00)_正确答案:()解析:可先分别将 A、B 文件的内容读出放到数组 C中,再对数组 C排序,最后再将数组内容写到文件 C中,程序为: #includestdio.h mai

    29、n() /*合并 A、B 文件内容到 C文件中*/ FILE*fp; int i,j,n,m; char c160,t,ch; if(fp=fopen(“A“,“r“)=Null) printf(“文件 A cant open/n“); exit(0); else printf(“/n文件 A的内容为/n“) for(i=0;(ch=fgetc(fp)!=EOF:i+) Ci=oh; putchar(C-i); fclose(fp); m=i; if(fp=fopen(“B“,“r“)=Null) printf(“B文件 cant open/n“); exit(0); else printf(“/nB文件内容是/n“); for(i=m;(ch=fgetc(fp)!=EOF;i+) Ci=ch; putchar(i); fclose(fp); n=i;/*排序*/ for(i=0;in;i+) for(j=i+1;jm,j+) if(Cicj) t=ci; ci=cj; cj=t; printf(“/nC 文件是/n“); fp=fopen(“c“,“w“) /* 写入 C文件中*/ for(i=0;im;i+) putchar(ci,fp); putchar(ci); fclose(fp); /*main*/


    注意事项

    本文(【学历类职业资格】数据结构-9及答案解析.doc)为本站会员(eastlab115)主动上传,麦多课文档分享仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文档分享(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
    备案/许可证编号:苏ICP备17064731号-1 

    收起
    展开