自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 收藏
  • 关注

原创 软件构造复习1

从阶段视角来看,我们关注逻辑/物理实体在内存/硬件环境下状态随时间的变化——重点在变化。在build-time构造阶段时:从代码视角来看,我们关注于源代码的逻辑层次,如类、方法、接口等;从构件视角来看,我们关注于构件——代码的物理层次,如包、文件、库等;正确性:(最重要的质量指标)保持正确性的技术手段有:测试和调试(不能提高程序能力)、防御式编程、形式化方法(通过形式化验证发现问题)共有三个维度:1.按阶段划分:构造时/运行时视图,2.按动态性划分:时刻/阶段视图,3.按构造对象层次划分:代码/构件视图。

2024-05-22 08:47:12 582

原创 软件构造复习2

在进行编写时应满足——RI:针对Rep的每一个field以及多个fields之间的关系,进行条件限定,要精确,AF:给出client看到的A值是什么,是对每一个Rep值的“数学运算”重写方法不能抛出新的异常或者比被重写方法声明的检查异常更广的检查异常,但是可以抛出更少,更有限或者不抛出异常、不能重写被标识为final的方法、如果一个方法不能被继承,则不能重写它等。基本数据类型:int、long、boolean、double等,——有值,无ID,无法区分,不可变,在栈中分配内存,代价低;

2024-05-22 08:45:22 1581

原创 哈尔滨工业大学 数据结构期末总复习(三)

目录结构是在课堂整理的,重复之处略。

2023-11-21 21:13:25 438 1

原创 哈尔滨工业大学 数据结构期末总复习(二)

在带权的有向图中,用顶点表示事件,边表示活动,权表示活动的持续时间。每个事件表示在它之前的活动已经完成,在它之后的活动可以开始。由于活动只有一个开始点和一个结束点,所以在正常情况下,AOE网只有一个入度为0的点,称为起始点(源点);一个出度为0的点,称为结束点(汇点)。

2023-11-19 23:05:03 641

原创 哈尔滨工业大学 数据结构期末总复习(一)

next[]数组存储的是模式串中每个前缀子串(例如本例子中就是:A,AB,ABA,ABAB,ABABC)前n位和后n位相同的情况,例如:next[]如何使用:例如在第一轮匹配中, 我们发现模式串的第5位不匹配,那么我们只需要查询。

2023-11-19 09:43:51 912

原创 cs61b 数据结构与算法笔记 15 Tries(字典树)

理论上快于哈希表(hashTable)和搜索树(searchTree)将字母映射成节点。三个选择:DataIndexedCharMap 数组存放所有可能出现的子节点的链接Bushy BSTHash Table三个方法都很好。hashTable感觉最自然。支持特殊的字符串操作如longestPrefixOf(最长前缀匹配)和keysWithPrefix(查找含有目标字段的字符串)。AutoComplete的实现可以运用KeysWithPrefix。

2023-10-18 18:37:48 290

原创 数理逻辑 1. 第二章 命题逻辑的基本概念

1. 原子命题时命题公式2. 若A,B时命题公式,则A,B与五个基本逻辑运算的组合均为命题公式3. 有限次使用1与2复合所得的结果为命题公式定义2.1.2 指派A(p1, p2, ..., pn)中的n个命题变元p1, p2, ..., pn的任意一种真值赋值称为指派,此时公式A有一个确定的真值。指派常用符号α表示。若对公式A的一个给定的指派α,使得A的真值为真,则记为α(A)=T,反之α(A)=F。若公式A对任一真值指派其真值均为真,则称为重言式/永真式。

2023-10-17 07:40:52 1329

原创 近世代数 知识点整理5

使得ab=0, 则称a是R的一个左零因子,类似定义右零因子。如果a既是R的左零因子,又是R的右零因子,则称a为R的。设R是一个非空集合,R中有两个代数运算,一个叫做加法并用加号“+”表示,另一个叫做乘法并用“o”表示。设(F, +, o)是体(域),E包含于F,如果E对F的加法和乘法也构成一个体(域),则称E为F的一个。环(R, +, o)称为交换环或可换环,如果其中的乘法满足交换律,即。其次,有单位元的环,即使某个子环有单位元,则子环的单位元也。环(R, +, o)称为有限环,如果R是有限非空的集合。

2023-10-16 21:35:30 1064

原创 近世代数 知识点整理4

群G的正规子群H的所有左陪集构成的集族,对群子集乘法构成的群称为G对H的商群,记为G/H。群G的子群H是G的正规子群 当且仅当 对G的任意内自同构φ有φ(H)=H。设H是G的正规子群,H的所有左陪集构成的集族,对群子集乘法形成一个群。设A,B是群G的子群,则AB是G的子群的充分必要条件是AB=BA。设H是群G的子群,如果对G的任意自同构φ有φ(H)设G是一个群,G的任意子集称为群子集。有aH=Ha,则称H是G的正规子群。于是,群G的特征子群是正规子群。其次,如果H是G的子群,则。H,则称H为G的特殊子群。

2023-10-16 15:54:10 640

原创 近世代数 题目

设H是群G的一个子群,a为G的任一元素。集合aH称为子群H的一个左陪集,Ha称为H的一个右陪集。

2023-10-16 11:06:10 1388

原创 cs61b 数据结构与算法笔记 16. 多维数据

如果我们想在平面上寻找离某点最近的节点,现有的方法不适用,速度会非常慢。

2023-10-11 21:16:27 188

原创 CS61B 数据结构与算法笔记 20 最小生成树

给定一个无向图,寻找它是否有一个环。方法1:从某个节点开始做深度优先搜索。方法2:用对于每一条边,检查两端点是否相连。例如4-5,5-6,6-4,将4-5,5-6union后,4和6就被连接,遍历到6-4边的时候发现已经连接,说明图中有环。

2023-10-05 14:52:05 360

原创 CS61B 19 最短路:Dijkstra与A*

它输入一个节点s,输出从s开始的最短路径树。1. 创建一个优先队列priority queue2. 将s以优先级0加入到优先队列中。将所有其他节点以优先级∞加入到优先队列中。3. 当优先队列不是空的:将一个节点弹出优先队列,然后释放(relax)所有以该点为起点的有向边。

2023-10-01 15:29:43 237

原创 CS61B 数据结构与算法笔记 17 遍历和图

1. 层序遍历:从上到下,从左到右。2. 深度优先遍历1. 先序Preorder,中序Inorder, 后序Postorder。2. 根本想法:先遍历深节点,后遍历浅节点。注意:遍历节点与访问节点不同。

2023-09-30 17:20:57 220

原创 CS61B 数据结构与算法笔记 堆和优先队列

所有数据结构都在做一件事:解决搜索问题。给定一个数据流,从中获取想要的信息。数据结构的实现1. Set和Map的区别:set只返回true/false值,而map返回具体信息。2.

2023-09-29 09:56:05 291

原创 cs61b数据结构与算法笔记 Project2 Gitlet

在java中,可以使用file构造函数创建file对象,并传入文件路径(相对路径)您可以将此 File 对象视为对实际文件 dummy.txt 的引用--当我们创建新的 File 对象时,我们实际上并没有创建 dummy.txt 文件本身,我们只是在说:"将来,当我对 f 执行操作时,我想对 dummy.txt 执行这些操作"。要实际创建这个 dummy.txt 文件,我们可以调用对于对文件的读写,我们有java.utils可以使用。例如将一个字符串HWorld写入文件f(即上文dummy.txt)。

2023-09-26 21:06:34 284

原创 cs61b数据结构与算法 12.Hashing

我们的 DataIndexedIntegerSet 只允许插入整数,但现在我们想插入字符串 "cat"。我们将把可以插入字符串的数据结构称为 DataIntexedEnglishWordSet。我们可以将小写英文字符串看成26进制的整数,并把它转化为十进制int,这样我们的ArrayList就可以存储小写英文字符串了。进一步拓展,我们使用ASCII码,每一个字符有一个在0(含)和127(含)之间的值。即相当于128进制整数。如果要包括中文等字符,就要用相应规则拓展,如unicode。

2023-09-26 18:59:09 190

原创 cs61b数据结构与算法笔记 旋转树,红黑树

我们可以做的一件事就是创建一个 "胶水 "节点,它不包含任何信息,只是用来显示它的两个子节点实际上是一个节点的一部分。然而,这是一个非常不优雅的解决方案,因为我们会占用更多的空间,代码也会很难看,而且这样会使得树多出一个空链接(如图d节点右下方)。因此,我们。

2023-09-25 20:44:07 270

原创 cs61b数据结构与算法笔记 B树

BST的树高度:最佳情况Θ(log N), 最坏情况Θ(N)。BTree是在二项搜索树BST基础上的一种改版,避免了最坏情况Θ(N)。节点可能包含1到L个元素。其中包含的功能几乎与普通 BST 完全相同。add 的工作原理是向现有的叶节点添加项目。如果节点太满,它们就会分裂。BTree产生的树的平衡性非常好。操作的时间复杂度为O(log N)。B 树更为复杂,但能有效处理任何插入顺序。

2023-09-25 09:02:22 535

原创 cs61b数据结构与算法笔记 10,11 二叉搜索树

树:两个节点之间只能有一条路。二叉搜索树里,我们让每个节点的左子节点小于该节点,右节点大于该节点。不能有大小完全相同的节点。

2023-09-23 18:40:05 249 1

原创 概率论与数理统计 SPOC课堂笔记5

设A,B为两个事件,如果P(AB) = P(A)P(B),则称A与B相互独立。

2023-09-13 09:17:25 283 1

原创 cs61b数据结构与算法学习笔记 9. DisjointSets(并查集)

直观地说,我们可以首先考虑将 "互不相交集 "表示为一个集列表,例如 List。例如,如果我们有 N=6 个元素,并且没有任何元素被连接,那么我们的集合列表看起来就像这样:[{0}, {1}, {2}, {3}, {4}, {5}, {6}].看起来不错。但是,考虑一下如何完成 connect(5, 6) 这样的操作。我们必须遍历多达 N 个集合才能找到 5,再遍历 N 个集合才能找到 6。我们的运行时间就变成了 O(N)。而且,如果要尝试实现这一点,代码会相当复杂。

2023-09-11 09:38:29 546

原创 近世代数 知识点整理3

设(G1,o), (G2, *)是群。如果存在一个一一对用=应φ:G1->G2,使得任意a, b\in G1有:,则称G1与G2同构。同构的两个群,只有记号不同,抽象性质相同。同构满足等价的三个条件:反身性,对称性,传递性。

2023-09-10 20:54:07 3729 1

原创 cs61b 8.2 渐进分析入门

我们可以用外部环境直接计算程序运行秒数。Unix有一个内置的time命令可以计算耗时。

2023-09-10 20:21:36 145 1

原创 cs61b笔记 7.2 Access Control 8. Efficient Programming

1. API很难设计,但是拥有连贯的设计理念可以使代码更简洁,更易于处理。2. 继承通常很容易使用,但是注意谨慎使用,只有当你确定类的属性时候才能用。

2023-09-09 20:49:04 215 1

原创 cs61b笔记 7.1 Packages

1. 为了防止不同的人制作了相同名字的包,Pacakge的创建应该遵循以下命名规则:软件包名称以网站地址开头,倒序排列。

2023-09-07 14:04:46 120 1

原创 cs61b笔记 Project1

自用。

2023-09-06 21:46:02 405 2

原创 cs61b笔记 6.1-6.4

遍历集合的三种方法。

2023-09-06 21:45:17 167 1

原创 近世代数 知识点整理2

结合律有左单位元e有左逆元素则称(G,o)为群。1. 若将上述条件中的左单位元和左逆同时改为右单位元和右逆,则该代数系是否仍为群?是。2. 若仅将左逆改为右逆,则该代数系是否仍为群?否。

2023-09-04 21:07:16 2888 1

原创 cs61b笔记 3.Testing

对于中高级程序员来说,最重要的技能之一就是判断代码是否正确的能力。在本章中,我们将讨论如何编写测试来评估代码的正确性。同时,我们还将讨论一种名为 "选择排序 "的排序算法。临时测试1. !=和==字符的滥用:只有两个数组都指向同一地址的时候,!=才返回true。如果是两个不同地址的完全相同的。2.为 Sort.sort 编写测试虽然繁琐,但相对简单。我们只需创建一个输入,调用 sort,然后检查该方法的输出是否正确。如果输出不正确,我们就打印出第一个不匹配项并终止测试。例如,我们可以创建一个如

2023-09-04 20:46:03 181 1

原创 CS 61B笔记 2. Lists

在2.1中,我们创建了IntList类,作为一种。尽管它能完成所要求的全部事情,但是结构不够好,还可以改进。尤其是IntList用的使代码很难理解。在2.2中我们将再写一个SLList类来改进IntList的不足之处。

2023-09-03 11:40:14 185

原创 近世代数 知识点整理1

一个从集合X到集合Y的映射称为X到Y的一个一元代数运算。当X=Y时,称此一元代数运算为X上的一元代数运算。由p(1)是真的,得知m>1,又由p(m)不真,得P(m-1)为真。设X是一个集合,一个从XxX到X的一个映射φ称为X上的一个二元代数运算。,则a1,a2,...,an的成绩仅与这n个元素有关而与他们的次序无关。假设当n=k时成立,要推出n=k+1时成立。注:X上的一元二元代数运算对于运算是封闭的。设(S,o)是一个代数系,如果存在一个元素。)为一个(有一个代数运算的)代数系。证明同第一数学归纳法。

2023-08-31 19:41:35 757

原创 概率论与数理统计 SPOC课堂笔记4

设A1, A2...An是互不相容的事件,且P(Ai)>0, 若对任一事件B,有。设A1, A2..An是互不相容的事件,P(Ai)>0, 若对任一事件B有。条件概率具有概率的所有属性。,且P(B)>0,则。,P(Ai|B)称为。

2023-08-28 21:17:44 136

原创 概率论与数理统计 SPOC课堂笔记3

P(A)=A几何度量/S几何度量=L(A)/L(S)2. 特点:无限性,等可能性设A为某一试验的事件,将试验在相同的条件下重复进行n次,用m表示A出现的次数,则称称为事件A的相对频率。设随机试验的样本空间为S,对每个事件A,定义P(A),且满足:公理1 P(A)>=0 非负性公理2 P(S)=1 规范性公理3 若事件A1,A2...互不相容,则P(A1+A2+...)=P(A1)+P(A2)+.... 可列可加性则称P(A)为事件A的概率。推论:(1)P(空集)=0。

2023-08-28 07:31:20 242

原创 概率论与数理统计 SPOC课堂笔记2

若试验的样本空间S满足:只有有限个样本点——有限性每个样本点发生的可能性相等——等可能性则称此试验为古典概型试验。P(A) = A所含样本点数/样本点总数这里计算样本点数的主要工具是排列组合。

2023-08-21 16:43:53 354 1

原创 概率论与数理统计 SPOC课堂笔记1

哈尔滨工业大学SPOC概率论与数理统计,方茹老师讲解。自用。

2023-08-21 15:39:50 262 1

原创 周志华《机器学习》(西瓜书)入门学习笔记3

训练集用于训练模型,验证集专门用来调参数,调好后用测试集测试。调参过程相似:先产生若干模型,然后基于某种评估方法进行选择。由于线性回归误差值可以无限大,因此找到的偏导零点一定是。算法的参数:一般由人工设定,亦称“超参数”(w*,b*)为最优值。参数调的好不好往往对最终性能有关键影响。”,不能从某次确定性的比较得到结论。区别:考虑有调参数的需求之后,然而,麻烦来了:涉及矩阵求逆!模型的参数:一般由学习确定。同样采用最小二乘法求解,有。简单,基本,可理解性好。令均方误差最小化,有。不满秩,则可解出多个。

2023-08-19 16:24:19 201

原创 周志华《机器学习》(西瓜书)入门学习笔记2

基于“自助采样”(bootstrap sampling),又叫“有放回采样”、“可重复采样”。在采样中没有出现的数据就可以留出来做测试。在数据量不够或者训练数据分布情况不重要的情况下适用。从数据集中留出一部分用来测试。注:测试集应该与训练集互斥。若k=m,则为“留一法”(各数据重要性改变)。

2023-08-16 17:35:19 151 1

原创 周志华《机器学习》(西瓜书)入门学习笔记1

利用经验改善系统自身的性能。经验在系统中以数据形式存在。目前主要研究智能数据分析的理论和方法。

2023-08-16 07:12:36 355 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除