学号 导论20232328学期

算法导论-第22章-BFS和DFS

本章将介绍图的表示和图的搜索。图的搜索指的是跟随图中的边来访问图中的每个结点。图搜索是整个图算法领域的核心。22.1介绍图的两种表示方法:邻接链表和邻接矩阵。22.2介绍广度优先搜索(BFS)。22.3介绍深度优搜索(DFS)。 # 22.1 图的表示 对于图 $G=(V, E)$,有用两种标准表示 ......
导论 算法 BFS DFS

算法导论-第33章-最近点对问题

# 最近点对问题 **问题描述**:在 $n \ge 2$ 个点的集合 $Q$ 中寻找最近点对的问题,“最近”指的是欧几里得距离最小,即点 $p_1=(x_1, y_1)$ 和 $p_2=(x_2, y_2)$ 之间的欧几里得距离 $d=\sqrt{(x_1-x_2)^2+(y_1-y_2)^2}$ ......
导论 算法 问题

算法导论-第15章-动态规划

**动态规划**(dynamic programming)的思想是**分治思想**和**解决冗余**。 - 与分治法相似的是 - 将原问题**分解为若干个子问题**,先求解子问题,然后从这些子问题的解得到原问题的解。 - 与分治法不同的是 - 经分解的子问题**往往不是相互独立的**。若用分治法来解 ......
导论 算法 动态

算法导论-第13章-红黑树

第12章介绍了一棵高度为$h$的二叉搜索树,它可以支持任何一种基本动态集合操作,如`SEARCH`、`PREDECESSOR`、`SUCCESSOR`、`MINIMUM`、`MAXIMUM`、`INSERT`和`DELETE`等,其时间复杂度均为$\Omicron(h)$。因此,如果搜素树的高度较低 ......
导论 算法

算法导论-第16章-贪心算法

求解最优化问题时候通常要经过一串步骤,每一步都有多种选择。对于很多问题来说,用动态规划求最优解就是杀鸡用牛刀,可以使用更简单的算法。 **贪心算法**(greedy algorithm)在每一步都做出当时看起来是最佳的选择。也就是说,它综述做出局部最优的选择,希望通过局部最优解得到全局最优解。 ** ......
算法 导论

算法导论-第17章-摊还分析

本章主要涉及理论分析,感觉第3版讲的不是很好(也有可能是翻译的语句不通顺),这里搬运了知乎上的文章。 - https://zhuanlan.zhihu.com/p/536470404 - https://zhuanlan.zhihu.com/p/577232877 - https://zhuanla ......
导论 算法

算法导论-第14章-数据结构的扩张

本章讨论通过扩展红黑树构造出的两种数据结构。14.1节介绍一种支持一般动态集合上顺序统计操作的数据结构。通过这种数据结构,我们可以快速地找到一个集合中的第 $i$ 小的数,或给出一个指定元素在集合的全序中的位置。14.2节抽象出数据结构的扩张过程,并给出一个简化红黑树扩张的定理。14.3节使用这个定 ......
数据结构 导论 算法 结构 数据

算法导论-第21章-用于不相交集合的数据结构

21.1节描述不相交集合数据结构支持的各种操作,并给出一个简单的应用。21.2节使用一种简单链表结构来实现不相交集合。21.3节使用有根树来实现,使用树表示的运行时间理论上好于线性时间,然而对于所有的实际应用它确是线性的。 # 21.1 不相交集合的操作 一个**不相交集合数据结构**(disjoi ......
数据结构 导论 算法 结构 数据

算法导论-第4章-分治法

# 回忆 在2.3.1中,归并排序使用了分治法。在分治法中,当递归地求解一个问题,在每层递归中执行如下三步骤: - 分解(Divide):将问题划分为子问题,子问题的形式与原问题一样,只是规模更小。 - 解决(Conquer):递归地求解出子问题。如果子问题的规模足够小,则停止递归,直接求解。 - ......
导论 算法

算法导论-第6章-堆排序

# 6.1 堆及堆的性质 **(二叉)堆**可以看作完全二叉树,其存储结构通常是**数组**,表示堆的数组A中有两个重要属性:$A.length$表示数组元素的个数;$A.heap-size$表示有多少个堆元素在数组中,$0 \le A.heap-size \le A.length$。 ![Figu ......
导论 算法

算法导论-第7章-快速排序

# 7.1 快速排序的描述 对一个典型的子数组$A[p..r]$进行快速排序的三步分治过程: - **分解**:数组$A[p..r]$被划分为两个(可能为空)的子数组$A[p..q-1]$和$A[q+1..r]$,使得$A[p..q-1]$中的每一个元素都小于等于$A[q]$,而$A[q+1..r] ......
导论 算法

算法导论-第8章-线性时间排序

# 前言 此前我们已经学习了几种$\Omicron(n \log n)$的排序算法,这些排序算法都有一个有趣性质,在排序的最终结果中,各元素的次序依赖于它们之间的比较,我们将这类排序称为**比较排序(comparison sort)**。 8.1节将要证明**对包含$n$个元素的输入序列,在最坏情况 ......
导论 线性 算法 时间

算法导论-第9章-中位数和顺序统计量

一个包含 $n$ 个元素的集合中的第 $i$ 个**顺序统计量**指集合中的第 $i$ 小的元素。**最小值**是第 $1$ 个顺序统计量($i= 1$),**最大值**是第 $n$ 个顺序统计量($i = n$)。 9.1节将讨论从集合中找出最小值和最大值的问题。9.2节将分析一个实用的算法,它在 ......
中位数 导论 算法 顺序

文心一言 VS 讯飞星火 VS chatgpt (51)-- 算法导论6.2 3题

# 三、当元素 A[i] 比其孩子的值都大时,调用 MAX-HEAPIFY(A.i)会有什么结果? ## 文心一言: 当元素 A[i] 比其孩子的的值都大时,调用 MAX-HEAPIFY(A, i) 会将 A[i] 与其孩子中的最小值进行交换,并将 A[i] 视为新的根节点。这个操作会使得以 A[i ......
文心 导论 算法 chatgpt VS

文心一言 VS 讯飞星火 VS chatgpt (50)-- 算法导论6.2 2题

# 二、参考过程 MAX-HEAPIFY,写出能够维护相应最小堆的 MIN-HEAPIFY(A,i)的伪代码,并比较 MIN-HEAPIFY 与 MAX-HEAPIFY 的运行时间。 ## 文心一言: MIN-HEAPIFY(A, i)的伪代码如下: 1.将节点i及其子树中的最小元素交换到根节点i; ......
文心 导论 算法 chatgpt VS

文心一言 VS 讯飞星火 VS chatgpt (49)-- 算法导论6.2 1题

# 一、参照图6-2的方法,说明 MAX-HEAPIFY(A,3)在数组 A=(27,17,3,16,13,10,1,5,7,12,4,8,9,0)上的操作过程。 ## 文心一言: 下面是 MAX-HEAPIFY(A, 3) 在数组 A = (27, 17, 3, 16, 13, 10, 1, 5, ......
文心 导论 算法 chatgpt VS

复旦大学2022--2023学年第二学期高等代数II期末考试情况分析

一、期末考试成绩班级前十名的同学 李燊旭(94)、秦保睿(94)、张家溢(93)、肖竣严(93)、何乐为(92)、杨润禾(91)、王云萱(91)、范倚天(90)、周奕煊(90)、刘俊邑(88) 二、总评成绩计算方法 平时成绩根据交作业的次数决定。本学期数学学院原有学生提交作业14次,计10次100分 ......
代数 学年 学期 情况 大学

复旦大学2022--2023学年第二学期(22级)高等代数II期末考试第七大题解答

七、(10分) 设 $n$ 阶方阵 $A,B$ 满足 $AB=BA$ 且 $r(A)\geq n-1$. 证明:$$r(A^2)+r(B^2)\geq 2r(AB).$$ 证明 我们按照 $A$ 的秩分两种情况进行证明. Case 1 若 $r(A)=n$, 即 $A$ 为非异阵, 则 $$r(A^ ......
代数 学年 七大 学期 大学

复旦大学2022--2023学年第二学期(22级)高等代数II期末考试第八大题解答

八、(10分) 设 $n$ 阶实方阵 $A$ 满足 $A^3=A$, 证明: 若对任意的实列向量 $x$, 均有 $x'A'Ax\leq x'x$, 则 $A$ 是实对称阵. 证法一 (几何证法) 将题目转换成几何语言: 设 $\varphi$ 是 $n$ 维欧氏空间 $V$ 上的线性算子, 满足 ......
代数 学年 学期 大学 2022

文心一言 VS 讯飞星火 VS chatgpt (48)-- 算法导论6.1 6题

# 值为的数组是一个最大堆吗? ## 文心一言: 是的,这个数组是一个最大堆。 最大堆是一种特殊的二叉树,它满足以下性质:对于任意节点 x,其子节点 y 的值都小于等于 x 的值。 我们可以使用数组来表示最大堆的节点,其中根节点存储在数组的第一个位置,而其他节点存储在数组的后续位置。在这个最大堆中, ......
文心 导论 算法 chatgpt VS

小学期大作业之黑白棋

采用pyqt5进行了界面设计,实现了人机对战和人人对战模式,实现了棋谱保存 import random from PyQt5.QtGui import QPixmap from PyQt5.QtWidgets import * from PyQt5.QtGui import * from PyQt5 ......
黑白棋 黑白 学期

文心一言 VS 讯飞星火 VS chatgpt (47)-- 算法导论6.1 5题

# 五、一个已排好序的数组是一个最小堆吗? ## 文心一言: 一个已排好序的数组不一定是一个最小堆。最小堆是一种特殊的二叉树,它满足以下性质:对于任意节点 x,其父节点 y 的值都小于等于 x 的值。而一个已排好序的数组只是一个有序数组,它满足任意的元素都是按从小到大的顺序排列的,但并不一定满足最小 ......
文心 导论 算法 chatgpt VS

文心一言 VS 讯飞星火 VS chatgpt (46)-- 算法导论6.1 4题

# 四、假设一个最大堆的所有元素都不相同,那么该堆的最小元素应该位于哪里? ## 文心一言: 最大堆的最小元素位于堆的根结点。由于最大堆的性质,根结点是堆中所有元素的最大值,因此它也是堆中所有元素的最小值。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/80b9f ......
文心 导论 算法 chatgpt VS

文心一言 VS 讯飞星火 VS chatgpt (45)-- 算法导论6.1 3题

# 三、证明:在最大堆的任一子树中,该子树所包含的最大元素在该子树的根结点上。 ## 文心一言: 在最大堆中,根结点是整个堆中最大元素的孩子,因此它包含的最大元素是在该子树的根结点上。 我们可以通过递归的方式证明任意子树中的最大元素都在该子树的根结点上。假设我们已经证明了深度为 d-1 的子树中的最 ......
文心 导论 算法 chatgpt VS

文心一言 VS 讯飞星火 VS chatgpt (44)-- 算法导论6.1 1题

# 一、在高度为h的堆中,元素个数最多和最少分别是多少? ## 文心一言: 在高度为 h 的二叉搜索树(BST)中,元素个数最多和最少的情况分别如下: 1.最多情况:当每个节点都包含两个子节点时,BST 中的元素个数最多。此时,BST 中的元素个数为 2^(h+1) - 1。 2.最少情况:当 BS ......
文心 导论 算法 chatgpt VS

文心一言 VS 讯飞星火 VS chatgpt (43)-- 算法导论5.4 7题

# 七、为使特征序列长度的下界变得更精确,请说明在 n 次硬币的公平抛掷中,不出现比Ign - 2lglgn 更长的连续正面特征序列的概率小于 1/n。 ## 文心一言: 在 n 次硬币的公平抛掷中,每个硬币正、反面朝上的概率均为 1/2。让我们考虑一个事件 A,其表示在 n 次抛掷中不出现比连续 ......
文心 导论 算法 chatgpt VS

小学期实现kmp算法新方法

题目长这样: 上次我们找到办法是采用数据结构中常用的一种先找出模式串的next[j]然后在进行比对,如果理解的同学这种方法更加的贴合理论知识 但是我今天又想了一种方法不用求他的next[j]数据也可以做出来下面是我的思路 根据我的思路大家可以去探究一下,或许会比原来的用next[j]方法有些地方不太 ......
算法 学期 方法 kmp

学期加分

课堂提问 +5 到软件体系结构 课堂测试第8完成 老师酌情加分到软件体系架构。 ......
学期

【死亡小学期第一章:命运大转盘】希尔排序 | 图 | 树 |

希尔排序 通过不断缩小·基数进行每个基数长度的插入排序。 递减增量排序算法,是插入排序的一种更高效的改进版本。但希尔排序是非稳定排序算法,因为前面的排序与后面的排序无关。 稳定排序:在排序过程中,如果两个键的值相同,那么他们的相对位置不发生变化。不符合该规则的排序算法不是稳定排序算法。 题目 本题要 ......
转盘 学期 命运

学习《操作系统导论》07

# 分段 根据前面介绍到的基址+界限寄存器对的方式,虽然很好的解决了地址转换的问题,但是可以看到,它也带来了一个问题:内存浪费。 根据前面介绍到的那种内存分配处理方式,堆和栈之间会有大量的空闲空间,而前面的介绍中,这些空间都会被一次性装入内存中,那在程序运行的初期,就会有大量没有被使用的内存被强行占 ......
导论 系统