欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    许昌学院数据结构 考试题库.docx

    • 资源ID:5527454       资源大小:141.03KB        全文页数:47页
    • 资源格式: DOCX        下载积分:1金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要1金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

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

    许昌学院数据结构 考试题库.docx

    1、许昌学院数据结构 考试题库一、 数据结构概念1. 数据结构是指【 】,具体包含三个方面:数据的【 】,数据的【 】和数据运算的集合。 2. 根据数据元素之间关系的不同特性,通常有【 】、【 】、【 】、【 】四类基本逻辑结构,它们反映了四类基本的数据组织形式。3. 数据结构S中:元素的集合为:A,B,C,D,E,F,G,H,I,关系的集合为:,则S的逻辑结构为( ) (A) 集合 (B)线性 (C) 树 (D)图4. 数据元素之间存在一对多关系的数据结构是( )(A)线性表 (B)队列 (C)二叉树 (D)AOV-网5. 以下数据结构中,属于线性结构的有( )(A) 线性表 (B) 树 (C)

    2、 二叉树 (D) 图6. 存储结构是逻辑结构在计算机中的实现。( ) 7. 非空线性表中任意一个数据元素都有且仅有一个直接前驱元素。 ( )8. 非空线性表中任意一个数据元素都有且仅有一个直接后继元素。 ( )9. 顺序存储结构只能用来存放线性结构;链式存储结构只能存放非线性结构。 ( )10. 算法就是程序。 ( )11. 一种逻辑结构可以采用不同的存储方式存放在计算机中。 ( )二、 线性表12. 线性结构的基本特征是:若至少含有一个结点,则除起始结点没有直接【 】外,其他结点有且仅有一个直接【 】;除终端结点没有直接【 】外,其它结点有且仅有一个直接【 】。13. 线性表的顺序存储结构是

    3、指用一组【 】的存储单元依次存储线性表中的各个元素,逻辑上相邻的元素,其物理位置【 】_。链式存储结构中,逻辑上相邻的元素,其物理位置【 】 。14. 线性表的顺序存储结构中,逻辑上相邻的元素,其物理位置【 】。链式存储结构中,逻辑上相邻的元素,其物理位置【 】 。15. 在顺序表中插入或删除一个元素,需要平均移动【 】元素,具体移动的元素个数与【 】有关。16. 单链表是线性表的的【 】存储结构。17. 单链表表示法的基本思想是用【 】表示结点间的逻辑关系。18. 循环链表与单链表的区别仅仅在于循环链表尾结点的链域值不是【 】,而是一个指向【 】的指针。19. 如右图所示,在单键表中,P指针

    4、所指结点之后插入一个新结点S,操作的语句是: 【 】; 【 】。20. 顺序表的类型中,假定每个datatype类型的变量占用k(k=1)个内存单元,其中,b是顺序表的第一个存储结点的第一个单元的内存地址,那么,第i个(1in)结点ai的存储地址为【 】。21. 在单链表中,删除P 指针所指向的结点的后继(S指针指向的结点)的操作是【 】;free(【 】)。22. 以下为顺序表的插入运算,分析算法,请在空白处填上正确的语句。void insert_seqlist(seqlist *L,datatype x,int i) /*将x插入到顺序表L的位序为i的位置*/ if( L-last = m

    5、axsize-1 ) error(“表满”);if(iL-last+2) error(“非法位置”);for(j=L-last;j=i-1;j-)【 】;L-datai-1=x; 【 】;23. 以下为顺序表的删除运算,分析算法,请在空白处填上正确的语句。 void delete_sqlist(sqlist *L,int i) /*删除顺序表L中的第i-1个位置上的结点*/ if(iL-last)error(“非法位置”); for(j=i+1;j=L-last;j+)【 】; L-last=L-last-1;24. 下列有关线性表的叙述中,正确的是( )。(A)一个线性表是n个数据元素的有限

    6、序列 (B)线性表中任何一个元素有且仅有一个直接前驱(C)线性表中任何一个元素有且仅有一个直接后继 (D)以上说法都不正确25. 顺序表是线性表的( )。 (A)链式存储结构 (B)顺序存储结构 (C) 索引存储结构 (D) 散列存储结构26. 从一个长度为n的顺序表中删除第i个元素(1in)时,需向前移动( )个元素。(A)n-i (B)n-i+1 (C)n-i-1 (D)i27. 一个长度为n的顺序表中第i个位置上插入新元素(1in+1)时,需向后移动( )个元素。(A)n-i (B)n-i+1 (C)n-i-1 (D)i28. 下面的定义是( )。 typedef struct node

    7、 int data ; struct node * next ; linklist; (A)顺序表 (B)单链表 (C)双向链表 (D)二叉链表29. 下面的定义是( )。 typedef struct int dataMaxsize ; int last ; seqlist; (A)顺序表 (B)单链表 (C)静态链表 (D)循环队列30. 单链表的一个存储结点包含( )。(A)数据域或指针域(B)指针域或链域 (C)指针域和链域 (D)数据域和链域31. 单链表中,增加头结点的目的是为了( )。(A)使单链表至少有一个结点 (B) 标示表结点中首结点的位置(C)方便运算的实现 (D)说明单

    8、链表是线性表的链式存储实现32. 对于单链表表示法,以下说法错误的是( )。(A)指向链表的第一个结点的指针,称为头指针 (B)单链表的每一个结点都被一个指针所指(C)终端结点的指针域就为NULL (D)尾指针变量具标识单链表的作用,故常用尾指针变量来命名单链表33. 有一个含头结点的单链表,头指针为head,则判断其是否为空的条件是( )。(A) head = = NULL (B) head-next = = NULL (C) head-next = = head (D) head != NULL34. 在带头结点的非空单链表H中,指针p指向某的结点,求p结点的前驱结点指针q的算法是( )。

    9、(A)q=H ; while(q!=p) q=q-next; (B) q=H ; while(q-next!=p) q=q-next; (C) q=H-next ; while(q!=p) q=q-next; (D) q=H-next ; while(q-next!=p) q=q-next; 35. 在带头结点的单链表H中,求单链表长度len的算法是( )。(A) len=0,p=H ; while(p-next!=NULL) len + ; p=p-next;(B) len=0,p=H-next ; while(p-next!=NULL) len + ; p=p-next; (C) len=

    10、1,p=H ; while(p!=NULL) p=p-next; len + ; (D) len=1,p=H-next ; while(p-next!=NULL) p=p-next; len + ;36. 假设指针p指向单链表中的某一结点,s为某结点指针,则在p指针后面插入结点s的操作是( )。(A) p-next=s;s=p-next; (B)p-next=s;s-next=p-next; (C) s-next=p-next;p-next=s; (D)s-next=p;p-next=s;37. 假设指针p指向单链表中的某一结点,s为某结点指针,则在p指针前面插入结点s的操作是( )。(A)

    11、s-next=p-next;p-next=s; (B)p-next=s; s-next=p-next; (C) p-next=s ; s=p-next; (D)s-next=p ; p-next=s;38. 在单链表中,指针p指向元素为x的结点,实现“删除x的后继”的语句是( )。(A)p=p-next; (B)p-next =p-next -next ; (C)p-next =p; (D)p=p-next-next;39. 某线性表中最常用的操作是存取序号为i的元素及其前驱的值,可采用的存储的方式是( )。(A)顺序表 (B)单向链表 (C)双向循环链表 (D)单向循环链表40. 对于只在表

    12、的首、尾两端进行插入操作的线性表,宜采用的存储结构为( )。(A)顺序表 (B)用头指针表示的单循环链表 (C)用尾指针表示的单循环链表 (D)单链表41. 在单链表中,头结点是必不可少的。( ) 42. 在单链表中,头结点的作用是简化运算。( ) 43. 在线性表的顺序存储结构中,逻辑上相邻的数据元素在物理位置上也是相邻的。( ) 44. 在线性表的链式存储结构中,逻辑上相邻的数据元素在物理位置上也是相邻的。( ) 45. 只要内存足够大,采用链式存储结构的线性表长度不受限制。( ) 三、 栈和队列46. 仅允许在表的一端进行插入与删除操作的线性表称作【 】,允许在表的一端进行插入,另一端进

    13、行删除操作的线性表称作【 】。47. 栈称为【 】线性表。队称为【 】线性表。48. 队列的操作是按【 】的原则进行的。49. 栈的运算特点是【 】。请将用C语言的顺序栈的定义补充完整:typedef struct 【 】; 【 】;seqstack; 50. 以下运算实现在顺序栈上的进栈,请在空白处用适当的语句予以填充。typedef struct DataType datamaxsize ; int top;SeqStack; int Push(SeqStack *sq ,DataType x) if(sp-top= maxsize-1) error(“栈满”);return(0); el

    14、se【 】; 【 】=x;return(1);51. 队列的操作是按【 】原则进行的。循环队列Q分配Maxsize个存储单元,队头指针为front,队尾指针为rear,采用少用一个空间的方法处理,判断队列满的条件是【 】。52. 循环队列是队列的【 】存储结构。53. 循环队列Q分配Maxsize个存储单元,队头指针为front,队尾指针为rear,采用少用一个空间的方法处理,判断队列满的条件是【 】。54. 以下顺序栈定义及出栈运算实现,请在空白处用适当语句填充。typedef struct DataType datamaxsize ; int top;SeqStack; int Pop(S

    15、eqStack *sp ,DataType *x) if (sp-top=0) error(“空栈”) ; return(0) ; else *x=_; _; return(1) ; 55. 栈操作的原则是( )。(A)先进先出 (B)后进先出 (C)栈顶插入 (D) 栈顶删除56. 栈的两种常用存储结构分别为(A)顺序存储结构和链式存储结构 (B)顺序存储结构和散列存储结构 (C)链式存储结构和索引存储结构 (D)链式存储结构和散列存储结构57. 有一栈,元素A,B,C,D依次进栈 ,则以下出栈序列中不可能得到的是( )。(A) D、C、B、A (B) C、B、A、D (C) A、B、C、D

    16、 (D) D、C、A、B58. 一个栈的入栈序列是A,B,C,D,E,则不可能的出栈序列是( )。(A)EDCBA (B)DECBA (C)DCEAB (D)ABCDE 59. 若进栈序列为a,b,c,则通过入出栈操作可能得到的a,b,c的不同排列个数为(A)4 (B)5 (C)6 (D)760. 循环队列是队列的( )。 (A)顺序存储结构(B)链式存储结构(C)索引存储结构(D)散列存储结构 61. 设循环队列中数组的下标范围是1n,其头尾指针分别是f、r,则队列中元素个数为( )。 (A)r - f (B)r f + 1 (C)(r f + 1)mod n(D)( r f + n ) m

    17、od n62. 在循环队列中(少用一个存储空间),队满的条件是( )。 (A)(rear+1)%maxsize=front (B)raer=front (C)(front+1)%maxsize=rear (D)rear=063. 循环队列的队满条件为( )。(A) (sq.rear+1) % mazsize =(sq.front+1) % maxsize;(B) (sq.rear+1) % maxsize =sq.front+1(C) sq.(rear+1) % maxsize =sq.front(D) sq.rear =sq.front64. 设数组datam作为循环队列SQ的存储空间,fr

    18、ont为头指针,rear为尾指针,执行出队操作,其头指针的值为( )。 (A) front=front+1 (B) front=(front+1)%(m-1) (C) front=(front-1)%m (D) front=(front+1)%m65. 栈和队列与线性表的逻辑结构相同。( ) 66. 栈只能在栈顶进行插入和删除。( ) 67. 队列只能在队首进行删除,在队尾进行插入。( ) 68. 队列只能在队尾进行删除,在队首进行插入。( ) 四、 字符串,数组,广义表69. 通常采用【 】存储结构来存放数组 。对二维数组可有两种存储方法:一种是以【 】为主序的存储方式,另一种是以【 】为主

    19、序的存储方式。70. 已知具有n个元素的一维数组采用顺序存储结构,每个元素占k个存储单元,第一个元素的地址为LOC(a1),那么,LOC(ai)= 【 】。71. 在C语言中定义的二维数组int M1020,每个元素(整数)占两个存储单元,数组的起始地址为2000, M819的存储值为【 】。元素M510的存储位置为【 】。72. 假设有6行8列的二维数组A,每个元素占用6个字节,存储器按字节编址。已知A的基地址为1000,那么元素A3,6在按行存储时的地址是【 】,按列存储时的地址是【 】。73. 对称方阵采用压缩存储, 即为每一对对称位置元素只分配一个存储空间 ,则可将n2个元素压缩存储到

    20、【 】个元素的存储空间中。74. 有一个10阶对称矩阵A1010,采用压缩存储方式以行序为主存储,A00的位置是1,则A85的位置是【 】。75. 三元组表是【 】的【 】存储结构。76. 字符串S=“Computer”中,以p为首字符的子串有【 】个。77. TAILHEAD(a,b),(c,d)运算的结果是【 】。78. 广义表L=(x,a),(x,a,(b,c),y)的长度是【 】。79. 设广义表A=(a,b),B=(c,d),求head( (A, B) )的值为【 】。80. 有如下稀疏矩阵,请写出它的三元组表:81. 串是( )。(A)一些符号构成的序列(B)有限个字母构成的序列

    21、(C)一个以上的字符构成的序列(D)有限个字符构成的序列82. 已知函数Sub(s,i,j)的功能是返回串s中从第i个字符起长度为j的子串,函数Scopy(s,t)的功能为复制串t到s。若字符串S=“SCIENCESTUDY”,则调用函数Scopy(P,Sub(S,1,7)后得到( )。(A)P=“SCIENCE” (B)P=“STUDY” (C)S=“SCIENCE ” (D)S=“STUDY”83. 设有一个二维数组A68,假设A00存放位置在1000,每个元素占6个空间,按行优先存储,则A36的存储位置是(A)1180 (B)1126 (C)126 (D)18084. 一个向量第一个元素

    22、的存储地址是100,每个元素的长度为2,则第五个元素的地址是_。(A)110 (B)108 (C)100 (D)12085. 为了节省存储空间,将n阶对称矩阵A(下标从1开始)中包括主对角线元素在内的下三角部分的所有元素按照行序为主序方式存放在一维数组B1:n(n+1)/2中,对任意下三角部分的元素aij(ij)在数组B的下标k是_。 (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 86. 稀疏矩阵一般的压缩存储有两种,即( )。 (A) 二维数组和三维数组 (B) 三元组表和哈希表 (C) 三元组表和十字链表 (D)哈希

    23、表和十字链表87. 基于三元组的稀疏矩阵,对每个非零元素aij,可以用一个( )唯一确定。(A)非零元素 (B)三元组(i,j,aij) (C) aij (D) i,j88. 广义表A=(),(a),(b,(c,(D)的长度为_。(A)2 (B)3 (C)4 (D)5 89. 空串与由空格组成的串没有区别。( ) 90. 对称矩阵的压缩存储是指对矩阵中的值相同的元素只分配一个存储空间。( ) 91. 对称矩阵的压缩存储是指对矩阵中的规律元素只分配一个存储空间。( ) 92. N阶下三角矩阵压缩存储需要n*(n+1)/2个存储空间。( ) 93. 三元组表是稀疏矩阵的顺序存储结构。( ) 五、

    24、树型结构 94. 在二叉树中,第i层的结点数最多为【 】;95. 深度为k的二叉树的结点总数最多为【 】。96. 对任何二叉树,若度为2的节点数为n2,则叶子数n0=【 】。97. 在一棵完全二叉树中,若编号为i的结点有左孩子,则该左孩子结点的编号为【 】;若编号为i的结点有右孩子,则该右孩子结点的编号为【 】。98. 一棵深度为5的二叉树最多有【 】 个结点。99. 深度为h且有【 】个结点的二叉树称为满二叉树。(设根结点处在第1层)。100. 具有n个结点的完全二叉树,若按层次从上到下、从左到右对其编号(根结点为1号),则编号最大的分支结点序号是【 】,编号最小的分支结点序号是【 】,编号

    25、最大的叶子结点序号是【 】,编号最小的叶子结点序号是【 】。101. 在有n个结点的二叉树,采用二叉链表存放,空链域的个数为【 】。102. 二叉树通常有【 】存储结构和【 】存储结构两类存储结构。103. 给定二叉树的两种遍历序列,分别是:前序遍历序列:D,A,C,E,B,H,F,G,I; 中序遍历序列:D,C,B,E,H,A,G,I,F,试画出二叉树【 】。104. 请对给定的二叉树的存储结构,将二叉树的中序遍历输出结点递归算法补充完整:typedef struct node char data; /*元素为字符型*/struct node * Lchild,*Rchild; BiTree

    26、; void Inorder(BiTree root ) if ( root != NULL ) 【 】;【 】; 【 】; 105. 请对给定的二叉树的存储结构,将二叉树的先序遍历输出结点递归算法补充完整:typedef struct node char data; /*元素为字符型*/struct node * Lchild,*Rchild; BiTree; void preorder(BiTree root ) if ( root != NULL ) 【 】;【 】; 【 】; 106. 以下程序段采用先根遍历方法求二叉树的叶子数,请在横线处填充适当的语句。void countleaf(

    27、bitree *t,int *count)/*根指针为t,假定叶子数count的初值为0*/ if(t!=NULL) if(t-lchild=NULL)&(t-rchild=NULL) 【 】; countleaf(t-lchild,&count); 【 】 107. 哈夫曼树是带权路径长度【 】的树,通常权值较大的结点离根【 】。108. 有m个叶子结点的哈夫曼树,其结点总数为【 】。109. 用5个权值3, 2, 4, 5, 1构造的哈夫曼树的带权路径长度是【 】 。110. 按照二叉树的定义,具有3个结点的二叉树有_种形态。(A)3 (B)4 (C)5 (D)6111. 3个结点可构成(

    28、 )个不同形态的二叉树。(A)2 B 3 C 4 D 5112. 二叉树是非线性数据结构,它( )。(A)不能用顺序存储结构存储; (B)不能用链式存储结构存储; (C)顺序存储结构和链式存储结构都能存储; (D)顺序存储结构和链式存储结构都不能使用 113. 下列陈述中正确的是( )。(A)二叉树是度为2的树 (B)二叉树中结点只有一个孩子时无左右之分(C)二叉树中必有度为2的结点 (D)二叉树中最多只有两棵子树,并且有左右之分114. 设有一棵22个结点的完全二叉树,那么整棵二叉树有( )个度为0的结点? (A)6 (B)7 (C)8 (D)11115. 某非空二叉树共有叶结点15个,没有

    29、度为1的结点,则该树共有( )个结点。(A)29 (B)28 (C)27 (D)不能确定116. 已知完全二叉树有26个结点,则整棵二叉树有( )个度为1的结点? (A)1 (B)0 (C)2 (D)不确定117. 将一棵有50个结点的完全二叉树编号,根结点为1,每层从左到右依次编号,则编号为49的结点的双亲结点的编号是( )。 (A)23 (B) 24 (C) 25 (D)26118. 对二叉树从1开始编号,要求每个结点的编号大于其左右孩子的编号,同一个结点的左右孩子中,其左孩子的编号小于其右孩子的编号,则可采用( )方法实现编号。(A) 前序遍历 (B) 中序遍历 (C) 后序遍历 (D) 从根开始进行层次遍历119. 一棵二叉树有n个结点,要按某顺序对该二叉树中的结点编号,(号码为1-n),编号须具有如下性质:二叉树中任一结点V,其编号等于其左子树中结点的最大编号加1。而其右子树中结点的最小编号等于V的编号加1。试问应按()遍历顺序编号。(A)前根 B中根 C后根 D层次120. 已给如图的二叉树,它的中序遍历序列是( )。 (A)AB


    注意事项

    本文(许昌学院数据结构 考试题库.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




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

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开