- 博客(59)
- 收藏
- 关注
原创 算法 Hw9
在贪心算法中,任何时刻将未分配的工作分配给当前空闲时间最少的机器,这种策略确保每台机器的负载是尽可能均衡的。由于上述动态规划算法是一个精确算法(在多项式时间内找到最优解),因此它的近似比为 1,即它能够找到最优解。时间单位,且在此期间不能有其他工作在同一台机器上运行,因此该工作的完工时间至少为。在最优调度中,任意机器的完工时间不能少于其分配到的工作负载时间,即最优完工时间。给定一个任务调度方案,可以在多项式时间内验证该方案的总利润是否至少为。因此,调度问题的决策版本是 NP 完全的。
2024-06-17 23:16:02
967
原创 软件质量保障与测试 Lab2
可以看出,以上两种穿墙的情况,均符合以下代码中第二个。时,默认根节点不改变,导致根节点右子树为空时出错。查看这个错误用例的详细情况:发现它的解决方案是。可以从下面看出,这两步中出现了穿墙的问题。执行结果如下,可以看出该问题已解决。再通过直接编译执行验证问题解决情况。所在以及正确的迷宫解决方法。修改为可以进行符号执行的对象。于是只需将该条件删去即可。生成文件的执行结果,
2024-06-07 23:37:30
458
原创 算法 Hw8
并且,由于每个子句中只能选择⼀个文字为真,所以这些路径是简单路径。这样建立⼀个有向图,其中每个布尔变量和每个子句都有对应的节点,而每个可能的布尔赋值都对应于从起始节点。具体来说,可以通过在每个节点中存储文本的起始位置和长度来引用整个文本,从而避免存储重复的子串。对于每个子句中的文字,创建⼀个有向图中的节点,分别表示该文字及其否定形式。的路径,连接对应⽂字的节点。对于每个布尔变量,创建⼀个有向图中的节点,分别表示该变量及其否定形式。对于相邻子句中相同的文字,连接它们对应的节点,以确保它们不能同时为真。
2024-06-03 23:58:02
1071
原创 DM Hw6
具体见图,两个顶部簇被包含在两个框内,而第三个簇被三角形和矩形定义的区域包含。)我认为第二个解决方案——由一名学生提出——也是可能的,尽管它是一个局部最小值,在这种点的配置下可能很少见。注意,虽然从较大圆中切出的两个扇形被显示为相交于一点,但不一定是这种情况——这取决于圆的确切位置和大小。从真实点作为初始质心开始,因为两个圆的边之间的距离略大于圆的半径,所以:将两个圆划分开,再用直径分割其中一个圆。基于密度:2个簇,是2个圆形区域,噪声不会造成影响。基于邻近性:2个簇,是2个环形区域。
2024-05-26 23:58:26
801
原创 算法 Hw7
在任何一个双调路径中,最多有两个不同的递增序列和两个不同的递减序列。因此,通过路径松弛性质,按照权重递增的顺序松弛边两次,再按照权重递减的顺序松弛边两次,就可以确保对于。开销更小的边组成的路径连接时,边。算法进行改进,以执行更少的松弛操作。所以,根据以上两点可以知道判断边。,执行以下函数,该函数至多被执行。的最小生成树,且运行时间是。先通过强连通分支算法获取图。一定所有最小生成树中。一定不在最小生成树中。所以,总共的运行时间是。通过以上算法可以判断。
2024-05-19 23:33:54
1019
原创 DM Hw5
Hw 512abcdefgg3abcdef4abcd5abcde6abcde7abcde8abc9ab10abc1112abcd131#mermaid-svg-w7MsBtVm3xRcup42 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-w7MsBtVm3xRcup42 .error-icon{fill:#552222;}#mermaid-svg-w7MsBtVm3
2024-05-11 17:26:42
394
原创 算法 Hw6
如果某个步骤的找零使用了较小面额的硬币,一定会使用更多的硬币,所以可以使用贪心算法,得到最优解。如果选择物品2而不选择物品 1,将获得一个更好的解决方案。通过将物品2替换物品1,可以获得一个更优的解。的价值较大, 会得到一个更优的解,因此假设是错误的,所使用的贪心策略是正确的。为前i个物品,载重为j的最大价值,那么最大价值取决于第i个物品拿不拿。因此,根据这个证明,应该始终选择具有最大价值的物品,即使用贪心策略。的选择增加相同的重量,由于我们使用贪心策略选择物品,由于物品。的硬币的个数,可知有。
2024-05-10 10:07:22
773
原创 DM 决策树
遍历所有特征和可能的取值,计算每个可能划分的基尼指数,并选择基尼指数最小的划分作为最佳划分。它根据特征的数量循环迭代,并对每个特征的每个取值进行计算,调用。方法找到最佳的划分特征和划分值。如果无法再进行划分,则创建叶节点并返回。否则,根据最佳划分创建左子树和右子树,并递归地调用。先检查当前节点的标签集是否只包含一个类别,如果是,则创建叶节点并返回。方法计算划分的基尼指数。
2024-05-06 22:32:48
310
原创 DM Hw4
具有更多的叶节点和更复杂的结构,但它在数据集B上的性能相对较差,这可能意味着它过度拟合了数据集A中的特定模式,而这些模式在数据集B中并不适用。由前两问可以看出:熵和基尼指数有在一定的相同范围内变化趋势相同,而它们支持不同的属性,这是因为它们对增益的度量方式不同,可能导致具体结果有一定的不同。比较上两问结果可知:第二问构建的决策树分类错误率比第一问构建的更小,所以:贪心法并不一定能产生最优决策树。从计算结果可得出,子结点的加权基尼指数更低,即子结点纯度更高。因为Z的分类错误率最低,选择Z为第一层的划分属性。
2024-05-06 21:37:24
627
原创 DM Hw3
Hw31abcd2abc - (a)c - (b)345abi 支持度ii 置信度iii 兴趣因子iv IS度量v Klosgenvi 几率67abcde8aiiiiiibiiiiiiiv9ab10ab11abc1213abcde141ac(∅→A)=σ(∅∪A)σ(∅)=σ(A)N=s(∅→A)c_{(\emptyset\rightarrow A)}=\frac{\sigma(\emptyset\cup A)}{\sigma(\emptyset)}=\frac{\sigma(A)}{N}=s_{(\
2024-04-28 00:39:33
944
原创 DM 频繁项集挖掘算法
算法执行时间位于前两者之间,且更接近后者。中可以看出:实际实验情况符合上述分析。文件,数据集位于根目录。算法的时间性能相对较好,
2024-04-22 21:14:01
256
原创 软件测试 Lab1
对操作系统⾃带的 “计算器” 进⾏⿊盒测试。个测试用例,实现了等价类的百分百覆盖。测试案例外,其余测试案例均符合预期输出。经进一步测试,系统自带计算器。
2024-04-22 00:02:35
924
原创 算法 Hw5
个点,计算点对距离,并更新最短距离,遍历完所有点对后即可求得最短点对距离。:当只有一个螺丝和一个螺母时,匹配螺丝和螺母。的临界区内(将满足要求的点集合记作。所以根据主定理求解有:总代价。的匹配结果以及匹配对。个点,返回最近点对。
2024-04-17 21:57:21
819
原创 DM Hw2
时,所有闭频繁项集为:{B},{A,B},{B,C},{B,D},{C,D},{A,B,D},{A,B,C,D}即:{B},{A,B},{B,C},{B,D},{C,D},{A,B,D},{A,B,C,D}为闭项集。时,所有闭频繁项集为:{B},{A,B},{B,C},{B,D},{C,D},{A,B,D},如果它的直接超集都不具有和它相同的支持度计数,则项集。时,所有闭频繁项集为:{B},{A,B},{B,D}数据集共有50个样例,其中包含29个正例、21个负例。R3:2个正例、2个负例。
2024-04-09 20:25:54
895
原创 算法 Hw4
低于某个阈值,收缩散列表的大小。负载因子的大小对应于散列表中元素的数量与槽位数量的比例,根据负载因子动态调整散列表的大小,可以确保散列表保持合适的大小以提供较低的碰撞率和较高的操作效率。操作需要变动的数组为:被删除的元素所在的数组。超过某个阈值,扩展散列表的大小;开始不断插入元素,插入总开销小于等于插入。操作的摊还代价的上界为一个常数。从空被置为满时,对应的数组。最坏情况:所有数组均满,且。记状态为满的最小下标数组为。时:(二进制数的位为。最坏情况:所有数组均满。对于摊还时间,当数组。
2024-04-07 23:13:17
939
原创 算法 Hw3
的子集,散列到到同一槽位。对于这个槽位的链表,使用链接法散列的查找,最坏情况需遍历该链表,此时的时间代价为。先在线性时间内确定输入序列中最大的元素,以确定所有元素的最高位。再按最低有效位进行排序。,将第一个符合要求的下标记作。,所以一定存在一个大小为。的时间将数组排好序。于是存在至少一个下标。
2024-03-31 22:35:19
654
原创 DM Hw1
而汉明距离只考虑二进位的差异,使用Jaccard相似度则可以计算两个有机体之间共同基因的比例,从而比较它们的相似性。这是因为最小-最大规范化对数据的分布进行线性映射,将数据映射到指定的区间内,并且保留了数据的相对顺序。但对数据点的改变导致每个数据的含义发生了变化,可能会与数据本身偏离。可以通过聚类来检测数据中的异常值,落在聚类集之外的值可以被认为是离群值。构成相同物种的两个有机体的基因相似性非常高,汉明距离可以有效地捕捉到二进位差异的数量,着重两者不同的基因。人为设定的最小-最大区间,即。
2024-03-25 23:53:15
553
原创 算法 Hw2
下一次进入循环体,由上面已证明的内循环正确性可知,),那么循环不变式中只有一个元素,同时也为是最小元素,故循环不变式成立。,可证明冒泡排序终止后后,元素保持一致且有序,即证明算法的正确性。的方式寻找:两两一组比较一次,确定二者中的更小值,对于这。个元素中的最小值,即可用上述找最小值的方法同理解决问题。函数提取并计算,最终找到缺失数字,这种方法的时间开销为。的高端点,否则它们不会重叠。的低端点,那么说明左子树中的某些区间可能与。是最小的,并且其元素与迭代前保持一致。最终,总共的比较次数只需将两者相加,为。
2024-03-24 16:24:51
538
原创 计算机系统 Hw 05
因为浮点数乘法的容量是2(5.12表格),所以这两行程序中的两个浮点数乘法运算可以并行。转移,让加法可以在下一次的迭代时执行。于是,加法和乘法可以并行。所以函数的CPE是5。同时,流水线上可以将。
2024-03-21 13:11:00
251
原创 计算机系统 Hw 04
strcmp比较的是字符串类型,如果强行传入其他类型参数,会出错,出错后返回值0,可以利用这点进行绕过检查。通过输入超过长度的字符串使之溢出即可。
2024-03-21 13:10:40
237
原创 datalab
若x非0,flag为-1,(flag & y) 为 y,( ~flag & z ) 为0,两者取 | ,结果为y。若x为0,flag为0,(flag & y) 为 0,( ~flag & z ) 为z,两者取 | ,结果为z。(x & y) | (~x & ~y) :找出x,y相同的位,记为1(异或是记为0)
2024-03-21 13:09:53
275
原创 Hash Table
key值可直接将data->name加和,然后除以HASH_SIZE取余,得到一个初始的key。最后将学生信息载入空槽,并改变flag值为1(初始为0)。若该key值下以存有学生信息,则进入循环,直至遇到空槽。自己经实验选取了几个参数(具体见上)。文本输入时,文本编码为。
2024-03-21 13:09:14
326
原创 计算机系统 Hw 03
当x86-64过程需要的储存空间超出寄存器能够存放的大小时,就会在栈上分配空间。这过程成为过程的栈帧。——《深入理解计算机系统》参考资料:https://www.zhihu.com/question/48267791/answer/2416886945。
2024-03-21 13:08:50
124
原创 DSLab1
方法传入数据库URL、用户名和密码来获取连接对象。语句,并将数据绑定到预处理语句中的参数上。对象逐行读取数据,将每行数据插入到。编码,否则会以乱码形式出现。从其他数据表中获取相关数据。程序关闭数据库连接,打印。建立数据库连接,使用。
2024-03-21 13:05:39
408
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人