北航《算法与数据结构》在线作业一
北航数据结构试题及答案
北航数据结构试题及答案一、单项选择题(每题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. 请简述什么是递归,并给出一个递归算法的例子。
奥鹏北理工《数据结构与算法》在线作业1标准答案
B.链式存储结构
C.线性链表
D.栈
正确答案:A
13.以下关于线性表的说法不正确的是()。
A.线性表中的数据元素可以是数字、字符、记录等不同类型
B.线性表中包含的数据元素个数不是任意的
C.线性表中的每个结点都有且只有一个直接前趋和直接后继
D.存在这样的线性表:表中各结点都没有直接前趋和直接后继
正确答案:A
20.设有50行60列的二维数组A[50][60],其元素长度为4字节,按行优先顺序存储,基地址为200,则元素A[18][25]的存储地址为()。
A.3700
B.4376
C.3900
D.4620
正确答案:D
21.在线性表顺序存储结构下,在第i个元素之前插入新元素一般需要()
A.移动元素
A.692(10)
B.626(10)
C.709(10)
D.724(10)
正确答案:C
8.具有2000个结点的二叉树,其高度至少为()。
A.9
B.10
C.11
D.12
正确答案:C
9.若已知一棵二叉树先序序列为ABCDEFG,中序序列为CBDAEGF,则其后序序列为()。
A.CDBGFEA
B.CDBFGEA
A.只有一棵
B.有一棵或多棵
C.一定有多棵
D.可能不存在
正确答案:B
28.设有7000个无序的元素,希望用最快的速度挑选出其中前5个最大的元素,最好选用()法。
A.冒泡排序
B.快速排序
C.堆排序
D.基数排序
正确答案:C
29.一个栈的入栈序列是abcde,则栈的不可能的输出序列是()。
A.edcba
算法与数据结构习题及参考答案
算法与数据结构习题及参考答案一、选择题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条边,采用领接表作为其存储表示,在进行拓扑排序时,总的计算时间为()。
算法与数据结构试题与答案
数据结构试卷(一)一、单选题(每题 2 分,共20分)1.栈和队列的共同特点是( )。
A.只允许在端点处插入和删除元素B.都是先进后出C.都是先进先出D.没有共同点2.用链接方式存储的队列,在进行插入运算时( ).A. 仅修改头指针B. 头、尾指针都要修改C. 仅修改尾指针D.头、尾指针可能都要修改3.以下数据结构中哪一个是非线性结构?( )A. 队列B. 栈C. 线性表D. 二叉树4.设有一个二维数组A[m][n],假设A[0][0]存放位置在644(10),A[2][2]存放位置在676(10),每个元素占一个空间,问A[3][3](10)存放在什么位置?脚注(10)表示用10进制表示。
A.688 B.678 C.692 D.6965.树最适合用来表示( )。
A.有序数据元素B.无序数据元素C.元素之间具有分支层次关系的数据D.元素之间无联系的数据6.二叉树的第k层的结点数最多为( ).A.2k-1 B.2K+1 C.2K-1 D. 2k-17.若有18个元素的有序表存放在一维数组A[19]中,第一个元素放A[1]中,现进行二分查找,则查找A[3]的比较序列的下标依次为( )A. 1,2,3B. 9,5,2,3C. 9,5,3D. 9,4,2,38.对n个记录的文件进行快速排序,所需要的辅助存储空间大致为A. O(1)B. O(n)C. O(1og2n)D. O(n2)9.对于线性表(7,34,55,25,64,46,20,10)进行散列存储时,若选用H(K)=K %9作为散列函数,则散列地址为1的元素有()个,A.1 B.2 C.3 D.410.设有6个结点的无向图,该图至少应有( )条边才能确保是一个连通图。
A.5B.6C.7D.8二、填空题(每空1分,共26分)1.通常从四个方面评价算法的质量:_________、_________、_________和_________。
2.一个算法的时间复杂度为(n3+n2log2n+14n)/n2,其数量级表示为________。
北航《算法与数据结构》在线作业
北航《算法与数据结构》在线作业北航“算法与数据结构”在线作业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。
16秋北航《算法与数据结构》在线作业一
C. p->next=head
D. p=head
正确答案:
19. 对于单链表表示法,以下说法错误的是( )
A. 数据域用于存储线性表的一个数据元素
B. 指针域或链域用于存放一个指向本结点所含数据元素的直接后继所在结点的指针
C. 所有数据通过指针的链接而组织成单链表
D. 顺序表的特点是:逻辑上相邻的元素,存储在物理位置也相邻的单元中
正确答案:
16. 在一个单链表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;
B. 快速排序
C. 简单选择排序
D. 堆排序
正确答案:
9. 队列的插入操作是在( )进行。
A. 队首
B. 队尾
C. 队前
D. 队后
正确答案:
10. 具有65个结点的完全二叉树其深度为()。
A. 8
B. 7
C. 6
D. 5
正确答案:
11. 某二叉树结点的前序序列为E、A、C、B、D、G、F,中序遍历为A、B、C、D、E、F、G。 该二叉树结点的后序序列为 ( )。
A. 插入排序
B. 选择排序
C. 快速排序
D. 归并排序
正确答案:
4. 对顺序表上的插入、删除算法的时间复杂性分析来说,通常以( )为标准操作
A. 条件判断
算法与数据结构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 )。
北交《数据结构》在线作业一-0005.8B280A7A-E18B-4D0F-AB96-2716C902E6AD(总15页)
北交《数据结构》在线作业一-0005
每次从无序表中取出一个元素,把它插入到有序表中的适当位置,此种排序方法叫做()排序.
A:插入
B:交换
C:选择
D:归并
答案:A
计算机的算法是()。
A:计算方法
B:排序方法
C:对特定问题求解步骤的一种描述
D:调度算法
答案:C
以下数据结构中不属于线性数据结构的是()。
A:线性表
C:二叉树
D:栈
答案:C
线性链表不具有的特点是()。
A:随机访问
B:不必事先估计所需存储空间大小
C:插入与删除时不必移动元素
D:所需空间与线性表长度成正比
答案:A
设有1000个元素,用折半查找时,最大比较次数是()。
A:1
B:7
C:10
D:25
答案:C
设有两个串(S1和S2),求S1在S2中首次出现的位置的运算称为()。
【在线】17春北航《算法与数据结构》在线作业一
一、单选题(共 25 道试题,共 100 分。
) V 1. 栈操作的原则是()A. 栈顶删除B. 先进先出C. 后进先出D. 栈顶插入2. 单链表表示法的基本思想是指针P表示结点间的逻辑关系,则以下说法错误的是A. 任何指针都不能用打印语句输出一个指针型变量的值B. 如果要引用(如访问)p所指结点,只需写出p(以后跟域名)即可C. 若想修改变量p的值(比如让P指向另一个结点),则应直接对p赋值D. 对于一个指针型变量P的值。
只需知道它指的是哪个结点3. 在一个单链表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;4. 用某种排序方法队线性表(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,84 所采用的排序方法是()。
A. 选择排序B. Shell排序C. 归并排序D. 快速排序5. 由两个栈共享一个向量空间的好处是()。
A. 减少存取时间,降低下溢发生的机率B. 节省存储空间,降低上溢发生的机率C. 减少存取时间,降低上溢发生的机率D. 节省存储空间,降低下溢发生的机率6. 快速排序的记录移动次数()比较次数,其总执行时间为O(nlog2n)。
A. 大于B. 大于等于C. 小于等于D. 小于7. 线性链表不具有的特点是()。
A. 随机访问B. 不必事先估计所需存储空间大小C. 插入与删除时不必移动元素D. 所需空间与线性表长度成正比8. 当初始序列已经按键值有序,用直接插入算法对其进行排序,需要循环的次数为()A. n2B. nlog2nC. log2nD. n-19. 在稀疏矩阵的带行指针向量的链接存储中,每个行单链表中的结点都具有相同的()。
北京航空航天大学程序设计与数据结构试题
北京航空航天大学程序设计与数据结构试题(2002年)一、简答题1. “数据结构”课程是计算机专业的基础课还是专业课,或者专业基础课?(2’)2. 学习“数据结构”课程需要哪些课程作为它的基础(举例两门课程)?若没有这些知识,对学习“数据结构”课程可能会产生哪些影响?请举例说明(不超过100字)。
(4’)3. “数据结构”课程将为那些课程学习奠定必要的基础?请举例说明哪些课程(举例两门课程)用到了“数据结构”课程的哪些知识(不超过100字)。
(4’)二、(5’)请推导出结论:具有n0个叶结点的哈夫曼树(Huffman)的分支总数为2(n0-1)。
三、单项选择题(2’x15)1. 线性链表中各链接点之间的地址__________。
A)必须连续B)部分地址必须连续C)不一定连续D)连续与否无所谓2. 在非空线性链表中由p所指的链接点后面插入一个由q所致的链接点的过程是依次执行动作__________。
A) link(q)←p; link(p)←q; B) link(q)←link(p); link(p)←q;C) link(q)←link(p); p←q; D) link(p)←q; link(q)←p;3. 在非空双向循环链表中由q所指的那个链接点前插入一个p指的链接点的动作对应的语句依次为rlink(p)←q, llink(p)←llink(q), llink(q)←p, __________。
(空白处为一条赋值语句)A) rlink(q)←p B) rlink(llink(q))←pC) rlink(llink(p))←p D) rlink(rlink(p))←p4. 在初始为空的堆栈中依次插入元素f,e,d,c,b,a以后,连续进行了三次删除操作,此时栈顶元素是__________。
A) c B) d C) b D) e5. 若某堆栈的输入序列为1,2,3,……,n,输出序列的第1个元素为n,则第i个输出元素为__________。
《算法与数据结构》练习一(答案)
习题一一、选择题1、数据结构是一门研究非数值计算的程序设计问题中的操作对象以及它们之间的(B)和运算的学科。
A.结构B.关系C.运算D.算法2、在数据结构中,从逻辑上可以把数据结构分成(C)。
A.动态结构和静态结构B.紧凑结构和非紧凑结构C.线性结构和非线性结构D.逻辑结构和存储结构3、线性表的逻辑顺序和存储顺序总是一致的,这种说法(B)。
A.正确B.不正确C.无法确定D.以上答案都不对4、算法分析的目的是(C)。
A.找出算法的合理性B.研究算法的输人与输出关系C.分析算法的有效性以求改进D.分析算法的易懂性二、填空题1、数据是信息的载体,是对客观事物的符号表示,它能够被计算机识别、存储、加工和处理,数据是对能够有效的输人到计算机中并且能够被计算机处理的符号的总称。
例如,数学中所用到的整数和实数,文本编辑所用到的字符串等。
2、数据元素是数据的基本单位,有些情况下也称为元素、结点、顶点、记录等。
3、数据项是数据不可分割的最小单元,是具有独立含义的最小标识单位。
例如构成一个数据元素的字段、域、属性等都可称之为_数据项。
4、简而言之,数据结构是数据之间的相互关系,即数据的组织形式。
5、数据的逻辑结构是指数据之间的逻辑关系。
逻辑结构是从逻辑关系上描述数据,它与具体存储无关,是独立于计算机的。
因此逻辑结构可以看作是从具体问题抽象出来的数学模型。
6、数据的存储结构指数据元素及其关系在计算机存储器内的表示。
存储结构是逻辑结构在计算机里的实现,也称之为映像。
7、数据的运算是指对数据施加的操作。
它定义在数据的逻辑结构之上,每种逻辑结构都有一个数据的运算。
常用的有:查找、排序、插人、删除、更新等操作。
8、数据逻辑结构可以分为四种基本的类型,集合结构中的元素除了仅仅只是同属于一个集合_,不存在什么关系。
9、数据逻辑结构的四种基本类型中,线性结构_中的元素是一种一对一的关系,这种结构的特征是:若结构是非空集,则有且只有一个开始结点和一个终端结点,并且所有结点最多只能有一个直接前驱和一个直接后继。
大工20秋《算法与数据结构》在线作业1答卷
大工20秋《算法与数据结构》在线作业1答卷该答卷是对大工20秋算法与数据结构在线作业1的解答。
问题1请给出数组的定义和示例。
答案:数组是一种线性数据结构,它由一组相同类型的元素组成,这些元素在内存中连续存储。
示例:int arr[5] = {1, 2, 3, 4, 5};问题2什么是算法的时间复杂度?请给出常见时间复杂度的定义和示例。
答案:算法的时间复杂度是衡量算法执行时间与问题规模之间关系的度量指标。
常见时间复杂度的定义和示例如下:- O(1):常数时间复杂度,例如访问数组元素。
- O(n):线性时间复杂度,例如遍历数组。
- O(n^2):平方时间复杂度,例如嵌套循环。
- O(log n):对数时间复杂度,例如二分查找。
问题3请给出二分查找算法的核心思想和伪代码。
答案:二分查找算法的核心思想是将已排序的数组分成两部分,通过与目标值的比较,不断缩小搜索范围,直到找到目标值或搜索范围为空。
伪代码如下:BinarySearch(arr, target):left = 0right = len(arr) - 1while left <= right:mid = (left + right) // 2if arr[mid] == target:return midelif arr[mid] < target:left = mid + 1else:right = mid - 1return -1以上是本次作业的答卷,谢谢!如有其他疑问,请随时提问。
北航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中首次出现的位置的运算称为()。
北航算法和数据结构作业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是否是头指针无关。
大工20春《数据结构与算法》在线作业1(参考资料)
大工20春《数据结构与算法》在线作业
1(参考资料)
根据您的需求,为您提供一份关于大工20春《数据结构与算法》在线作业1的参考资料。
以下是一些有用的信息和资源,希望能帮助到您完成作业。
作业要求
作业1要求学生完成以下任务:
1. 实现一个线性表的动态数组(ArrayList)类。
2. 实现数组类的增加元素、删除元素、获取元素和遍历等基本操作。
3. 设计并实现一系列针对动态数组的测试用例。
参考资料
以下是一些可能对您完成作业有帮助的参考资料:
1. 《数据结构与算法(C++语言版)》(清华大学出版社):
该书提供了关于线性表、数组和动态数组等内容的详细说明和代码
示例。
2. 网上教程和博客:在网上搜索关于实现动态数组的教程和博客,可以找到丰富的资料和代码示例,如CSDN、博客园等。
3. 课程讲义和教学视频:回顾和参考课程讲义中关于线性表和
动态数组的知识点,结合教学视频中的示例代码,加深理解和实践。
注意事项
完成作业时,请注意以下要求:
1. 请遵循作业要求中提到的功能和操作。
2. 参考资料仅供参考,请不要直接复制粘贴代码,应自己动手
实现。
3. 如果使用了参考资料中的代码或思路,请在作业中注明出处。
4. 如果在实现过程中遇到困难或问题,请及时向助教或老师寻
求帮助。
祝您顺利完成作业!如果还有其他问题或需要进一步的帮助,请随时与我联系。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
北航《算法与数据结构》在线作业一
单选题
一、单选题(共 25 道试题,共 100 分。
)
1. 排序方法中,从未排序序列中依次取出元素与己排序序列(初始时为空)中的元素进行比较,将其放入己排序序列的正确位置上的方法,称为()
A. 希尔排序
B. 起泡排序
C. 插入排序
D. 选择排序
-----------------选择:C
2. 设有1000个无序的元素,希望用最快的速度挑选出其中前10个最大的元素,最好()排序法。
A. 起泡排序
B. 快速排序
C. 堆排序
D. 基数排序
-----------------选择:B
3. 以下说法正确的是 ( )
A. 因链栈本身没有容量限制,故在用户内存空间的范围内不会出现栈满情况
B. 因顺序栈本身没有容量限制,故在用户内存空间的范围内不会出现栈满情况
C. 对于链栈而言,在栈满状态下,如果此时再作进栈运算,则会发生“上溢”
D. 对于顺序栈而言在栈满状态下如果此时再作迸栈运算,则会发生“下溢”。
-----------------选择:A
4. 对于数据结构课程的主要内容,以下解释正确的是
A. 数据结构的定义,包括逻辑结构、存储结构和基本运算集
B. 数据结构的实现,包括存储实现、运算实现和基本运算集
C. 数据结构的评价和选择,包括逻辑结构的选择、基本运算集的选择和存储选择
D. 以上说法均不正确
-----------------选择:C
5. 堆是一个键值序列{k1,k2,…, kn},对i=1,2,…,|_n/2_|,满足( )
A. ki≤k2i≤k2i+1
B. ki<k2i+1<k2i
C. ki≤k2i且ki≤k2i+1(2i+1≤n)
D. ki≤k2i 或ki≤k2i+1(2i+1≤n)
-----------------选择:C
6. 某二叉树结点的前序序列为E、A、C、B、D、G、F,中序遍历为A、B、C、D、E、F、G。
该二叉树结点的后序序列为 ( )。
A. B,D,C,A,F,G,E
B. B,D,C,F,A,G,E
C. E,G,F,A,C,D,B。