北航《算法与数据结构》在线作业
北航《算法与数据结构》在线作业一
北航《算法与数据结构》在线作业一单选题一、单选题(共 25 道试题,共 100 分。
)1. 排序方法中,从未排序序列中依次取出元素与己排序序列(初始时为空)中的元素进行比较,将其放入己排序序列的正确位置上的方法,称为()A. 希尔排序B. 起泡排序C. 插入排序D. 选择排序-----------------选择:C2. 设有1000个无序的元素,希望用最快的速度挑选出其中前10个最大的元素,最好()排序法。
A. 起泡排序B. 快速排序C. 堆排序D. 基数排序-----------------选择:B3. 以下说法正确的是 ( )A. 因链栈本身没有容量限制,故在用户内存空间的范围内不会出现栈满情况B. 因顺序栈本身没有容量限制,故在用户内存空间的范围内不会出现栈满情况C. 对于链栈而言,在栈满状态下,如果此时再作进栈运算,则会发生“上溢”D. 对于顺序栈而言在栈满状态下如果此时再作迸栈运算,则会发生“下溢”。
-----------------选择:A4. 对于数据结构课程的主要内容,以下解释正确的是A. 数据结构的定义,包括逻辑结构、存储结构和基本运算集B. 数据结构的实现,包括存储实现、运算实现和基本运算集C. 数据结构的评价和选择,包括逻辑结构的选择、基本运算集的选择和存储选择D. 以上说法均不正确-----------------选择:C5. 堆是一个键值序列{k1,k2,…, kn},对i=1,2,…,|_n/2_|,满足( )A. ki≤k2i≤k2i+1B. ki<k2i+1<k2iC. ki≤k2i且ki≤k2i+1(2i+1≤n)D. ki≤k2i 或ki≤k2i+1(2i+1≤n)-----------------选择:C6. 某二叉树结点的前序序列为E、A、C、B、D、G、F,中序遍历为A、B、C、D、E、F、G。
该二叉树结点的后序序列为 ( )。
A. B,D,C,A,F,G,EB. B,D,C,F,A,G,EC. E,G,F,A,C,D,B。
北航数据结构试题及答案
北航数据结构试题及答案一、单项选择题(每题2分,共20分)1. 在数据结构中,线性表的顺序存储结构通常使用什么数据结构来实现?A. 链表B. 栈C. 数组D. 树答案:C2. 下列关于二叉树的描述中,错误的是:A. 二叉树的第i层最多有2^(i-1)个节点B. 任意非空二叉树的叶子节点数等于度为2的节点数加1C. 任意非空二叉树的叶子节点数等于度为2的节点数减1D. 任意非空二叉树的叶子节点数等于度为2的节点数答案:C3. 在图的遍历算法中,深度优先搜索(DFS)使用的数据结构是:A. 队列B. 栈C. 链表D. 数组答案:B4. 哈希表的冲突解决方法不包括以下哪种?A. 开放定址法B. 链地址法C. 再散列法D. 排序法答案:D5. 快速排序算法的时间复杂度最坏情况下为:A. O(nlogn)B. O(n^2)C. O(n)D. O(1)答案:B6. 以下排序算法中,时间复杂度为O(nlogn)的是:A. 冒泡排序B. 快速排序C. 选择排序D. 插入排序答案:B7. 以下关于堆的描述中,正确的是:A. 堆是一种特殊的二叉树B. 堆是一种完全二叉树C. 堆是一种平衡二叉树D. 堆是一种链表答案:A8. 在一个长度为n的有序数组中查找一个元素,使用二分查找算法的时间复杂度是:A. O(n)B. O(nlogn)C. O(logn)D. O(1)答案:C9. 以下算法中,不属于动态数据结构的是:A. 链表B. 栈C. 数组D. 哈希表答案:C10. 以下关于图的描述中,错误的是:A. 图是由顶点和边组成的B. 图的顶点可以有0个或多个C. 图的边可以有向或无向D. 图的顶点数一定大于边数答案:D二、多项选择题(每题3分,共15分)1. 下列哪些是线性表的存储结构?A. 顺序存储B. 链式存储C. 索引存储D. 散列存储答案:A, B2. 在图的表示方法中,以下哪些是正确的?A. 邻接矩阵B. 邻接表C. 边表D. 顶点表答案:A, B, C3. 下列哪些排序算法是稳定的?A. 冒泡排序B. 快速排序C. 插入排序D. 选择排序答案:A, C4. 在数据结构中,以下哪些是递归算法的特点?A. 问题可以分解为更小的子问题B. 每个子问题都是原问题的实例C. 存在递归终止条件D. 递归算法的时间复杂度一定比迭代算法高答案:A, B, C5. 在使用链表实现栈时,以下哪些操作是合法的?A. pushB. popC. peekD. clear答案:A, B, C三、简答题(每题5分,共30分)1. 请简述什么是递归,并给出一个递归算法的例子。
北航201303学期算法与数据结构答案作业3
单项选择题第1题算法的时间复杂度的表示方法是:()。
A、实现算法的程序在指定机器上执行的时间B、标准程序在机器上的执行时间C、基本操作重复次数,即问题规模n的某个函数D、与刻画基本操作重复次数的函数同阶无穷大的函数f(n)答案:D第2题最好情况下插入排序的比较次数是:()。
A、O(n)B、nC、n-1D、O(n*n)答案:C第3题在树中,树的度与结点的度之间的关系是:()。
A、树的度就是结点的度B、树的度为2,结点的度可以是0,1和2C、结点度中最大值为树的度D、树的度与结点的度无关答案:C第4题在一个双向链表中,假设结点的域分别为left, right,以及data。
其中left、right分别为两个链域,data是数据域。
下一段程序是实现在h结点之后插入p结点的功能,其中h 结点不空,h的下一个结点亦不空。
判断哪一段程序是正确的:()。
A、p->right = h->right p->left = h h->right = p p->right->right = pB、p->right = h->right p->left = h h->right = p p->right->left = pC、h->right = p p->left = h p->right = h->right p->right->left = pD、p->right = h->right p->left = h h->right = p h->right->left = p答案:B多项选择题第5题数据是信息的载体,它有以下几种形式():A、整数和实型数B、字符串C、图像和声音D、信息E、磁盘文件答案:A|B|C第6题在算法分析与数据结构中,算法描述方法有():A、自然语言C、类计算机语言D、数据结构答案:A|B|C第7题以下程序段的完成的功能是(): /* head 是指向由data和link两个域的结点构成的单向链表头*/ P = head; While ( p != NULL) { Printf(p->data); P = p->link; }A、对链表的遍历B、输出了链表中所有数据信息C、没有功能,因为只是输出与循环D、输出了除表头结之外的所有结点信息答案:A|B第8题一维数组元素的类型可以是():A、简单变量,如整数、浮点数B、复合变量,如结构体,数组C、只有简单变量D、指针变量E、字符串答案:A|B|D判断题第9题线性表中的元素只能是简单类型。
北航201303学期算法与数据结构答案作业4
作业4单项选择题第1题假设有对角矩阵a[n][n],我们可以按行序为主将对角矩阵A的非零元素存入一个一维数组B[K]中。
给出二维数组的任一元素a[i][j]与一维数组B[K]对应的下标m的关系:()。
A、k = 2*i + jB、k = 2 * j + iC、k = 3* (i + j )D、k = i + j答案:A第2题假设有对称矩阵a[n][n],我们可以按行序为主将对称矩阵A的下三角中的元素存入一个一维数组B[K](K=n(n+1)/2)中。
给出二维数组的任一元素a[i][j]与一维数组B[K]对应的下标m的关系:()。
A、(i-1)*(j+1)=kB、(i+1)*(j+1)=kC、(i-1)*j=kD、i*(j+1)=k答案:A第3题假定M行N列的数组a是行优先存贮的,L是元素a[0][0]的存贮地址,每个元素占K个存贮单元,元素a[I][j]的地址是:()。
A、L + (I –1)* N * K +j*KB、L +( I * N +j)*KC、( I * N * K + (J –1) *KD、L +( I * M +j) * K答案:B第4题对给定的图,Prim方法与Kruskal方法都能给出最小代价生成树,针对最小代价生成树的算法,下面的说法哪一个是正确的:()。
A、Prim方法与Kruskal方法均不需要进行圈的判断B、Prim方法与Kruskal方法都需要进行圈的判断C、Prim方法需要进行圈的判断,Kruskal方法不需要进行圈的判断D、Prim方法不需要进行圈的判断,Kruskal方法需要进行圈的判断答案:D多项选择题第5题假定以单向链表方式存贮堆栈,栈顶指针变量为p,表示栈空时,下面的说法哪一个是正确的():A、p==-1B、p==0C、p==NULLD、p != NULL答案:B|C第6题下述陈述中哪一项是正确的():A、文件中能唯一标识一个记录的数据项称之为主关键字B、文件中能唯一标识一个记录的数据项组合称之为主关键字C、文件中能标识一个记录的数据项称之为主关键字D、文件中能标识一个记录的数据项组合称之为主关键字答案:A|B第7题常用的线性表存贮结构有():A、顺序存贮结构B、链表存贮结构C、队列存贮结构D、堆栈存贮结构E、顺序存贮与链表存贮混合结构答案:A|B|E第8题常用的堆栈存贮结构有():A、顺序存贮结构B、链表存贮结构C、顺序存贮与链表存贮混合结构D、指针存贮结构答案:A|B判断题第9题空串是打印后不出现任何字符的字符器。
数据结构 北航题库
选择题在北航数据结构题库中,以下哪种数据结构常用于实现优先级队列?A. 链表B. 栈C. 二叉堆(正确答案)D. 哈希表下列哪项不是北航数据结构课程中讨论的线性表的特点?A. 元素之间一对一关系B. 元素类型必须相同C. 可以进行随机访问D. 元素个数固定不变(正确答案)在北航的数据结构题库中,关于二叉搜索树(BST)的描述,哪项是错误的?A. 左子树上所有节点的值均小于根节点的值B. 右子树上所有节点的值均大于根节点的值C. BST中不允许有相同值的节点(正确答案)D. BST是一种二叉树下列哪项是北航数据结构课程中提到的图的存储方式之一?A. 邻接矩阵(正确答案)B. 链表C. 栈D. 队列在北航数据结构题库中,关于哈希函数的描述,哪项是正确的?A. 哈希函数总是能将不同的关键字映射到不同的哈希值B. 哈希函数的设计应尽可能减少冲突(正确答案)C. 哈希函数必须保证所有关键字都能均匀分布D. 哈希函数是加密函数的一种下列哪项不是北航数据结构课程中讨论的排序算法?A. 冒泡排序B. 快速排序C. 希尔排序D. 拓扑排序(正确答案,拓扑排序是图论中的算法)在北航的数据结构题库中,关于树形结构的描述,哪项是正确的?A. 树中每个节点只能有一个父节点(正确答案)B. 树中每个节点都可以有多个父节点C. 树中至少有一个节点没有子节点(虽正确,但不是本题最佳答案)D. 树中所有节点都必须有子节点下列哪项是北航数据结构课程中提到的栈的应用之一?A. 实现队列B. 实现递归(正确答案)C. 实现链表D. 实现哈希表在北航数据结构题库中,关于图的遍历算法,哪项是错误的?A. 深度优先搜索(DFS)可以遍历图中的所有节点B. 广度优先搜索(BFS)需要使用队列来实现C. DFS和BFS都可以找到图中的最短路径(正确答案)D. DFS和BFS都是图的遍历算法。
算法与数据结构习题及参考答案
算法与数据结构习题及参考答案一、选择题1. 在算法分析中,时间复杂度表示的是:A. 算法执行的时间B. 算法的运行速度C. 算法执行所需的操作次数D. 算法的内存消耗答案:C2. 哪种数据结构可以在常数时间内完成插入和删除操作?A. 数组B. 栈C. 队列D. 链表答案:B3. 单链表的逆置可以使用哪种算法实现?A. 冒泡排序B. 归并排序C. 快速排序D. 双指针法答案:D4. 常用的查找算法中,哪种算法的时间复杂度始终为O(log n)?A. 顺序查找B. 二分查找C. 广度优先搜索D. 深度优先搜索答案:B5. 哪种排序算法的时间复杂度最坏情况下仍为O(n log n)?A. 冒泡排序B. 插入排序C. 快速排序D. 堆排序答案:C二、填空题1. 下面哪个数据结构先进先出?A. 栈B. 队列C. 堆D. 链表答案:B2. 在快速排序的基本步骤中,需要选取一个元素作为________。
答案:枢纽元素3. 广度优先搜索使用的数据结构是________。
答案:队列4. 二分查找是基于_________的。
答案:有序数组5. 哈希表的查找时间复杂度为_________。
答案:O(1)三、解答题1. 请简要说明冒泡排序算法的原理及时间复杂度。
答:冒泡排序是一种简单直观的排序算法。
它的基本思想是通过相邻元素之间的比较和交换来将最大(或最小)的元素逐渐“冒泡”到数列的一端。
冒泡排序的过程如下:1)比较相邻的元素,如果前面的元素大于后面的元素,则交换它们的位置;2)对每一对相邻元素重复进行比较和交换,直到最后一对元素;3)针对剩下的元素重复上述步骤,直到整个数列有序。
冒泡排序的时间复杂度为O(n^2),其中n为待排序数列的长度。
在最坏情况下,冒泡排序需要进行n-1次比较和交换操作,因此时间复杂度为O(n^2)。
在最好情况下,如果待排序数列已经有序,冒泡排序只需进行n-1次比较,没有交换操作,时间复杂度为O(n)。
北航《算法与数据结构》在线作业
北航《算法与数据结构》在线作业一一、单选题(共 25 道试题,共 100 分。
)1. 以下说法错误的是()A. 线性表的元素可以是各种各样的,逻辑上相邻的元素在物理位置上不一定相邻B. 在线性表的顺序存储结构中,逻辑上相邻的两个元素在物理位置上不一定相邻C. 在线性表的链式存储结构中,逻辑上相邻的元素在物理位置上不一定相邻D. 线性表的链式存储结构的特点是用一组任意的存储单元存储线性表的数据元素满分:4 分2. 带头节点的单链表head 为空的判定条件()。
A. head=NULLB. head->next=NULLC. head->next=headD. head!=head满分:4 分3. 设有10000个元素组成的无序序列,希望尽快挑选出其中前10个最大值元素,在不改变已有算法结构的前提下,以下几种内排序算法中( )最合适。
A. 选择排序法B. 快速排序法C. 堆排序法D. 冒泡排序法。
满分:4 分4. 在以下栈的基本运算中,不是加工型运算的是().A. lnitStack(S)B. Push(S,X)C. Pop(S)D. empty(S)满分:4 分5. 设矩阵A是一对称矩阵(aij=aji,1<=i,j<=8),若每个矩阵元素占3个单元,将其上三角部分(包括对角线)按行序为主序存放在数组B中,B的首地址为1000,则矩阵元素a67的地址为()A. 1031B. 1093C. 1096D. 1032满分:4 分6. 线性表是一个具有n个()的有限序列。
A. 表元素B. 字符C. 数据元素D. 数据项满分:4 分7. 向二叉排序树中插入一个元素时,其时间复杂度大致为( )。
A. O(log2n(其中2是底数))B. O(n)C. O(1)D. O(n*log2n(其中2是底数))满分:4 分8. 设有向图有n个顶点和e条边,采用领接表作为其存储表示,在进行拓扑排序时,总的计算时间为()。
北航14秋《算法与数据结构》在线作业一答案
、单选题(共1. 若给定的关键字集合为A. 10B. 10C. 10D. 152.A.B.C.D.3.A. O(logB. O(n)C. O(1)D. O(nlog4.A.B.C.D. 图状结构满分:4 分得分:45. 一组记录的排序码为(46,79,56,38,40,84),则利用堆排序的方法建立的初始堆为()。
A. 79,46,56,38,40,80B. 84,79,46,38,40,56C. 84,79,56,46,40,38D. 84,56,79,40,46,38满分:4 分得分:46. 在一个顺序队列中,队首指针指向队首元素的()位置。
A. 后一个B. 前一个C. 当前D. 不确定满分:4 分得分:47. 计算机的算法必须具备输入,输出和()五个特性。
A. 可行性,可移植性和可扩充性B. 可行性,确定性和有穷性C. 确定性,有穷性和稳定性D. 易读性,稳定性和安全性满分:4 分得分:48. 下列关于栈的叙述正确的是()。
A. 栈是非线性结构B. 栈是一种树状结构C. 栈具有先进先出的特征D. 栈具有后进先出的特征满分:4 分得分:49. 在含n个顶点和e条边的无向图的邻接矩阵中,零元素的个数为()。
A. eB. 2eC. n的平方-eD. n的平方-2e满分:4 分得分:410. 以下二叉树说法错误的是A. 完全二叉树上结点之间的父子关系可由它们编号之间的关系来表达B. 在三叉链表上,二叉树的求双亲运算很容易实现C. 在二叉链表上,求根,求左、右孩子等很容易实现D. 在二叉链表上,求双亲运算的时间性能很好满分:4 分得分:411. 在一棵二叉树中,第4层上的结点数最多为()。
A. 8B. 15C. 16D. 31满分:4 分得分:412. 非空的循环单链表head的尾节点(由p所指向)满足()。
A. p->next=NULLB. p=NULLC. p->next=headD. p=head满分:4 分得分:413. 强连通分量是()极大连通子图。
北航《算法与数据结构》在线作业二
A. 分支结点数加1
B. 单分支结点数加1
C. 双分支结点数加1
D. 双分支结点数减1
满分:4 分
25. 某二叉树结点的前序序列为E、A、C、B、D、G、F,中序遍历为A、B、C、D、E、F、G。 该二叉树结点的后序序列为 ( )。
A. B,D,C,A,F,G,E
B. 63
C. 32
D. 31
满分:4 分
15. 如果待排序序列中两个数据元素具有相同的值,在排序后它们的位置发生颠倒,则称该排序是不稳定的。下列选项中,()就是不稳定的排序方法。
A. 起泡排序
B. 归并排序
C. 直接插入法排序
D. 简单选择排序
满分:4 分
D. 'DATA'
满分:4 分
2. 某二叉树的先序序列和后序序列正好相反,则该二叉树一定是( )的二叉树。
A. 空或只有一个结点高度等于其结点数
B. 任一结点无左孩子
C. 任一结点无右孩子
满分:4 分
3. 设有50行60列的二维数组A[50][60],其元素长度为4字节,按行优先顺序存储,基地址为200,则元素A[18][25]的存储地址为()。
C. 附加设施,如为便于运算实现而设置的“哑结点”等等
D. 一种存储结构可以在两个级别上讨论。其一是机器级,其二是语言级
满分:4 分
9. n个顶点的连通图至少有( )条边。
A. n-1
B. n
C. n+1
D. 0
满分:4 分
10. 排序方法中,从未排序序列中依次取出元素与己排序序列(初始时为空)中的元素进行比较,将其放入己排序序列的正确位置上的方法,称为()
北航算法与数据结构复习题
北航算法与数据结构复习题北航《算法与数据结构》复习题单选题(每小题2分,总分10分)1、线性表若采用链表存储结构时,要求内存中可用存储单元的地址(D )A、必需是联系的B、部分地址必须是连续的C、一定是不连续的D、连续不连续都可以2、对顺序表上的插入、删除算法的时间复杂性分析来说,通常以什么为标准操作(B)A、条件判断B、结点移动C、算术表达式D、赋值语句3、在单链表指针为p的结点之后插入指针为s的结点,正确的操作是(B )A、p->next=s;s->next=p->next;B、s->next=p->next;p->next=s;C、p->next=s;p->next=s->next;D、p->next=s->next;p->next=s;4、对关键码序列28,16,32,12,60,2,5,72快速排序,从小到大一次划分结果为(C )A、(2,5,12,16)26(60,32,72)B、(5,16,2,12)28(60,32,72)C、(2,16,12,5)28(60,32,72)D、(5,16,2,12)28(32,60,72)5、稀疏矩阵的压缩存储方法是只存储(A )A、非零元素B、三元组(i,j, aij)C、aijD、i,j1、从未排序序列中依次取出一个元素与已排序序列中的元素依次进行比较,然后将其放在已排序序列的合适位置,该排序方法称为(A)排序法。
A、插入B、选择C、希尔D、二路归并2、用线性探测法查找闭散列表,可能要探测多个散列地址,这些位置上的键值(D )A、一定都是同义词B、一定都不是同义词C、都相同D、不一定都是同义词3、将含有83个结点的完全二叉树从根结点开始编号,根为1号,后面按从上到下、从左到右的顺序对结点编号,那么编号为41的双亲结点编号为(D )A、42B、40C、21D、204、一个栈的输入序列为123…n,若输出序列的第一个元素是n,输出第i(1<=i<=n)个元素是(B )A、不确定B、n-i+1C、ID、n-i5、设深度为k的二叉树上只有度为0和度为2的节点,则这类二叉树上所含结点总数最少(C)个A、k+1B、2kC、2k-1D、2k+1判断题(每小题1分,总分10分)(A==对,B==错)6、在一棵二叉树中,假定每个结点只有左子女,没有右子女,对它分别进行前序遍历和后序遍历,则具有相同的结果。
算法与数据结构1
北航《算法与数据结构》复习题一一、单选题(本大题共20小题,每小题1.5分,共30分)1、数组A中,每个元素A的长度为3个字节,行下标i从1到8,列下标从1到10,从首地址SA开始连续存放在存储器内,该数组按列存放时,元素A[5][8]的起始地址为( B )。
A.SA+141B.SA+180C.SA+222D.SA+2252、将上万个一组无序并且互不相等的正整数序列,存放于顺序存储结构中,采用( C )方法能够最快地找出其中最大的正整数。
A.快速排序B.插入排序C.选择排序D.归并排序3、当初始序列已经按键值有序,用直接插入算法对其进行排序,需要循环的次数为(D )A.n2B.nlog2nC.log2nD.n-14、当利用大小为n的数组顺序存储一个队列时,该队列的最大长度为(B )。
A.n-2B.n-1C.nD.n+15、二叉树上叶结点数等于( C )。
A.分支结点数加1B.单分支结点数加1C.双分支结点数加1D.双分支结点数减16、计算机算法必须具备输入、输出和(B )等5个特性。
A.可行性、可移植性和可扩充性B.可行性、确定性和有穷性C.确定性、有穷性和稳定性D.易读性、稳定性和安全性7、深度为6(根的层次为1)的二叉树至多有( D )结点。
A.64B.32C.31D.638、在一个无向图中,所有顶点的度数之和等于所有边数的( B )倍。
A.3B.2C.1D.1/29、如果结点A有3个兄弟,而且B为A的双亲,则B的度为( C )。
A.1B.3C.4D.510、一棵二叉树满足下列条件:对任意结点,若存在左、右子树,则其值都小于它的左子树上所有结点的值,而大于右子树上所有结点的值。
现采用( B )遍历方式就可以得到这棵二叉树所有结点的递增序列。
BA.先根B.中根C.后根D.层次11、下面算法的时间复杂度为( B )。
int f( unsigned int n ){if ( n==0 || n==1 ) return 1;else return n*f(n-1);}A.O(1)B.O(n)C.O(n2)D.O(n!)12、每一个存储节点只含有一个数据元素,数据元素按散列函数确定存储位置的存储方式是( D )。
北航10秋学期《算法与数据结构》模拟题一
北航10秋学期《算法与数据结构》模拟题一北航10秋学期《算法与数据结构》模拟题一一、单项选择题(本大题共15小题,每小题2分,共30分)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、对一个由n个整数组成的序列,借助排序过程找出其中的最大值,希望比较次数和移动次数最少,应选用()方法A.归并排序B.直接插入排序C.直接选择排序D.快速排序。
7、在文件局部有序或文件长度较小的情况下,最佳的排序方法是()A.直接插入排序B.冒泡排序C.直接选择排序D.归并排序8、对于C语言的二维数组DataType A[m][n],每个数据元素占K 个存储单元,二维数组中任意元素a[i,j] 的存储位置可由()式确定.A.Loc[i,j]=A[m,n]+[(n+1)*i+j]*kB.Loc[i,j]=loc[0,0]+[(m+n)*i+j]*kC.Loc[i,j]=loc[0,0]+[(n+1)*i+j]*kD.Loc[i,j]=[(n+1)*i+j]*k9、设有两个串(S1和S2),求S1在S2中首次出现的位置的运算称为()。
北航《算法与数据结构》在线作业三
B. ki<k2i+1<k2i
C. ki≤k2i且ki≤k2i+1(2i+1≤n)
D. ki≤k2i 或ki≤k2i+1(2i+1≤n)
满分:4 分
19. 队列操作的原则是( )。
A. 先进先出
B. 后进先出
C. 只能进行插入
D. 只能进行删除
满分:4 分
5. 非空的循环单链表head的尾节点(由p所指向)满足( )。
A. p->next=NULL
B. p=NULL
C. p->next=head
D. p=head
满分:4 分
6. 以下说法正确的是( )
A. 所谓数据的逻辑结构指的是数据元素之间的逻辑关系
21. 单链表的一个存储结点包含( )
A. 数据域或指针域
B. 指针域或链域
C. 指针域和链域
D. 数据域和链域
满分:4 分
22. 下列关于树说法正确的是
A. 树的先根遍历序列与其对应的二叉树的先根遍历序列相同
B. 树的先根遍历序列与其对应的二叉树的后根遍历序列相同
A. 快速排序
B. 堆排序
C. 归并排序
D. 插入排序
满分:4 分
25. 根据操作的效果,可将运算分成加工型运算、引用型运算两种基本类型。对于表格处理中的五种功能以下解释错误的是
A. 查找引用型运算,功能是找出满足某种条件的结点在s(线形结构)中的位置
B. 读取引用型运算 功能是读出s(线形结构)中某指定位置结点的内容
16. 每次从无序表中取出一个元素,把它插入到有序表中的适当位置,此种排序方法叫做()排序.
数据结构与算法在线作业答案
数据结构与算法在线作业答案55283,单选题655121.邻接表是图的一种____。
A 顺序存储结构B 链式存储结构C 索引存储结构D 散列存储结构6550255281,单选题655022.具有5个顶点的有向完全图有____条弧。
A 10B 16C 20D 256547555245,单选题654753.链表不具有的特点是_____。
A 可随机访问任一元素B 插入和删除不需要移动元素C 不必事先估计存储空间D 所需空间和线性表长度成正比6548555256,单选题654854.作进栈操作时,应先判断栈是否为_____。
A 空B 满C 上溢D 下溢6551555287,单选题655155.下面关于图的存储的叙述中,哪一个是正确的?A 用相邻矩阵法存储图,占用的存储空间数只与图中结点个数有关,而与边数无关B 用相邻矩阵法存储图,占用的存储空间数只与图中边数有关,而与结点个数无关C 用邻接表法存储图,占用的存储空间数只与图中结点个数有关,而与边数无关D 用邻接表法存储图,占用的存储空间数只与图中边数有关,而与结点个数无关6548655261,单选题654866.当字符序列 x5y 作为字符堆栈的输入时,输出长度为3的且可以作为C语言标识符的个数是____。
A 3个B 4个C 5个D 6个6547755253,单选题654777.树最适合用来表示_____。
A 有序数据元素B 无序数据元素C元素之间具有分支层次关系的数据D 元素之间无联系的数据6546055240,单选题654608.线性表按链式方式存储时,每个结点的存储包括_____两部分。
A 数据值与符号B 数据与指针C 数据与表名D 数据项与符号6549855268,单选题654989.树的基本遍历策略可分为先根遍历和后根遍历;二叉树的基本遍历策略可分为先序遍历、中序遍历和后序遍历。
这里我们把由树转化得到的二叉树叫做这棵树对应的二叉树。
那么以下结论中_____是正确的。
北航算法和数据结构作业1答案
单项选择题第1题一个深度为L的满K叉树有如下性质:第L层上的结点都是叶子结点,其余各层上每个结点都有K棵非空子树。
如果按层次顺序从1开始对全部结点编号,问编号为n的结点的父结点(若存在)的编号是多少?()A、2n-1B、Kn-1C、KD、1+2+3+…+K答案:B第2题下一段程序实现的功能是打印以h为头节点的单链表中的所有节点,哪一段程序是正确的:()。
A、p = h while ( p != NULL ) {printf(p->data) p = p->next}B、while ( h != NULL ) {printf(h->data)h = h->next}C、p = h while ( p!= NULL ) {p = p->next printf(p->data)}D、p = h while ( p->next!= NULL ) {p = p->next printf(p->data)}答案:A第3题文件的基本组织方式有:()。
A、顺序组织、索引组织、散列组织和链接方式B、磁盘组织、磁带组织C、数据库组织D、关键字与非关键字答案:A第4题设n为正整数。
试确定下列程序段中带标号@的语句的频度。
X=91; Y=100; While(y>0) @If(x>100){ X=x–10; Y=y–1; }else x=x+1; :()。
A、无穷多次B、1100C、9100D、100答案:B多项选择题第5题下述陈述中哪一项是正确的():A、文件是由记录组成的集合B、记录是文件存取的基本单位C、文件是由数据项组成的D、数据项有时也被称之为字段答案:B|D第6题下列排序算法中哪些是不稳定的():A、昌泡排序B、选择排序C、快速排序D、堆排序答案:B|C|D判断题第7题在单向链表中,在X指向的结点后插入结点,对应的方法与X是否是头指针无关。
15秋北航《算法与数据结构》在线作业三
15秋北航《算法与数据结构》在线作业三一、单选题(共25 道试题,共100 分。
)V 1. 具有65个结点的完全二叉树其深度为()。
A. 8B. 7C. 6D. 5满分:4 分2. 如下叙述中正确的是()。
A. 串是一种特殊的线性表B. 串的长度必须大于零C. 串中元素只能是字母D. 空串就是空白串满分:4 分3. 设F是一个森林,B是由F转换得到的二叉树,F中有n个非叶结点,则B中右指针域为空的结点有()个。
A. n-1B. nC. n+1D. n+2满分:4 分4. 计算机的算法必须具备输入,输出和()五个特性。
A. 可行性,可移植性和可扩充性B. 可行性,确定性和有穷性C. 确定性,有穷性和稳定性D. 易读性,稳定性和安全性满分:4 分5. 某二叉树结点的前序序列为E、A、C、B、D、G、F,中序遍历为A、B、C、D、E、F、G。
该二叉树结点的后序序列为( )。
A. B,D,C,A,F,G,EB. B,D,C,F,A,G,EC. E,G,F,A,C,D,BD. E,G,A,C,D,F,B满分:4 分6. 在待排序的元素序列基本有序的前提下,效率最高的排序方法是()A. 插入排序B. 选择排序C. 快速排序D. 归并排序满分:4 分7. 数组A中,每个元素A的长度为3个字节,行下标I 从1到8,列下标j从1到10,从首地址SA开始连续存放在存储器内,存放该数组至少需要的单元数为()。
A. 80B. 100C. 240D. 270满分:4 分8. 以下关于数据的存储结构的叙述哪一条是正确的()。
A. 数据的存储结构是数据间关系的抽象描述B. 数据的存储结构是逻辑结构在计算机存储器中的实现C. 数据的存储结构分为线性结构和非线性结构D. 数据的存储结构对数据运算的具体实现没有影响满分:4 分9. 排序方法中,从未排序序列中挑选元素并将其依次放入己排序序列(初始为空)的一端的方法,称为()A. 希尔排序B. 归并排序C. 插入排序D. 选择排序满分:4 分10. 顺序存储结构()A. 仅适合于静态查找表的存储B. 仅适合于动态查找表的存储C. 既适合静态又适合动态查找表的存储D. 既不适合静态又不适合动态查找表的存储满分:4 分11. 快速排序的记录移动次数()比较次数,其总执行时间为O(nlog2n)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
北航《算法与数据结构》在线作业北航“算法与数据结构”在线作业11,单题(25题,100分))1。
下面的陈述是错误的()a .线性表的元素可以是各种各样的,逻辑上相邻的元素在物理位置b上不一定是相邻的.在线性表的顺序存储结构中,逻辑上相邻的两个元素在物理位置c上不一定是相邻的.在线性表的链式存储结构中,逻辑上相邻的元素在物理位置上不一定是相邻的.d线性表的链式存储结构的特点是用一组任意的存储单元来存储带满分的线性表的数据元素:4点2。
头节点的单链表的头为空的判定条件()A。
头=空b头->下一个=空c头->下一个=头d头!=人头满分:4分3。
有一个10,000个元素的无序序列。
我希望尽快选出前10个最大元素。
在不改变现有算法结构的前提下,()是以下内部排序算法中最合适的A。
选择排序方法b .快速排序方法c .堆排序方法d .冒泡排序方法满分:4分4。
在以下堆栈的基本操作中,那些不是处理操作的是()。
A。
倒推,倒推,倒推,倒空,满分:4分5。
让矩阵a是一个对称矩阵(aij=aji,1 next = head d . p = head full score:4 points11。
设置一个有n个节点的二叉树。
其深度为a . n-1b . nc . 5 floor(log2n)d .无法确定满分:4分12。
当堆栈存储在大小为N的数组序列中时,假设top = = N用于指示堆栈为空,会在移除堆栈时修改top指针with()语句a . to p ++b . top = 0c . top-d . top = n满分:4分法A,块b,序列c,二进制d,哈希满分:4分13。
如果要求线性表能够快速查找并满足动态变化的要求,可以使用()finder14。
使用二进制搜索方法查找长度为n的线性表时,每个元素的平均搜索长度为()a . o(N2)b . o(log2n)c . o(n)d . o(log2n)满分:4分15。
通常,存储结构包括以下三个主要部分以下陈述是错误的: A。
存储节点每个存储节点可以存储一个或多个数据元素b .数据元素之间的关联的表示也是逻辑结构c的机器内表示。
存储结构可以在两个层次上讨论一个是机器水平,另一个是语言水平满分:4分16。
指针的全部功能是A。
指向常数b。
指向变量c。
指向节点d。
存储数据满分:4分17。
3个节点可以形成不同形式的()二叉树A。
2 B. 3 C. 4 D. 5满分:4分18。
二叉树的I层上最多有()个节点A。
2i B. 2至2i c . 2i-1d . 2至(i-1)的幂满分:4分19。
下列数据结构不属于线性数据结构的是()a。
线性表b .队列c .二叉树d .堆栈满分:4分20。
有1000个无序元素。
希望以最快的速度选择前10个最大的元素,最好的()排序方法是首选。
A。
冒泡排序b .快速排序c .堆排序d .基本排序满分:4分21。
通常,同一逻辑结构中的所有数据元素都需要具有相同的特征。
这意味着A。
数据元素具有相同的特征B。
数据元素不仅包含相同数量的数据项,而且对应数据项的类型应该一致。
每个数据元素应该是相同的数据。
数据元素中包含的数据项的数量应该等于满分:4分22。
二叉树的前序遍历的结果是ABDEFC,中序遍历的结果是DBFEAC,后序遍历的结果是()a . db fac b . dfe BCA c . BD fecad . BD efac满分:4分23。
两个字符串相等的充要条件是()A。
两根弦的长度相等。
两个字符串对应位置的字符相等。
两个字符串的长度相等,对应位置的字符相同。
d .上述条件不正确。
满分:4分24。
二叉树上的叶节点数等于()a。
分支节点数加1 B .单分支节点数加1 C .双分支节点数加1 D .双分支节点数减1满分:4分25。
二元搜索和二元排序树的时间性能A。
根据情况,确定上述陈述是不正确的。
满分:4分9北航的“算法与数据结构”在线作业21,单项题(25题,100分))1。
如果线性表中最常见的操作是获取第I个元素并找到第I个元素的前置元素,那么使用()存储节省的时间最多a .序列表b .单链表c .双链表d .单循环链表满分:4分2。
有一个有序表{1,3,9,12,32,41,45,62,75,77,82,95,100}。
当二进制搜索值为82个节点时,()次比较成功A。
1个B. 2个C. 4个D. 8满分:4分3。
二叉树节点的前序序列是e,a,c,b,d,g,f,前序遍历是a,b,c,d,e,F,g二叉树的以下节点序列是()a.b、d、c、a、f、g、eb.b、d、c、f、a、g、e、c.e、g、f、a、c、d、b、d.e、g、a、c、d、f、b满分:4分4。
在顺序队列中,head指针指向head元素的()位置A。
下一个b .前一个c .当前d .不确定满分:4分5。
线性链表不具有()的特征A。
随机访问b .不需要预先估计所需的存储空间c .插入和删除时不需要移动元素d。
所需空间与线性表格长度成正比。
满分:4分A。
N2 b . nlog2n c . log2n d . n-1/4:A。
1 B23 C24 D529共4位:6。
当初始序列对键值进行排序时,使用直接插入算法对其进行排序。
所需的周期数是()7。
对于有24条记录的序列,使用冒泡排序的最小比较次数是() 8。
将新元素插入到包含127个元素的序列表中,并保持原始序列不变,平均移动()个元素A。
8 B. 63.5 C. 64 D. 7满分:4分A。
满分:4分9。
有1000种元素。
按一半搜索时,最大比较次数为()10。
队列插入在()A。
队头b队尾c队前d队后满分:4分11。
算法的时间复杂度指的是()a .执行算法程序所需的时间b .算法程序的长度c .算法执行所需的基本操作数d .算法程序中指令数的满分:4分12 . substr(‘ data structure ‘,5,9) = ()a . structure ‘b . ‘ aststructure ‘c . ‘ data structure ‘满分:4分13。
关于有向图的邻接表和逆邻接表表示,以下结论是正确的() A。
使用邻接表表示来计算进入度更方便。
b .使用邻接表表示可以方便地计算进入度和退出度。
使用逆邻接表表示来计算进入度和退出度是不方便的。
通过使用逆邻接表表示来计算进入度是方便的。
满分:4分14。
当使用大小为N的数组按顺序存储堆栈时,假设top = = N用于表示堆栈为空,在提取堆栈时用()语句修改top指针a . topp ++b . top = 0c . top-d . top = n满分:4分15。
二叉树的前序遍历的结果是ABDEFC,中序遍历的结果是DBFEAC,后序遍历的结果是()a . db fac b . dfe BCA c . BD fecad . BD efac满分:4分16。
两个字符串相等的充要条件是()A。
两个字符串长度相等b,两个字符串对应位置的字符长度相等c,两个字符串长度相等,对应位置的字符长度相同d,上述条件都是不正确的满分:4分17。
在以下排序方法中,最小平均搜索长度为()A。
插入排序b。
选择排序c。
快速排序满分:4分分。
合并排序18。
单链表表示的基本思想是指针P表示节点之间的逻辑关系。
以下陈述是错误的:A。
任何指针都不能用print语句输出指针类型变量的值。
如果你想引用(例如,访问)由P指向的节点,你只需要写P(后跟域名)。
如果你想修改变量P的值(例如,让P指向另一个节点),你应该直接把D 赋给P只要知道它指的是哪个节点:4点A。
1 B. 3 C. 4 D. 5满分:4分19。
如果节点a有3个兄弟,b是a的父节点,那么b的度数是()20。
在长度为n的线性表中,在第I个元素(1≤i≤n+1)之前插入新的元素时,需要按顺序来回移动()个元素A.国际文凭考试满分:4分21。
两个栈共享一个向量空间的优点是()a。
减少访问时间,减少下溢的可能性。
节省存储空间,减少上溢的可能性。
减少访问时间,减少上溢的可能性。
通常,存储结构包括以下三个主要部分以下陈述是错误的:A。
存储节点每个存储节点可以存储一个或多个数据元素b。
数据元素之间的关联的表示是逻辑结构的机器内表示。