北航《算法与数据结构》在线作业二15秋满分答案

合集下载

算法与数据结构试题与答案

算法与数据结构试题与答案

算法与数据结构试题与答案简介算法与数据结构是计算机科学中最重要的基础课程之一。

本文档将提供一系列常见的算法与数据结构试题,并附上答案进行解析。

这些试题适用于计算机科学、软件工程、数据科学等专业的学生,也适用于在求职面试中涉及到算法与数据结构的岗位。

算法1. 寻找最小值请编写一个函数,接收一个整数数组作为参数,返回数组中的最小值。

解答function findMin(arr) {let min = arr[0];for (let i = 1; i < arr.length; i++) {if (arr[i] < min) {min = arr[i];}}return min;}// 测试样例let arr = [8, 6, 7, 5, 3, 0, 9];console.log(findMin(arr)); // 02. 冒泡排序请编写一个函数,接收一个整数数组作为参数,实现冒泡排序算法,并返回排序后的数组。

冒泡排序的基本思想是从头到尾比较相邻两个元素的大小,并交换它们的位置,直到整个数组有序为止。

解答function bubbleSort(arr) {for (let i = 0; i < arr.length - 1; i++) {for (let j = 0; j < arr.length - i - 1; j++) {if (arr[j] > arr[j + 1]) {let temp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = temp;}}}return arr;}// 测试样例let arr = [8, 6, 7, 5, 3, 0, 9];console.log(bubbleSort(arr)); // [0, 3, 5, 6, 7, 8, 9]3. 快速排序请编写一个函数,接收一个整数数组作为参数,实现快速排序算法,并返回排序后的数组。

2020年智慧树知道网课《算法与数据结构》课后章节测试满分答案

2020年智慧树知道网课《算法与数据结构》课后章节测试满分答案

绪论单元测试1【判断题】(1分)学好算法与数据结构的关键在于多多实践。

A.对B.错第一章测试1【单选题】(1分)数据结构是()A.一组性质相同的数据元素的集合B.一种数据类型C.数据的存储结构D.相互之间存在一种或多种特定关系的数据元素的集合2【单选题】(1分)下列说法的是()A.数据在计算机存储器内的存在形式称为机外表示B.数据元素是数据的基本单位C.数据处理方式总是与数据的表示形式相联系D.数据是指描述客观事物的特征及活动所采用的符号形式3【判断题】(1分)算法的描述方法只有语言方式。

A.错B.对4【单选题】(1分)下列关于算法说法的是()A.算法就是数学中的计算方法B.算法是指令的有限序列C.算法是对特定问题求解步骤的一种描述D.算法是在存储结构上的操作实现方法5【多选题】(1分)有哪几种存储结构?A.链式存储方式B.散列存储方式C.索引存储方式D.顺序存储方式6【单选题】(1分)算法的效率主要是指()A.其他选项都不对B.算法的空间效率C.算法的时间效率D.算法的空间效率和时间效率7【单选题】(1分)在数据结构的讨论中把数据结构从逻辑上分为()A.静态结构与动态结构B.内部结构与外部结构C.紧凑结构与非紧凑结构D.线性结构与非线性结构8【单选题】(1分)指出下列程序段的时间复杂度()sum=1;for(i=0;sum<n;i++)sum+=1;A.O(1)B.O(n)C.O(0)D.O(n*n)9【单选题】(1分)树形结构中元素之间存在()关系A.一对一B.没有关系C.多对多D.一对多10【单选题】(1分)图形结构中元素之间存在()关系A.一对多B.没有关系C.多对多D.一对一第二章测试1【单选题】(1分)带头结点的单链表head为空的判定条件是()A.head->next==NULLB.head==NULLC.head->next==headD.head!=NULL2【单选题】(1分)循环链表的主要优点是()。

北京航空航天大学2015年春学期《算法与数据结构》在线作业二满分答案

北京航空航天大学2015年春学期《算法与数据结构》在线作业二满分答案

北航《算法与数据结构》在线作业二一、单选题:1.若线性表最常用的操作是存取第i个元素及其前趋的值,则采用( )存储方式节省时间。

(满分:4)A. 单链表B. 双链表C. 单循环链表D. 顺序表正确答案:D2.除了( ) ,其它任何指针都不能在算法中作为常量出现,也无法显示。

(满分:4)A. 头指针B. 尾指针C. 指针型变量D. 空指针正确答案:D3.栈的插入和删除操作在( )进行。

(满分:4)A. 栈顶B. 栈底C. 任意位置D. 指定位置正确答案:A4.采用分块查找时,若线性表中共有625个元素,查找每个元素的概率相同,假设采用顺序查找来确定结点所在的块时,每块应分( )个结点最佳(满分:4)A. 10B. 25C. 6D. 625正确答案:B5.图的深度优先遍历类似于二叉树的( )。

(满分:4)A. 先序遍历B. 中序遍历C. 后序遍历D. 层次遍历正确答案:A6.计算机的算法是( )。

(满分:4)A. 计算方法B. 排序方法C. 对特定问题求解步骤的一种描述D. 调度算法正确答案:C7.以下四种排序方法中,要求附加的内存容量最大的是( ) (满分:4)A. 插入排序B. 选择排序C. 快速排序D. 归并排序正确答案:D8.对于顺序表,以下说法错误的是( ) (满分:4)A. 顺序表是用一维数组实现的线性表,数组的下标可以看成是元素的绝对地址B. 顺序表的所有存储结点按相应数据元素间的逻辑关系决定的次序依次排列C. 顺序表的特点是正确答案:A9.二叉树第i层上至多有( )结点。

(满分:4)逻辑结构中相邻的结点在存储结构中仍相邻D. 顺序表的特点是正确答案:D10.深度为6(根的层次为1)的二叉树至多有( )结点。

(满分:4)逻辑上相邻的元素,存储在物理位置也相邻的单元中正确答案:D11.假设一个有n个顶点和e条弧的有向图用邻接表表示,则删除与某个顶点vi相关的所有弧的时间复杂度是( )。

(满分:4)A. 2iB. 2的i次方C. 2i-1D. 2 的(i-1)次方正确答案:C12.从一棵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. 请简述什么是递归,并给出一个递归算法的例子。

(完整版),算法与数据结构题库及答案,推荐文档

(完整版),算法与数据结构题库及答案,推荐文档

A 问题规模是 n2
B 问题规模与 n2 成正比
C 执行时间等于 n2
D 执行时间与 n2 成正比
2、关于数据结构的描述,不正确的是( )。
A 数据结构相同,对应的存储结构也相同。
B 数据结构涉及数据的逻辑结构、存储结构和施加其上的操作等三个方面。
C 数据结构操作的实现与存储结构有关。
D 定义逻辑结构时可不考虑存储结构。
D O(nlog2n)
28、n 个结点的线索二叉树中,线索的数目是( )。
A n-1
B n+1
C 2n
D 2n-1
29、若数据元素序列{11,12,13,7,8,9,23,4,5}是采用下列排序方法之一得到的第二趟排序
后的结果,则该排序方法只能是( )。
A 插入排序 B 选择排序 C 交换排序 D 归并排序
A. n+1
B. n
C. n-1
11. 一个递归算法必须包括__________。
D. n-2
A. 递归部分 B. 结束条件和递归部分 C. 迭代部分 D. 结束条件和迭代部分
12. 从逻辑上看可以把数据结构分为__________两大类。
第 1 页,共 8 页
A.动态结构、静态结构
B.顺序结构、链式结构
二、填空题
1、算法效率的度量分为 事后测量

事前估 两种。
2、算法是一个有穷的指令集,它为解决某一特定任务规定了一个运算序列。它应当具有
输入、输出、确定性、 有穷性
可行性等特性。
3、一个抽象数据类型 ADT 包括
数据操作 和 对象
两个部分。
4、队列的插入操作是在 队尾 进行,删除操作是在 队头
进行。

数据结构与算法(Python版)《数据结构》参考答案(A卷)

数据结构与算法(Python版)《数据结构》参考答案(A卷)

数据结构与算法(Python版)《数据结构》参考答案(A卷)引言概述:数据结构与算法是计算机科学中非常重要的基础知识,对于程序员来说,掌握好数据结构与算法对于编写高效、可靠的程序至关重要。

本文将以Python语言为基础,介绍《数据结构》参考答案(A卷)。

一、基础概念1.1 数据结构的定义与分类- 数据结构是指数据元素之间的关系和组织方式,常见的数据结构包括数组、链表、栈、队列、树、图等。

- 数据结构可分为线性结构和非线性结构,线性结构包括线性表、栈、队列等,非线性结构包括树、图等。

1.2 算法的概念与特性- 算法是解决特定问题的一系列步骤,它具有输入、输出、有穷性、确定性和可行性等特性。

- 算法的效率通常用时间复杂度和空间复杂度来衡量,时间复杂度表示算法执行所需的时间,空间复杂度表示算法执行所需的额外空间。

1.3 Python语言的特点与应用- Python是一种简洁、易读、易学的高级编程语言,它支持面向对象编程和函数式编程。

- Python在数据结构与算法领域有广泛的应用,它提供了丰富的内置数据结构和算法库,如列表、字典、集合、排序算法等。

二、常用数据结构2.1 数组- 数组是一种线性结构,它由相同类型的元素组成,通过索引来访问和操作元素。

- Python中的列表就是一种动态数组,它支持插入、删除、查找等操作,时间复杂度为O(1)。

2.2 链表- 链表也是一种线性结构,它由节点组成,每个节点包含数据和指向下一个节点的指针。

- Python中可以使用自定义类来实现链表,它支持插入、删除、查找等操作,时间复杂度为O(n)。

2.3 栈与队列- 栈是一种先进后出的数据结构,可以使用列表或者自定义类来实现。

- 队列是一种先进先出的数据结构,也可以使用列表或者自定义类来实现。

三、常用算法3.1 排序算法- 排序算法是对一组数据按照某种规则进行排序的算法,常见的排序算法有冒泡排序、插入排序、选择排序、快速排序等。

算法与数据结构习题及参考答案

算法与数据结构习题及参考答案

算法与数据结构习题及参考答案一、选择题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)。

15秋北航《算法与数据结构》在线作业二答案

15秋北航《算法与数据结构》在线作业二答案

15秋北航《算法与数据结构》在线作业二答案北航《算法与数据结构》在线作业二单选题一、单选题(共 25 道试题,共 100 分。

)1. 对顺序表上的插入、删除算法的时间复杂性分析来说,通常以()为标准操作. 条件判断. 结点移动. 算术表达式. 赋值语句-----------------选择:2. 在一个单链表HL中,若要向表头插入一个由指针p指向的结点,则执行()。

. HL=p;p->next=HL;. p->next=HL;HL=p;. p->next=HL;p=HL;. p->next=HL->next;HL->next=p;-----------------选择:3. 线性表是一个具有n个()的有限序列。

. 表元素. 字符. 数据元素. 数据项-----------------选择:4. 若给定的关键字集合为{20,15,14,18,21,36,40,10},一趟快速排序结束时,键值的排列为( )。

. 10,15,14,18,20,36,40,21. 10,15,14,18,20,40,36,21. 10,15,14,20,18,40,36,21. 15,10,14,18,20,36,40,21-----------------选择:5. 按照二叉树的定义,具有3个结点的二叉树有()种。

. 3. 4. 5. 6-----------------选择:6. 下列有关图遍历的说法中不正确的是()。

. 连通图的深度优先搜索是个递增过程. 图的广度优先搜索中邻接点的寻找具有“先进先出”的特征. 非连通图不能用深度优先搜索法. 图的遍历要求每个顶点仅被访问一次-----------------选择:7. Sustr('T STRUTURE',5,9)=()。

. STRUTURE'. 'STUTUR'. 'T STRUTRUE'-----------------选择:8. 在索引顺序表中查找一个元素,可用的且最快的方法是(). 用顺序查找法确定元素所在块,再用顺序查找法在相应块中查找. 用顺序查找法确定元素所在块,再用二分查找法在相应块中查找. 用二分查找法确定元素所在块,再用顺序查找法在相应块中查找. 用二分查找法确定元素所在块,再用二分查找法在相应块中查找-----------------选择:9. 对于顺序表,以下说法错误的是(). 顺序表是用一维数组实现的线性表,数组的下标可以看成是元素的绝对地址. 顺序表的所有存储结点按相应数据元素间的逻辑关系决定的次序依次排列. 顺序表的特点是:逻辑结构中相邻的结点在存储结构中仍相邻. 顺序表的特点是:逻辑上相邻的元素,存储在物理位置也相邻的单元中-----------------选择:10. 邻接表是图的一种()。

《数据结构与算法》习题与答案

《数据结构与算法》习题与答案

《数据结构与算法》习题与答案(解答仅供参考)一、名词解释:1. 数据结构:数据结构是计算机存储、组织数据的方式,它不仅包括数据的逻辑结构(如线性结构、树形结构、图状结构等),还包括物理结构(如顺序存储、链式存储等)。

它是算法设计与分析的基础,对程序的效率和功能实现有直接影响。

2. 栈:栈是一种特殊的线性表,其操作遵循“后进先出”(Last In First Out, LIFO)原则。

在栈中,允许进行的操作主要有两种:压栈(Push),将元素添加到栈顶;弹栈(Pop),将栈顶元素移除。

3. 队列:队列是一种先进先出(First In First Out, FIFO)的数据结构,允许在其一端插入元素(称为入队),而在另一端删除元素(称为出队)。

常见的实现方式有顺序队列和循环队列。

4. 二叉排序树(又称二叉查找树):二叉排序树是一种二叉树,其每个节点的左子树中的所有节点的值都小于该节点的值,而右子树中的所有节点的值都大于该节点的值。

这种特性使得能在O(log n)的时间复杂度内完成搜索、插入和删除操作。

5. 图:图是一种非线性数据结构,由顶点(Vertex)和边(Edge)组成,用于表示对象之间的多种关系。

根据边是否有方向,可分为有向图和无向图;根据是否存在环路,又可分为有环图和无环图。

二、填空题:1. 在一个长度为n的顺序表中,插入一个新元素平均需要移动______个元素。

答案:(n/2)2. 哈希表利用______函数来确定元素的存储位置,通过解决哈希冲突以达到快速查找的目的。

答案:哈希(Hash)3. ______是最小生成树的一种算法,采用贪心策略,每次都选择当前未加入生成树且连接两个未连通集合的最小权重边。

答案:Prim算法4. 在深度优先搜索(DFS)过程中,使用______数据结构来记录已经被访问过的顶点,防止重复访问。

答案:栈或标记数组5. 快速排序算法在最坏情况下的时间复杂度为______。

北航《算法与数据结构》在线作业

北航《算法与数据结构》在线作业

北航《算法与数据结构》在线作业一一、单选题(共 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条边,采用领接表作为其存储表示,在进行拓扑排序时,总的计算时间为()。

北航《算法与数据结构》在线作业二

北航《算法与数据结构》在线作业二
24. 二叉树上叶结点数等于()。
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. 排序方法中,从未排序序列中依次取出元素与己排序序列(初始时为空)中的元素进行比较,将其放入己排序序列的正确位置上的方法,称为()

北航《算法与数据结构》在线作业

北航《算法与数据结构》在线作业

北航《算法与数据结构》在线作业北航“算法与数据结构”在线作业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。

北理工《数据结构与算法》在线作业满分答案

北理工《数据结构与算法》在线作业满分答案

北理工《数据结构与算法》在线作业试卷总分:100 得分:100一、单选题1. 在数据结构中,与所使用的计算机无关的是数据的() 结构A. 逻辑B. 存储C. 逻辑和存储D. 物理正确答案:A2. 一个n*n 对称矩阵,如果以行或列为主序存入内存,则其容量为() 。

A. n*nB. n*n/2C. n* ( n+1) /2D. (n+1)*( n+1) /2 正确答案:C3. 一个数组第一个元素的存储地址是100,每个数组元素的长度为2,则第5 个元素的地址是() 。

A. 110B. 108C. 100D. 120 正确答案:B4. 如果结点a 有三个兄弟,而且b 为a 的双亲,则b 的度为() 。

A. 3B. 4C. 5D. 2 正确答案:B5. 下面四种内排序方法中,要求容量最大的是() 。

A. 插入排序B. 选择排序C. 快速排序D. 归并排序正确答案:D6. 采用顺序搜索方法查找长度为n 的顺序表时,搜索成功的平均搜索长度为() 。

A. nB. n/2C. (n-1 )/2D. ( n+1) /2 正确答案:D7. 图的存储结构不包括()A. 数组表示B. 邻接表C. 邻接多重表D. 孩子兄弟表示正确答案:D8. 快速排序方法在() 情况下最不利于发挥其长处。

A. 被排序的数据量太大B. 被排序数据中含有多个相同值C. 被排序数据已基本有序D. 被排序数据数目为奇数满分:2.5 分正确答案:C9. 设数组Data[O..m]作为循环队列SQ的存储空间,front为队头指针,rear为队尾指针, 则执行出队操作的语句为()A. front=front+1B. front=(front+1)% mC. rear=(rear+1)%mD. front=(front+1)%(m+1)满分: 2.5 分正确答案:D10. 我们在讨论某种数据结构时,主要讨论四个方面的问题,①数据的逻辑结构②数据的存储结构③在数据的逻辑结构上定义的数据的基本操作;④基本操作算法的具体实现;这四个问题的讨论的先后顺序应该是怎样的?()A. ①②③④B. ①③②④C. ②①③④D. ②①④③满分: 2.5 分正确答案:B11. 一个具有767 个结点的完全二叉树,其叶子结点个数为() 。

《数据结构与算法》课后习题答案

《数据结构与算法》课后习题答案

《数据结构与算法》课后习题答案一、算法分析和复杂度1.1 算法复杂度的定义算法的复杂度是指算法所需资源的度量,包括时间复杂度和空间复杂度。

时间复杂度描述了算法的执行时间随输入规模增长的增长速度,空间复杂度描述了算法执行期间所需的存储空间随输入规模增长的增长速度。

1.2 时间复杂度的计算方法时间复杂度可以通过估算算法的执行次数来计算。

对于循环结构,通常可以通过循环体内代码的执行次数来估算时间复杂度。

对于递归算法,则可以通过递归的深度和每次递归的复杂度来计算时间复杂度。

1.3 常见的时间复杂度在算法分析中,常见的时间复杂度有:O(1)、O(log n)、O(n)、O(n log n)、O(n^2)、O(n^3)等。

其中,O(1)表示算法的执行时间与输入规模无关,即常数时间复杂度;O(log n)表示算法的执行时间随输入规模呈对数增长;O(n)表示算法的执行时间随输入规模呈线性增长;O(nlog n)表示算法的执行时间随输入规模呈线性对数增长;O(n^2)表示算法的执行时间随输入规模呈平方增长;O(n^3)表示算法的执行时间随输入规模呈立方增长。

1.4 空间复杂度的计算方法空间复杂度可以通过估计算法执行过程中所需要的额外存储空间来计算。

对于递归算法,通常使用递归的深度来估算空间复杂度。

1.5 算法复杂度的应用算法的复杂度分析在实际应用中非常重要,可以帮助我们选择合适的算法来解决问题。

在时间复杂度相同的情况下,可以通过比较空间复杂度来选择更优的算法。

在实际开发中,我们也可以根据算法的复杂度来进行性能优化,减少资源的消耗。

二、搜索算法2.1 线性搜索算法线性搜索算法是一种简单直观的搜索算法,逐个比较待搜索元素和数组中的元素,直到找到匹配的元素或遍历完整个数组。

其时间复杂度为O(n),空间复杂度为O(1)。

2.2 二分搜索算法二分搜索算法是一种高效的搜索算法,前提是数组必须是有序的。

算法首先取数组的中间元素进行比较,如果相等则返回找到的位置,如果大于中间元素则在右半部分继续搜索,如果小于中间元素则在左半部分继续搜索。

数据结构与算法分析习题与参考答案

数据结构与算法分析习题与参考答案

大学《数据结构与算法分析》课程习题及参考答案模拟试卷一一、单选题(每题 2 分,共20分)1.以下数据结构中哪一个是线性结构?( )A. 有向图B. 队列C. 线索二叉树D. B树2.在一个单链表HL中,若要在当前由指针p指向的结点后面插入一个由q指向的结点,则执行如下( )语句序列。

A. p=q; p->next=q;B. p->next=q; q->next=p;C. p->next=q->next; p=q;D. q->next=p->next; p->next=q;3.以下哪一个不是队列的基本运算?()A. 在队列第i个元素之后插入一个元素B. 从队头删除一个元素C. 判断一个队列是否为空D.读取队头元素的值4.字符A、B、C依次进入一个栈,按出栈的先后顺序组成不同的字符串,至多可以组成( )个不同的字符串?A.14B.5C.6D.85.由权值分别为3,8,6,2的叶子生成一棵哈夫曼树,它的带权路径长度为( )。

以下6-8题基于图1。

6.该二叉树结点的前序遍历的序列为( )。

A.E、G、F、A、C、D、BB.E、A、G、C、F、B、DC.E、A、C、B、D、G、FD.E、G、A、C、D、F、B7.该二叉树结点的中序遍历的序列为( )。

A. A、B、C、D、E、G、FB. E、A、G、C、F、B、DC. E、A、C、B、D、G、FE.B、D、C、A、F、G、E8.该二叉树的按层遍历的序列为( )。

A.E、G、F、A、C、D、B B. E、A、C、B、D、G、FC. E、A、G、C、F、B、DD. E、G、A、C、D、F、B9.下面关于图的存储的叙述中正确的是( )。

A.用邻接表法存储图,占用的存储空间大小只与图中边数有关,而与结点个数无关B.用邻接表法存储图,占用的存储空间大小与图中边数和结点个数都有关C. 用邻接矩阵法存储图,占用的存储空间大小与图中结点个数和边数都有关D.用邻接矩阵法存储图,占用的存储空间大小只与图中边数有关,而与结点个数无关10.设有关键码序列(q,g,m,z,a,n,p,x,h),下面哪一个序列是从上述序列出发建堆的结果?( )A. a,g,h,m,n,p,q,x,zB. a,g,m,h,q,n,p,x,zC. g,m,q,a,n,p,x,h,zD. h,g,m,p,a,n,q,x,z二、填空题(每空1分,共26分)1.数据的物理结构被分为_________、________、__________和___________四种。

231607 北交《数据结构》在线作业二 15秋答案汇总

231607 北交《数据结构》在线作业二 15秋答案汇总

北交《数据结构》在线作业二一、单选题(共 38 道试题,共 95 分。

)1. 在稀疏矩阵的带行指针向量的链接存储中,每个行单链表中的结点都具有相同的()。

. 行号. 列号. 元素值. 地址正确答案:2. 设有两个串(S1和S2),求S1在S2中首次出现的位置的运算称为()。

. 连接. 模式匹配. 求子串. 求串长正确答案:3. 设有一个二元数组[m][n],假设[0][0]存放位置在644(10),[2][2]存放位置在676 (10),每个元素占一个空间,则[4][5]在()位置,(10)表明用10进数表示。

. 692(10). 626(10). 709(10). 724(10)正确答案:4. 对某二叉树进行前序遍历的结果为F,中序遍历的结果为F,则后序遍历的结果为()。

. F. F. F. F正确答案:5. 下列那种排序需要的附加存储开销最大()。

. 快速排序. 堆排序. 归并排序. 插入排序正确答案:6. 由两个栈共享一个向量空间的好处是()。

. 减少存取时间,降低下溢发生的机率. 节省存储空间,降低上溢发生的机率. 减少存取时间,降低上溢发生的机率. 节省存储空间,降低下溢发生的机率正确答案:7. 在线性表的散列存储中,若用m表示散列表的长度,n表示待散列存储的元素的个数,则装填因子等于()。

. n/m. m/n. n/(n+m). m/(n+m)正确答案:8. 一个有顺序表有255个对象,采用顺序搜索法查表,平均搜索长度为()。

. 128. 127. 126. 255正确答案:9. Sustring('T STRUTUR',5,9)=()。

. 'STRUTUR'. 'STUTUR'. 'T STRUTRU'. 'T'正确答案:10. 如果一个树中,结点有3个兄弟,而且为的双亲,则的度为()。

. 1. 3. 4. 5正确答案:11. 具有65个结点的完全二叉树其深度为()。

北邮算法与数据结构习题参考答案

北邮算法与数据结构习题参考答案

北邮算法与数据结构习题参考答案作业参考答案一、(带头结点)多项式乘法 C = A×B:void PolyAdd ( list &C, list R) // R 为单个结点{p=C;while ((!p->next) && (p->next->exp>R->exp)) p=p->next; if ((p->next) || (p->next->exp<R->exp)){ R->next=p->next; p->next=R; } else{ p->next->inf += R->inf; delete R;if ( ! p->next->inf ){ R=p->next; p->next=R->next; delete R; } }}void PolyMul ( list A, list B, list &C ){C=new struct node; C->next=NULL; q=B->next; While ( q ){p=A->next;while ( p ){r = new struct node; r->exp = p->exp + q->exp;r->inf = p-> inf * q->inf; PolyAdd(C, r);p=p->next;}q=q->next;}}二、梵塔的移动次数:已知移动次数迭代公式为:M ( n ) = 2M ( n-1 ) + 1初值为:M ( 0 ) = 0则:M ( n ) = 2 ( 2M ( n-2 ) + 1 ) + 1= 4M ( n-2 ) + 3= 8M ( n-3 ) + 7= 2i M ( n-i ) + 2i– 1若n=i ,则M ( n-n ) = 0,故:M ( n ) = 2n M ( n-n ) + 2n– 1= 2n– 1所以,梵塔的移动次数为2n– 1次。

北京语言大学智慧树知到“计算机科学与技术”《算法与数据分析》网课测试题答案2

北京语言大学智慧树知到“计算机科学与技术”《算法与数据分析》网课测试题答案2

北京语言大学智慧树知到“计算机科学与技术”《算法与数据分析》网课测试题答案(图片大小可自由调整)第1卷一.综合考核(共15题)1.蒙特卡罗算法是以下的哪种?()A.分支界限算法B.概率算法C.贪心算法D.回溯算法2.最长公共子序列算法利用的算法是()。

A.分支界限法B.动态规划法C.贪心法D.回溯法3.下列哪一种算法不是随机化算法?()A.蒙特卡罗算法B.拉斯维加斯算法C.动态规划算法D.舍伍德算法4.回溯法搜索状态空间树是按照什么的顺序?()A.中序遍历B.广度优先遍历C.深度优先遍历D.层次优先遍历5.使用回溯法进行状态空间树裁剪分支时一般有两个标准:约束条件和目标函数的界,N皇后问题和0/1背包问题正好是两种不同的类型,其中同时使用约束条件和目标函数的界进行裁剪的是0/1背包问题,只使用约束条件进行裁剪的是N皇后问题。

()A.错误B.正确6.哈弗曼编码的贪心算法所需的计算时间为()。

A.O(n2n)B.O(nlogn)C.O(2n)D.O(n)7.下面是贪心算法的基本要素的是()。

A.重叠子问题B.构造最优解C.贪心选择性质D.定义最优解8.使用分治法求解不需要满足的条件是()。

A.子问题必须是一样的B.子问题不能够重复C.子问题的解可以合并D.原3、问题和子问题使用相同的方法解9.回溯法解旅行售货员问题时的解空间树是()。

A.子集树B.排列树C.深度优先生成树D.广度优先生成树10.分支限界法主要有队列式(FIFO)分支限界法和优先队列式分支限界法。

()A.错误B.正确11.算法的复杂性没有时间复杂性和空间复杂性之分。

()A.错误B.正确12.解决0/1背包问题可以使用动态规划、回溯法和分支限界法,其中不需要排序的是动态规划,需要排序的是回溯法,分支限界法。

()A.错误B.正确13.舍伍德算法总能求得问题的一个解。

()A.错误B.正确14.程序是算法用某种程序设计语言的具体实现。

()A.错误B.正确15.计算一个算法时间复杂度通常可以计算循环次数、基本操作的频率或计算步。

数据结构 北航题库

数据结构 北航题库

选择题在北航数据结构题库中,以下哪种数据结构常用于实现优先级队列?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. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

北航《算法与数据结构》在线作业二
单选题
一、单选题(共25 道试题,共100 分。


1. 对顺序表上的插入、删除算法的时间复杂性分析来说,通常以()为标准操作
A. 条件判断
B. 结点移动
C. 算术表达式
D. 赋值语句
-----------------选择:B
2. 在一个单链表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
3. 线性表是一个具有n个()的有限序列。

A. 表元素
B. 字符
C. 数据元素
D. 数据项
-----------------选择:C
4. 若给定的关键字集合为{20,15,14,18,21,36,40,10},一趟快速排序结束时,键值的排列为( )。

A. 10,15,14,18,20,36,40,21
B. 10,15,14,18,20,40,36,21
C. 10,15,14,20,18,40,36,21
D. 15,10,14,18,20,36,40,21
-----------------选择:A
5. 按照二叉树的定义,具有3个结点的二叉树有()种。

A. 3
B. 4
C. 5
D. 6
-----------------选择:C
6. 下列有关图遍历的说法中不正确的是()。

A. 连通图的深度优先搜索是个递增过程
B. 图的广度优先搜索中邻接点的寻找具有“先进先出”的特征
C. 非连通图不能用深度优先搜索法
D. 图的遍历要求每个顶点仅被访问一次
-----------------选择:C
7. Substr('DATA STRUCTURE',5,9)=()。

A. STRUCTURE'。

相关文档
最新文档