数据结构复习题三
《数据结构》复习题题库
一、单项选择题(本大题共71小题,每小题2分,共142分)1、一个对象序列的排序码为{46,79,56,38,40,84},采用快速排序以位于最左位置的对象为基准而得到的第一次划分结果为()。
()A.{38,46,79,56,40,84}B.{38,79,56,46,40,84}C.{40,38,46,56,79,84}D.{38,46,56,79,40,84}标准答案:C2、广义表((a),a)的表头是()。
()A.aB.bC.(a)D.((a))标准答案:C3、数组A中,每个元素A的长度为3个字节,行下标i从1到8,列下标j从1到10,从首地址SA开始连续存放在存储器内,存放该数组至少需要的单元数是()。
()A.80B.100C.240D.270标准答案:C4、在一个单链表HL中,若要向表头插入一个由指针p指向的结点,则执行()。
()A.HL=p;p->next=HL;B.p->next=HL;HL=p;C.p->next=HL;p=HL;D.p->next=HL->next;HL->next=p;标准答案:B5、一个具有n个顶点的无向完全图的边数为()。
()A.(n+1)/2B.n(n-1)/2C.n(n-1)D.n(n+1)标准答案:B6、如果待排序序列中两个数据元素具有相同的值,在排序后它们的位置发生颠倒,则称该排序是不稳定的。
下列选项中,()就是不稳定的排序方法。
()A.起泡排序B.归并排序C.直接插入法排序D.简单选择排序标准答案:D7、按照二叉树的定义,具有3个结点的二叉树有()种。
()A.3B.4C.5D.6标准答案:C8、设有1000个元素,用二分法查找时,最大比较次数是()。
()A.1B.7C.10D.25标准答案:C9、树适合用来表示()。
()A.有序数据元素B.无序数据元素C.元素之间具有分支层次关系的数据D.元素之间无联系的数据标准答案:C10、设有两个串p和q,求p在q中首次出现的位置的运算称作()。
数据结构(习题三)
从上图可以看出,查找失败的最少比较次数为 3,最多比较次数为 4 次,故而选择 B答案。要特别注意,有的书把失败的比较也算作一次 比较,这里我们不算一次比较。
第五部分
查找
考点四 二叉排序树
本考点主要考查:
二叉排序树的概念和构造方法
第五部分
查找
考点四 二叉排序树
1. 若构造一棵具有 n 个结点的二叉排序树,最坏的情况下其深度不超 过 ( B ) A. n/2 B. n C. (n+1)/2 D. n+1 【解析】 最坏的情况下, 二叉排序树为单支树, 比如构造一棵 {1,2,3,4,5,…,n}的二叉树,则得到的二叉排序树如下图所示。
D. ③
【解析】对于 m 阶 B 树,除了根结点至少要有两棵子树之外,其他非 叶子结点至少有⌈m/2⌉棵子树,故而①错误。树中,每个结点至多有 m-1 个关键字,而且所有叶子都在同一层上,故而②③显然正确。但 是,插入一个关键字使得 B 树结点分裂,并不一定会引起树长高一层 ,如第 2 题中插入结点 70, B-树的前后高度都是 2,故而④错误。
第五部分
查找
考点七 哈希表
1. 以下说法错误的是 ( B ) A. 散列法存储的思想是由关键字值决定数据的存储地址 B. 散列表的结点中只包含数据元素自身的信息,不包含指针。 C. 负载因子是散列表的一个重要参数,它反映了散列表的饱满程度。 D. 散列表的查找效率主要取决于散列表构造时选取的散列函数和处理 冲突的方法。
数据结构
习 题 三
第五部分
查找
考点一 查找的基本概念
本部分考查查找的基本概念。
第五部分
查找
考点一 查找的基本概念
1. 要进行线性查找,则线性表 (1) D ;要进行二分查找,则线性表 (2) E ;要进行散列查找,则线性表 (3) C 。某顺序存储的表格,其 中有 90000 个元素,已按关键项的值的上升顺序排列。现假定对各个 元素进行查找的概率是相同的,并且各个元素的关键项的值皆不相同 。当用顺序查找法查找时,平均比较次数约为 (4) C ,最大比较次数 为 (5) D 。
数据结构习题三(答案)
哈夫曼编码: a:11 b:101 c:010 d:1001 e:011 f:00 g:1000 2) 等长编码至少需要3 bit 哈夫曼编码WPL=0.31*2+0.16*3+0.10*3+0.08*4+0.11*3+0.20*2+0.04*4=2.61 压缩率=1-2.61/3=13% 4.程序设计题 1)创建一任意二叉树,统计某子树下值为奇数和偶数结点的个数。 #define INT #include"c1.h" #ifdef CHAR typedef char TElemType; TElemType Nil=' '; /* 字符型以空格符为空*/ #endif #ifdef INT typedef int TElemType; TElemType Nil=0; /* 整型以0为空*/ #endif #include"c6-2.h" #include"bo6-2.c" void GetLeafCounts(BiTree T,int *n,int *m) {
文档之家的所有文档均为用户上传分享文档之家仅负责分类整理如有任何问题可通过上方投诉通道反馈
数据结构习题三(答案)
数据结构习题(三) 学号________ 姓名_______ 课堂号(_________) 1.选择题 1)若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数是( B )A.9 B.11 C.15 D.不确定 2)设森林F中有三棵树,第一,第二,第三棵树的结点个数分别为M1,M2和M3。与森林 F对应的二叉树根结点的右子树上的结点个数是( D ) A.M1 B.M1+M2 C.M3 D.M2+M3 3)二叉树的第I层上最多含有结点数为( C ) A.2I B. 2I-1-1 C. 2I-1 D.2I -1 4)在一棵高度为k的满二叉树中,结点总数为( C ) A.2k-1 B.2k C.2k-1 D.?log2k?+1 5)利用二叉链表存储树,则根结点的右指针是( C )。 A.指向最左孩子 B.指向最右孩子 C.空 D.非空 6)已知一棵二叉树的前序遍历结果为ABCDEF,中序遍历结果为CBAEDF,则后序遍历的结果 为( A )。 A.CBEFDA B. FEDCBA C. CBEDFA D.不定 7)n个结点的线索二叉树上含有的线索数为( C ) A.2n B.n-l C.n+l D.n 8)由3 个结点可以构造出多少种不同的二叉树?( D ) A.2 B.3 C.4 D.5 9)某二叉树中序序列为A,B,C,D,E,F,G,后序序列为B,D,C,A,F,G,E。二叉树对应的森林 包括多少棵树( B ) A.l B.2 C.3 D.概念上是错误的 10)设F是一个森林,B是由F变换得的二叉树。若F中有n个非终端结点,则B中右指针 域为空的结点有( C )个。 A. n-1 B.n C. n+1 D. n+2 11)下面几个符号串编码集合中,不是前缀编码的是( B )。 A.{0,10,110,1111} B.{11,10,001,101,0001} C.{00,010,0110,1000} D.{b,c,aa,ac,aba,abb,abc} 2.填空题 12)树在计算机内的表示方式有__双亲表示法_,___孩子表示法___,___孩子兄弟表示法/ 二叉链表表示法_____。 13)在二叉树中,指针p所指结点为叶子结点的条件是_p->lchild==NULL && p->rchild==NULL________________。
数据结构复习题及答案5篇
数据结构复习题及答案5篇第一篇:数据结构复习题及答案、数据结构复习题及答案中南大学现代远程教育课程考试(专科)复习题及参考答案数据结构一、判断题:1.数组是一种复杂的数据结构,数组元素之间的关系既不是线性的也不是树形的。
()2.链式存储在插人和删除时需要保持物理存储空间的顺序分配,不需要保持数据元素之间的逻辑顺序。
()3.在只有度为0和度为k的结点的k叉树中,设度为0的结点有n0个,度为k的结点有nk个,则有n0=nk+1。
()4.折半搜索只适用于有序表,包括有序的顺序表和有序的链表。
()5.如果两个串含有相同的字符,则这两个串相等。
()6.数组可以看成线性结构的一种推广,因此可以对它进行插入、删除等运算。
()7.在用循环单链表表示的链式队列中,可以不设队头指针,仅在链尾设置队尾指针。
()8.通常递归的算法简单、易懂、容易编写,而且执行的效率也高。
()9.一个广义表的表尾总是一个广义表。
()10.当从一个小根堆(最小堆)中删除一个元素时,需要把堆尾元素填补到堆顶位置,然后再按条件把它逐层向下调整,直到调整到合适位置为止。
()11.对于一棵具有n个结点,其高度为h的二叉树,进行任一种次序遍历的时间复杂度为O(h)。
()12.存储图的邻接矩阵中,邻接矩阵的大小不但与图的顶点个数有关,而且与图的边数也有关。
()13.直接选择排序是一种稳定的排序方法。
()14.闭散列法通常比开散列法时间效率更高。
()15.有n个结点的不同的二叉树有n!棵。
()16.直接选择排序是一种不稳定的排序方法。
()17.在2048个互不相同的关键码中选择最小的5个关键码,用堆排序比用锦标赛排序更快。
()18.当3阶B_树中有255个关键码时,其最大高度(包括失败结点层)不超过8。
()19.一棵3阶B_树是平衡的3路搜索树,反之,一棵平衡的3路搜索树是3阶非B_树。
()20.在用散列表存储关键码集合时,可以用双散列法寻找下一个空桶。
数据结构期末考试复习题资料
数据结构期末考试复习题资料一.单项选择题1.算法指的是()。
A.计算方法B.排序方法C.特定问题求解步骤的描述D.调度方法2.下列数据结构中,()是非线性结构。
A.栈B.队列C.完全二叉树D.堆3.若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用()存储方式最节省时间。
A.顺序表B.双向链表C.单循环链表D.带头结点的双循环链表4.队列的操作原则是()A.先进先出B.后进先出C.先进后出D.不分顺序5.栈和队列的共同特点是()。
A.都是先进先出B.都是先进后出C.都是只允许在端点处插入和删除D.没有共同点6.在一棵高度为k 的满二叉树中,结点总数为()。
A.2k-1 B.2k C.2k-1 D.⎣log 2 k ⎦+ 17.在下列存储形式中,哪一个不是树的存储形式?()A.双亲链表表示法B.孩子链表表示法C.孩子兄弟链表表示法D.顺序存储表示法8.n 个结点的完全有向图含有边的数目为()。
A.n*n B.n*(n+1) C.n/2 D.n*(n-1)9.n 个顶点的强连通图至少有()条边。
A.n B.n-1 C.n+1 D.n(n-1)10、高度为k 的二叉树的最大结点数为()。
A、2kB、2k-1C、2k–1D、2k-1–111、下列哪一种图的邻接矩阵是对称矩阵?()A、有向图B、无向图C、AOV 网D、AOE 网12、在下列存储形式中,哪一个不是树的存储形式?()A、双亲表示法B、孩子表示法C、孩子兄弟表示法D、顺序存储表示法13、下面哪一方法可以判断出一个有向图是否有环。
()A、深度优先遍历B、拓扑排序C、求最短路径D、广度优先遍历14.适用于折半查找的表的存储方式及元素排列要求为()。
A.链接方式存储,元素无序B.链接方式存储,元素有序C.顺序方式存储,元素无序D.顺序方式存储,元素有序15、一个算法应该是()。
A、程序B、特定问题求解步骤的描述C、要满足五个基本特性D、A 和C16、算法分析的两个主要方面是()。
《数据结构》复习题
《数据结构》复习题一.选择题:1.数据结构是研究数据的( ) 以及它们之间的相互关系A.理想结构,物理结构B.理想结构,抽象结构C.物理结构,逻辑结构D.抽象结构,逻辑结构2. 组成数据的基本单位是()A.数据项B.数据类型C. 数据元素D. 数据变量3. 如果某数据结构的数据元素的集合为S={A,B,C,D,E,F,G},元素之间的关系为R={<A,D>,<A,G>,<D,B>,<D,C>,<G,E>,<G,F>},则该数据结构是一种()A.线性结构B. 树结构C. 图结构D. 链表结构4. 线性表的链接实现有利于( ) 运算A.插入B.读表元C.查找D.定位5. 设一数列的输入顺序为1,2,3,4,5,6通过栈操作不可能排成的输出序列为()A. 3,2,5,6,4,1B. 1,5,4,6,2,3C. 2,4,3,5,1,6D. 4,5,3,6,2,16. 设字符串S1=‘ABCDEFG’,S2=‘PQRST’则运算S=Concat(Sub(S1,2,Length(S2)),Sub(S1,Length(S2),2))后结果为()A.‘BCQR’B.‘BCDEF’C.‘BCDEFG’D.‘BCDEFEF’7. 设单链表中指针P指向结点A,若要删除A之后的结点(若存在),则修改指针的操作为()A. p→next= p→next→nextB. p= p→nextC. p= p→next→nextD. p→next = p8. 线性表采用链式存储时,其地址()A. 必须是连续的B.部分地址必须是连续的C. 一定是不连续的D.连续与否均可以9. 在内部排序时,排序不稳定的有()A.插入排序B. 冒泡排序C. 快速排序D.归并排序10. 设有1000个元素,用折半法查找时,最小比较次数为()A.0B. 1C.10D. 50011. 将一个元素进入队列的时间复杂度是()n)A. O (1)B. O (n)C. O (n2)D. O (log212. 在一个具有n个结点的单链表中查找其值等x的结点,在查找成功的情况下,需要比较()个元素结点A. n/2B. nC. (n+1)/2D. (n-1)/213. 从一个长度为n的顺序表中删除第i个元素(1≤i≤n),需向前移动()个元素A. n-iB. n-i+1C. n-i-1D. i14. 总共3层的完全二叉树,其结点数至少有()A.3B. 4C.7D.815. 队列操作的原则是()A. 先进先出B.后进先出C. 只能进行插入D. 只能进行删除16. 若线性表最常用的操作是存取第i个元素及其前驱元素的值,则采用()存储方式最节省时间A.单链表B. 双向链表C. 音循环链表D. 顺序表17. 栈和队列都是()A. 顺序存储的线性结构B. 限制存取点的线性结构C. 链接存储的线性结构D. 限制存取点的非线性结构18. 与线性表的链接存储相符的特性是()A.插入和删除操作灵活B. 需要连续存储空间C. 便于随机访问D. 存储密度大19.若进队序列为1,2,3,则出队序列是()A.3,2,1B. 1,3,2C. 1,2,3D. 3,2,120. 在单向循环链表中,若头指针为h,那么p所指结点为尾结点的条件是()A. p= NULLB. p→next= NULLC. p=hD. p→next= h3. 在双向循环链表中,在指针P所指的结点之后插入指针f所指的结点,其操作为。
数据结构复习题
一、单项选择题1.评价一个算法时间性能的主要标准是()A.算法易于调试B. 算法易于理解C.算法的稳定性和正确性D.算法的时间复杂度2.可用带表头结点的链表来表示表,也可用不带表头结点的链表来表示表,前者的主要好处是()A.可以加快对表的遍历B.使空表和非空表的处理统一C.提高存取结点的速度D.节省存储空间3.稀疏矩阵一般的压缩存储有两种,即()。
A.一维数组和二维数组B.一维数组和三元组C.二维数组和十字链表D.三元组和十字链表4.链表不具有的特点是()。
A.可随机访问任一元素B.插入删除不需要移动元素C.不必事先估计存储空间D.所需空间与线性表的长度成正比5.非空的循环单链表head的尾结点p满足()。
A.P->next==NULL B.p==NULL C.P->next==head D.P==head 6.对稀疏矩阵进行压缩存储是为了()。
A.便于进行矩阵运算B.便于输入和输出C.节省存储空间D.降低运算的时间复杂度7.数据结构中,与所使用的计算机无关的是数据的()结构。
A.顺序B.物理C.逻辑D.物理和存储8.在长度为n的顺序表中插入一个元素时,等概率情况下的平均移动元素的次数是()。
A.(n-1)/2B.n/2C.n*(n-1)/2D.(n+1)/29.对于一个头指针为H的带头结点的单链表,判定该表为空表的条件是()A. H==NULL B.H!=NULL C.H→next ==H D.H→next==NULL10. 在一个顺序表中,若表的第一个元素的存储地址是210,每一个元素的长度为3,则第5个元素的存储地址是()。
A.219 B.222 C.225 D.22811. 栈S最多能容纳4个元素,现有6个元素按a,b,c,d,e,f的顺序进栈,下面序列()是可能的出栈序列。
A.edcbaf B.bcefad C.cbedaf D.adfebc12.循环队列用数组A[M]存放元素,已知其头尾指针分别为front和rear,则当前队列中的元素个数是()。
数据结构复习题(计算机大专)
数据结构复习题1一、选择题1. 以下四类基本的逻辑结构反映了四类基本的数据组织形式,解释错误的是 ( ) A 、集合中任何两个结点之间都有逻辑关系但组织形式松散 B 、线性结构中结点按逻辑关系依次排列形成一条"锁链"C 、树形结构具有分支、层次特性,其形态有点像自然界中的树D 、图状结构中的各个结点按逻辑关系互相缠绕,任何两个结点都可以邻接2. 若结点的存储地址与其关键字之间存在某种映射关系,则称这种存储结构为( ) A 、顺序存储结构 B 、链式存储结构 C 、索引存储结构 D 、散列存储结构3. 在长度为n 的顺序表的第i (1≤i ≤n+1)个位置上插入一个元素,元素的移动次数为( ) A 、n-i+1 B 、n-i C 、i D 、i-14. 对于只在表的首、尾两端进行插入操作的线性表,宜采用的存储结构为( )A 、顺序表B 、用头指针表示的单循环链表C 、用尾指针表示的单循环链表D 、单链表5. 一个栈的入栈序列是a,b,c,d,e ,则栈的不可能的输出序列是( )A 、e d c b aB 、d e c b aC 、d c e a bD 、a b c d e6. 已知图1如右所示,若从顶点A 出发按深度优先搜索进行遍历,则可能得到的顶点序列为( ) A 、 A ,B ,E ,C ,D ,F B 、 A ,C ,F ,E ,B ,DC 、 A ,E ,B ,C ,F ,DD 、 A ,E ,D ,F ,C ,B7. n 个顶点的有向图中含有向边的数目最多为 ( )A 、n-1B 、nC 、n(n-1)/2D 、n(n-1) 8. 若一个栈的输入顺序是1,2,…,n ,输出序列的第一个元素是n ,则第i (1≤i ≤n )个输出元素是( )A 、n-iB 、n-i-1C 、i+1D 、n -i+1 9. 已给图2,( )是该图的正确的拓扑排序序列A 、1,2,3,4,5B 、1,3,2,4,5C 、1,2,4,3,5D 、1,2,3,5,4 10. 为查找某一特定单词在文本中出现的位置,可应用的串运算是( )A 、插入B 、删除C 、串联接D 、子串定位二、填空题A BC D E F 图1 1 2 34 5 图21.存储结构是逻辑结构的__________实现。
数据结构考前复习3
第四章串一、选择题1.下面关于串的的叙述中,哪一个是不正确的?( B )A.串是字符的有限序列 B.空串是由空格构成的串C.模式匹配是串的一种重要运算 D.串既可以采用顺序存储,也可以采用链式存储3.设有两个串p和q,其中q是p的子串,求q在p中首次出现的位置的算法称为( C )A.求子串 B.联接 C.匹配 D.求串长10.串的长度是指( B )A.串中所含不同字母的个数 B.串中所含字符的个数C.串中所含不同字符的个数 D.串中所含非空格字符的个数二、填空题1.空格串是指由空格字符(ASCII值32)所组成的字符串,其长度等于空格个数__。
2.组成串的数据元素只能是__字符______。
3.一个字符串中任意个连续的字符组成的子序列称为该串的子串。
四、应用题1.名词解释:串串是零个至多个字符组成的有限序列。
从数据结构角度讲,串属于线性结构。
与线性表的特殊性在于串的元素是字符。
2.描述以下概念的区别:空格串与空串。
空格是一个字符,其ASCII码值是32。
空格串是由空格组成的串,其长度等于空格的个数。
空串是不含任何字符的串,即空串的长度是零。
第六章树和二叉树一、选择题1.已知一算术表达式的中缀形式为 A+B*C-D/E,后缀形式为ABC*+DE/-,其前缀形式为( D )A.-A+B*C/DE B. -A+B*CD/E C.-+*ABC/DE D. -+A*BC/DE 4. 设树T的度为4,其中度为1,2,3和4的结点个数分别为4,2,1,1 则T中的叶子数为( D )A.5 B.6 C.7 D.85. 在下述结论中,正确的是( D )①只有一个结点的二叉树的度为0; ②二叉树的度为2;③二叉树的左右子树可任意交换;④深度为K的完全二叉树的结点个数小于或等于深度相同的满二叉树。
A.①②③ B.②③④ C.②④ D.①④结点的度:一个结点的子数个数称为此结点的度数的度;树中所有结点的读的最大值6. 设森林F对应的二叉树为B,它有m个结点,B的根为p,p的右子树结点个数为n,森林F中第一棵树的结点个数是( A )A.m-n B.m-n-1 C.n+1 D.条件不足,无法确定8.若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数是( B )A.9 B.11 C.15 D.不确定10.设森林F中有三棵树,第一,第二,第三棵树的结点个数分别为M1,M2和M3。
数据结构期末复习题3
一、填空题1.数据的最小单位是( C )。
A. 数据项B. 数据类型C.数据元素D.数据变量2.算法指的是( D )。
A.计算机程序 B.解决问题的计算方法C.排序算法 D.解决问题的有限运算序列3.下面关于线性表的叙述错误的是(C )。
A. 线性表采用顺序存储必须占用一片连续的存储空间B. 线性表采用链式存储不必占用一片连续的存储空间C. 线性表采用链式存储便于插入和删除操作的实现D. 线性表采用顺序存储便于插入和删除操作的实现5.设哈夫曼树中的叶子结点总数为m,若用二叉链表作为存储结构,则该哈夫曼树中总共有()个空指针域。
A. 2m-1B. 2mC. 2m+1D. 4m6.设顺序循环队列Q[0:M-1]的头指针和尾指针分别为F和R,头指针F总是指向队头元素的前一位置,尾指针R总是指向队尾元素的当前位置,则该循环队列中的元素个数为()。
A. R-FB. F-RC. (R-F+M)%MD. (F-R+M)%M7.设某棵二叉树的中序遍历序列为ABCD,前序遍历序列为CABD,则后序遍历该二叉树得到序列为()。
A. BADCB. BCDAC. CDABD. CBDA8.设某完全无向图中有n个顶点,则该完全无向图中有()条边。
A. n(n-1)/2B. n(n-1)C. n2D. n2-19. 满二叉树_______二叉树。
A. 一定是完全B.不一定是完全C.不是D.不是完全10.设某棵二叉树中有2000个结点,则该二叉树的最小高度为()。
A. 9B. 10C. 11D. 1211.设某有向图中有n个顶点,则该有向图对应的邻接表中有()个表头结点。
A. n-1B. nC. n+1D. 2n-112.设一组初始记录关键字序列(5,2,6,3,8),以第一个记录关键字5为基准进行一趟快速排序的结果为()。
A. 2,3,5,8,6B. 3,2,5,8,6C. 3,2,5,6,8D. 2,3,6,5,813.栈和队列的共同特点是( A )。
数据结构复习题及答案
数据结构复习题及答案数据结构习题一、名词解释1.数据、数据元素、数据项、数据结构、数据的逻辑结构、数据物理结构、顺序存储、链式存储、算法、时间复杂度、空间复杂度。
2.线性表、顺序表、单链表、双向链表、循环链表、双向循环链表、三个概念的区别:头指针、头结点、首元结点(第1个元素结点)。
3.栈(顺序栈、链栈)、队列(顺序队、链队)、循环队列、递归、稀疏矩阵、三元组。
4.树、叶子结点、结点的度、树的度、树的高(深)度、二叉树、遍历、满二叉树、完全二叉树、哈夫曼树、WPL、哈夫曼编码。
5.图(有向、无向)、网、边、弧、度、入度、出度、完全图(有向、无向)、(强)连通图(分量)、(最小)生成树、邻接矩阵、邻接表、DFS、BFS。
6.查找表、关键字、静态查找、动态查找、ASL、顺序查找、折半查找、分块查找、二叉排序树。
7、排序、内(外)排序、稳定性、插入(直接、希尔),交换(起泡、快速),选择(直接、堆),2路归并。
一、填空题1.数据结构是研究数据的_逻辑结构__和___物理结构__,并在这种结构上定义相关的运算,设计实现这些运算的算法,分析算法的效率。
算法的效率包括时间和空间两个方面,分别称为___时间复杂度____和__空间复杂度___。
2.数据的基本单元是__数据元素__,数据的最小单元是__数据项_。
3.算法是对特定问题求解___步骤___的一种描述,是指令的有限序列。
4.一个算法的时间复杂度为(3n3+2n—7),其数量级表示为O(n3)_。
5.一个算法具有5个特性:确定性、可行性、有穷性、输入和输出。
6.算法机能的阐发和怀抱,能够从算法的工夫庞大度和空间庞大度来评判算法的好坏。
7.数据的逻辑布局包孕调集布局、线性布局、树形布局和图型布局四品种型。
8.数据布局在计较机中的表示称为数据的物理布局,它能够采用__按次存储___或__链式存储_两种存储方法。
9.线性表有两种存储布局,划分为按次存储和链式存储。
数据结构习题及答案(3)
数据结构习题及答案(3)第九章排序⼀、选择题1.在所有排序⽅法中,关键字⽐较的次数与记录得初始排列次序⽆关的是()(A)希尔排序(B)起泡排序(C)插⼊排序(D)选择排序参考答案:D2.设有1000个⽆序的元素,希望⽤最快的速度挑选出其中前10个最⼤的元素,最好()排序法。
(A)起泡排序(B)快速排序(C)堆排序(D)基数排序参考答案:C3.在待排序的元素序列基本有序的前提下,效率最⾼的排序⽅法是()(A)插⼊排序(B)选择排序(C)快速排序(D)归并排序参考答案:A4.⼀组记录的排序码为(46,79,56,38,40,84),则利⽤堆排序的⽅法建⽴的初始推为()。
(A)79,46,56,38,40,80 (B)84,79,56,38,40,46(C)84,79,56,46,40,38 (D)84,56,79,40,46,38参考答案:B5.⼀组记录的关键码为(46,79,56,38,40,84),则利⽤快速排序的⽅法,以第⼀个记录为基准得到的⼀次划分结果为()。
(A)38,40,46,56,79,84(B)40,38,46,79,56,84(C)40,38,46,56,79,84(D)40,38,46,84,56,79参考答案:C6.⼀组记录的排序码为(25,48,16,35,79,82,23,40,36,72),其中含有5个长度为2的有序表,按归并排序的⽅法对该序列进⾏⼀趟归并后的结果为()。
(A)16,25,35,48,23,40,79,82,36,72(B)16,25,35,48,79,82,23,36,40,72(C)16,25,48,35,79,82,23,36,40,72(D)16,25,35,48,79,23,36,40,72,82参考答案:A7.排序⽅法中,从未排序序列中依次取出元素与⼰排序序列(初始时为空)中的元素进⾏⽐较,将其放⼊⼰排序序列的正确位置上的⽅法,称为()(A)希尔排序(B)起泡排序(C)插⼊排序(D)选择排序参考答案:C8.排序⽅法中,从未排序序列中挑选元素并将其依次放⼊⼰排序序列(初始为空)的⼀端的⽅法,称为()(A)希尔排序(B)归并排序(C)插⼊排序(D)选择排序参考答案:D9.⽤某种排序⽅法对线性表(25,84,21,47,15,27,68,35,20)进⾏排序时,元素序列的变化情况如下:(1)25,84,21,47,15,27,68,35,20 (2)20,15,21,25,47,27,68,35,84(3)15,20,21,25,35,27,47,68,84 (4)15,20,21,25,27,35,47,68,845则所采⽤的排序⽅法是()。
《数据结构》-数据结构试卷第三章
《数据结构》期末复习题及参考答案- 第3章栈和队列一、选择题1、对于栈,操作数据的原则是()。
A. 先进先出B. 后进先出C. 后进后出D. 不分顺序2、要求数据遵循FIFO(先进先出)原则的数据结构是()。
A. 线性表B. 链表C. 队列D. 栈3、若进栈的序列为1,2,3,4,则以下哪一个不可能是一个出栈序列。
A. 5 4 3 6 1 2B. 4 5 3 1 2 6C. 3 4 6 5 2 1D. 2 3 4 1 5 65、设栈的输入序列是1,2,3,4,则()不可能是其出栈序列。
(A) f->next=c;f=s (B) r->next=s;r=s(C) s->next=r;r=s (D) s->next=f;f=s7、一个栈的输入序列为1 2 3 4 5,则下列序列中不可能是栈的输出序列的是()。
A. 2 3 4 1 5B. 5 4 1 3 2C. 2 3 1 4 5D. 1 5 4 3 28、数字1、2依次入栈,则出栈的顺序可能有()种情况;数字1、2依次进入队列,则出队列的顺序可能有()种情况。
A. 1 , 2B. 2 , 1C. 2 , 2D. 1 , 19、设一个栈的输入序列是1,2,3,4,5,则下列序列中,是栈的合法输出序列的是()。
A. a,c,b,dB. b, c,d,aC. c, d,b, aD. d, c,a,b11、顺序存储的栈和队列中已经各有N个结点,要删除一个结点分别需要移动数据()次和()次。
A. N/2 , NB. N , N/2C. 0 , ND. N , 012、设有三个元素X,Y,Z顺序进栈(进的过程中允许出栈),下列得不到的出栈排列是( )。
A. 递归部分B. 终止条件和递归部分C. 迭代部分D.终止条件和迭代部分14、如下四个选项中,那个选项是能够正确判断循环队列是否排满元素的操作(其中MAXQSIZE表示队列的容量)():A.if (Q.rear == Q.front) …B.if (Q.rear == (Q.front + MAXQSIZE))C.if (Q.rear == (Q.front + 1) % MAXQSIZE)的元素个数为()。
数据结构习题 3
第6章树6.1选择题1.一棵具有n个结点的完全二叉树的树高度(深度)是()A)⎣log2n⎦+1 B)log2n +1 C)⎣ log2n ⎦D)log2n-12.有关二叉树下列说法正确的是()A)二叉树的度为2 B)一棵二叉树的度可以小于2C)二叉树中至少有一个结点的度为2 D)二叉树中任何一个结点的度都为23.二叉树的第I层上最多含有结点数为()A)2I B)2I-1-1 C)2I-1 D)2I-14.具有10个叶结点的二叉树中有()个度为2的结点A)8 B)9 C)10 D)115.在下述结论中,正确的是()①只有一个结点的二叉树的度为0;②二叉树的度为2;③二叉树的左右子树可任意交换;④深度为K的完全二叉树的结点个数小于或等于深度相同的满二叉树。
A)①②③B)②③④C)②④D)①④6.由3 个结点可以构造出多少种不同的二叉树?()A)2 B)3 C)4 D)57.引入二叉线索树的目的是()A)加快查找结点的前驱或后继的速度B)为了能在二叉树中方便的进行插入与删除C)为了能方便的找到双亲D)使二叉树的遍历结果惟一8.有n个叶子的哈夫曼树的结点总数为()A)不确定B)2n C)2n+1 D)2n-19.一棵非空的二叉树的先序遍历序列与后序遍历序列正好相反,则该二叉树一定满足()A)所有的结点均无左孩子B)所有的结点均无右孩子C)只有一个叶子结点D)是任意一棵二叉树10.一棵完全二叉树上有1001个结点,其中叶子结点的个数是()A)250 B)500 C)505 D)以上答案都不对11.已知一棵二叉树的后序遍历序列为DABEC,中序遍历序列为DEBAC,则它的先序遍历序列为()A)ACBED B)DECAB C)DEABC D)CEDBA12.若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数是()A)9 B)11 C)15 D)不确定13.利用二叉链表存储树时,根结点的右指针是()A)指向最左孩子B)指向最右孩子C)空D)非空14.设森林F中有三棵树,第一,第二,第三棵树的结点个数分别为M1,M2和M3。
数据结构-习题三数据结构综合练习
练习1.内存中一片连续空间(不妨假设地址从1到m),提供给两个栈S1和S2使用,怎样分配这部分存储空间,使得对任一个栈,仅当这部分空间全满时才发生上溢。
2.叙述前序和中序遍历二叉树的步骤;一棵前序序列为1,2,3,4的二叉树,其中序序列可能是4,1,2,3吗?设一棵二叉树的前序序列为1,2,3,4,5,6,7,8,9,其中序序列为2,3,1,5,4,7,8,6,9,试画出该二叉树。
3.设有一个关键码的输入序列{ 55, 31, 11, 37, 46, 73, 63 },(1) 从空树开始构造平衡二叉搜索树, 画出每加入一个新结点时二叉树的形态。
若发生不平衡, 指明需做的平衡旋转的类型及平衡旋转的结果。
(2) 计算该平衡二叉搜索树在等概率下的查找成功的平均查找长度。
4.设散列表为HT[0..12],即表的大小为m=13。
现采用双散列法解决冲突。
散列函数和再散列函数分别为:H0(key)=key%13; 注:%是求余数运算(=mod)H i=(H i-1+REV(key+1)%11+1)%13; i=1,2,3,…,m-1、其中,函数REV(x)表示颠倒10进制数x的各位,如REV(37)=73,REV(7)=7等。
若插入的关键码序列为{2,8,31,20,19,18,53,27}。
(1)试画出插入这8个关键码后的散列表。
(2)计算搜索成功的平均搜索长度ASL。
5.下图表示一个地区的通讯网,边表示城市间的通讯线路,边上的权表示架设线路花费的代价,如何选择能沟通每个城市且总代价最省的n-1条线路,画出所有可能的选择。
6.给出一组关键字:29,18,25,47,58,12,51,10,分别写出按下列各种排序方法进行排序时的变化过程:(1)归并排序每归并一次书写一个次序。
(2)快速排序每划分一次书写一个次序。
(3)堆排序先建成一个最大堆,然后每从堆顶取下一个元素后,将堆调整一次。
7.假设用于通讯的电文由5个字母组成,A B C D E F ,字母在电文中的出现频率分别为0.09,0.12,0.07,0.22,0.23,0.27,画出哈夫曼树,并写出各个字符的哈夫曼编码。
数据结构复习题
数据结构复习题《数据结构》复习资料⼀、单项选择题1. 若需要利⽤形参直接访问实参,则应把形参变量说明为( B )参数。
A. 指针B. 引⽤C. 传值D. 常值2. 以下说法错误的是(C )。
A. 抽象数据类型具有封装性。
B. 抽象数据类型具有信息隐蔽性。
C. 使⽤抽象数据类型的⽤户可以⾃⼰定义对抽象数据类型中数据的各种操作。
D. 抽象数据类型的⼀个特点是使⽤与实现分离。
3. 设有⼀个n n的对称矩阵A,将其上三⾓部分按⾏存放在⼀个⼀维数组B中,A[0][0]存放于B[0]中,那么第i⾏的对⾓元素A[i][i]存放于B中(C)处。
A. (i+3)*i/2B. (i+1)*i/2C. (2n-i+1)*i/2D. (2n-i-1)*i/24. 已知单链表A长度为m,单链表B长度为n,若将B联接在A的末尾,其时间复杂度应为( C )。
A. O(1)B. O(m)C. O(n)D. O(m+n)5. 假定⼀个链式队列的队头和队尾指针分别为front和rear,则判断队空的条件为( D)。
A. front == rearB. front != NULLC. rear != NULLD. front == NULL6. 设有⼀个递归算法如下int fact(int n) { //n⼤于等于0if(n<=0) return 1;else return n*fact(n-1);}则计算fact(n)需要调⽤该函数的次数为( B )次。
A.n B.n+1 C.n+2 D.n-17. 在⼀棵⾼度为h(假定树根结点的层号为0)的完全⼆叉树中,所含结点个数不⼩于( D )。
A. 2h-1B. 2h+1C. 2h-1D. 2h8. ⼀棵树的⼴义表表⽰为a(b,c(e,f(g)),d),当⽤左⼦⼥-右兄弟链表表⽰时,右指针域⾮空的结点个数为( C )。
A 1B 2C 3D 49. 向具有n个结点的、结构均衡的⼆叉搜索树中插⼊⼀个元素的时间复杂度⼤致为( B)。
数据结构复习题di3
一、单项选择题1.下面的叙述不是算法的特性的是。
A.有穷性B.输入性C.可行性D.可读性2.在data_structure=(D,S)中,D是的有限集。
A.数据元素B.算法C.数据操作D.数据对象3.在单链表中,指针p指向元素为x的结点,实现“删除x的后继”的语句是。
A.p=p->next;B.p->next=p->next->next;C.p->next=p;D.p=p->next->next;4.下面程序段的时间复杂度是。
for(i=0;i<n;i++)for(j=1;j<m;j++)A[i][j]=0;A.O(n)B.O(m+n+1)C.O(m+n)D.O(m*n)5.设C语言数组Data[m+1]作为循环队列SQ的存储空间,front为队头指针,rear为队尾指针,则执行出队操作的语句是。
A.front=front+1B.front=(front+1)%mC.front=(front+1)%(m+1)D. rear=(rear+1)%m6.下列说法正确的是。
A.线性表的逻辑顺序与物理顺序总是一致的。
B.线性表的顺序存储表示优于链式存储表示。
C.线性表的顺序存储结构优于链式存储结构。
D.每种数据结构都应具备三种基本运算:插入、删除和搜索7.如果从无向图的任一顶点出发进行一次深度优先搜索即可访问所有顶点,则该图一定是。
A.完全图B.连通图C.有回路D.一棵树8.采用邻接表存储的图,其广度优先遍历类似于二叉树的。
A. 按层次遍历B. 中序遍历C. 后序遍历D. 先序遍历9.在对查找表的查找过程中,若被查找的数据元素不存在,则把该数据元素插入到集合中。
这种方式主要适合于。
A.静态查找表B.动态查找表C. 静态查找表与动态查找表D.两种表都不适合10.对数据元素序列(49,72,68,13,38,50,97,27)进行排序,前三趟排序结束时的结果依次为:第一趟:13,72,68,49,50,97,27;第二趟:13,27,68,49,38,50,97,72;第三趟:13,27,38,49,68,50,97,72;该排序采用的方法是。
数据结构复习题3
数据结构练习题第一章绪论一.选择题1、在数据结构的讨论中把数据结构从逻辑上分为()。
A.内部结构与外部结构B.静态结构与动态结构C.线性结构与非线性结构D.紧凑结构与非紧凑结构2、采用线性链表表示一个向量时,要求占用的存储空间地址()。
A: 必须是连续的 B 部分地址必须是连续的C: 一定是不连续的C: 可连续可不连续3、采用顺序搜索方法查找长度为n的顺序表时,搜索成功的平均搜索长度为()。
A: n B: n/2 C: (n-1)/2 D: (n+1)/24、在一个单链表中,若q结点是p结点的前驱结点,若在q与p之间插入结点s,则执行()。
A: s→next = p→next;p→next = s; B: p→next= s; s→next = q;C: p→next = s→next;s→next = p;D: q→next= s;s→next= p;8.下面程序段的时间复杂度为____________。
for(int i=0; i<m; i++)for(int j=0; j<n; j++)a[i][j]=i*j;A、 O(m2)B、 O(n2)C、 O(m*n)D、 O(m+n)9.执行下面程序段时,执行S语句的次数为____________。
for(int i=1; i<=n; i++)for(int j=1; j<=i; j++)S;A、 n2B、 n2/2C、 n(n+1)D、 n(n+1)/2二.填空题1.通常,评价一个算法有正确性、健壮性、_________、时间复杂度、空间复杂度五个方面。
2.在数据结构中,数据的逻辑结构有线性结构、图结构、________________、_______________四种,物理实现上有顺序结构、索引结构、___________、_____________四种。
第三章线性表一.选择题1.在一个单链表HL中,若要向q所指结点之后插入一个指针p指向的结点,则执行.A. HL=p; p->next=HLB. P->next=HL; HL=pC. P->next=q->next; q->next=pD. P->next=q->next; q=p->next2.在一个长度为n的顺序存储线性表中,向第i个元素(1≤i≤n+1)之前插入一个新元素时,需要从后向前依次后移个元素。
《数据结构》习题汇编03 第三章 栈和队列 试题
第三章栈和队列试题一、单项选择题1.栈的插入和删除操作在()进行。
A. 栈顶B. 栈底C. 任意位置D. 指定位置2.当利用大小为n的数组顺序存储一个栈时,假定用top==n表示栈空,则向这个栈插入一个元素时,首先应执行()语句修改top指针。
A. top++;B. top--;C. top = 0;D. top;3.若让元素1,2,3依次进栈,则出栈次序不可能出现()种情况。
A. 3, 2, 1B. 2, 1, 3C. 3, 1, 2D. 1, 3, 24.在一个顺序存储的循环队列中,队头指针指向队头元素的()位置。
A. 前一个B. 后一个C. 当前D. 后面5.当利用大小为n的数组顺序存储一个队列时,该队列的最大长度为()。
A. n-2B. n-1C. nD. n+16.从一个顺序存储的循环队列中删除一个元素时,需要()。
A. 队头指针加一B. 队头指针减一C. 取出队头指针所指的元素D. 取出队尾指针所指的元素7.假定一个顺序存储的循环队列的队头和队尾指针分别为front和rear,则判断队空的条件为()。
A. front+1 == rearB. rear+1 == frontC. front == 0D. front == rear8.假定一个链式队列的队头和队尾指针分别为front和rear,则判断队空的条件为()。
A. front == rearB. front != NULLC. rear != NULLD. front == NULL9.设链式栈中结点的结构为(data, link),且top是指向栈顶的指针。
若想在链式栈的栈顶插入一个由指针s所指的结点,则应执行操作()。
A. top->link = s;B.s->link = top->link; top->link = s;C. s->link = top; top = s;D. s->link = top; top = top->link;10.设链式栈中结点的结构为(data, link),且top是指向栈顶的指针。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据结构复习题三
一单项选择题
(1)计算机算法指的是( )
A)计算方法 B)排序方法
C)解决某一问题的有限运算序列 D)调度方法
(2)某个向量第一元素的存储地址为100,每个元素的长度为2,则第五个元素
地址是( )
A)110 B)108 C)100 D)120
(3)栈和队列的共同特点是( )
A)都是先进后出 B)都是先进先出
C)只允许在端点处插入和删除元素 D)没有共同点
(4)深度为n的二叉树中所含叶子结点的个数最多为( )个
A)2n B)n C)2n-1 D)2n-1
(5)树最适合用来表示( )
A)有序数据元素 B)无序数据元素
C)元素之间具有分支层次关系的数据 D)元素之间无联系的数据
(6)若某链表最常用的操作是在最后一个结点之后插入一个结点和删除最后一个结点,则采( )存储方式最节省时间
A)单链表B)双链表
C)带头结点的双循环链表D)单循环链表
(7)在有n个结点的二叉链表中,值为非空的链域的个数为( )
A)n-1 B)2n-1 C)n+1 D)2n+1
(8)一棵左右子树均不空的二叉树在先序线索化后,其空指针域数为( )
A)0 B)1 C)2 D)不确定
(9)数组A[5][6]的每个元素占5个单元,将其按行优先次序存储在起始地址为1000的连续的内存单元中,则元素A[5,5]的地址为( )
A)1140 B)1145 C)1120 D)1125
(10)求最短路径的DIJKSTRA算法的时间复杂度为( )
A)O(n) B)O(n+e) C)O(n2) D)O(n×e)
二判断题
(1)给出不同的输入序列建造二叉排序树,一定得到不同的二叉排序树 ( )
(2)由于希尔排序的最后一趟与直接插入排序过程相同,因此前者一定比后者花费的时间多( )
(3)在对链队列作出队操作时,不会改变front指针的值 ( )
(4)二叉树中的叶子结点就是二叉树中没有左右子树的结点 ( )
(5)一棵树中的叶子结点数一定等于与其对应的二叉树中的叶子结点数 ( )
三填空题
(1)通常从四个方面评价算法的质量:____、_____、____和____
(2)字符串的逻辑结构为:_____________
(3)设head为单链表的头结点,则判断单链表为空的条件是:_________
(4)在具有n个单元的循环队列中,队满时共有_______个元素
(5)矩阵压缩存储的基本思想是:_________的多个元素只分配一个存储空间,___________不分配空间
(6)在有n个叶子结点的哈夫曼树中,总结点数是__________
(7)一棵树T采用二叉链表存储,如果树T中某结点为叶子结点,则在二叉链表BT中所对应的结点一定_____________
(8)已知数组A[10][10]为对称矩阵,其中每个元素占5个单元。
现将其下三角部分按行优先次序
存储在起始地址为1000的连续的内存单元中,则元素A[5,6]对应的地址是__________
(9)在有n个结点的无向图中,其边数最多为________
(10)取出广义表A=(x,(a,b,c,d))中原子x的函数是__________
四应用题
(1)已知序列{15,18,60,41,6,32,83,75,95}。
请给出采用冒泡排序法对该序列作升序排序时的每一趟的结果
(2)已知串a=′1234+-*′、b=′1+2-3*4′。
请用串的各种基本运算将串a转换为串b。
规定:运算中不能引入新的字符串,所有的字符串只能从串a中取得
数据结构复习三答案
一、单选
1、C
2、B
3、C
4、C
5、C
6、C
7、A
8、B
9、A 10、C
二、判断
1、√
2、×
3、√
4、×
5、×
三、填空
1、正确性、易读性、强壮性、高效率
2、线性结构或线性表
3、head↑.next=NIL
4、n-1
5、值相同、零元素
6、n-1
7、左右子树空
8、1225
9、n(n-1)/2
10、head(A)
四、应用题
1、结果如下:
初始序列:15,18,60,41,6,32,83,75,95
第一趟:15,18,41,6,32,60,75,83,95
第二趟:15,18,6,32,41,60,75,83,95
第三趟:15,6,18,32,41,60,75,83,95
第四趟:6,15,18,32,41,60,75,83,95
第五趟:6,15,18,32,41,60,75,83,95
在第五趟排序时已无元素交换,则排序结束。
2、a1=CONCAT(SUBSTR(a,1,1),SUBSTR(a,5,1)); a2=CONCAT(SUBSTR(a,2,1),SUBSTR(a,6,1)); a3=CONCAT(SUBSTR(a,3,1),SUBSTR(a,7,1));
a4=SUBSTR(a,4,1);
a5=CONCAT(a1,a2);
a6=CONCAT(a3,a4);
b=CONCAT(a6,a4)。