自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 动手学kaggle-Pandas-1

本微课程介绍pandas库的基础知识,涵盖数据创建(DataFrame与Series)与读取(如CSV文件)。通过实际练习,学习使用pd.read_csv()加载真实数据,理解DataFrame结构及索引设置,掌握数据处理核心技能。

2026-10-30 10:16:59 128

原创 动手学kaggle-Intro to Machine Learning-2

本文介绍了模型评估中欠拟合与过拟合的概念,并通过调整决策树的叶子节点数(max_leaf_nodes)来优化预测准确性。实验表明,500个叶子节点在验证集上表现最佳,平均绝对误差为243,495。随后引入随机森林模型,通过集成多棵决策树并取平均预测,显著提升精度(误差降至191,670),且无需精细调参即可获得良好效果,展示了其在避免过拟合和欠拟合方面的优势。

2026-10-28 21:20:41 297

原创 动手学kaggle-Intro to Machine Learning-1

本文介绍了机器学习模型的基本原理,以房地产价格预测为例,讲解了决策树模型的构建与优化。通过Pandas探索数据,选择特征(X)和目标变量(y),使用scikit-learn建立决策树模型,并通过训练-验证分离评估模型性能。重点强调了避免“样本内”误差误导,采用验证集计算平均绝对误差(MAE),揭示了模型在新数据上的真实表现,为后续模型改进奠定基础。

2026-10-26 23:34:05 212

原创 动手学kaggle-Intro to Programming-3

本文系统介绍了Python中的循环、列表推导式、字符串与字典。通过for和while循环实现重复操作,利用range()生成序列;列表推导式简化数据处理,支持条件过滤与变换;字符串作为不可变序列,支持切片、方法调用及split()、join()转换;通过format()实现灵活的字符串格式化;字典则用于键值映射,支持增删改查及遍历,是高效数据组织的重要工具。

2026-10-22 10:42:42 163

原创 动手学kaggle-Intro to Programming-2

本文系统介绍了Python中的基本数据类型(整数、浮点数、布尔值、字符串)及其操作,重点讲解了条件语句(if、elif、else)在程序控制流中的应用,并通过实例演示了基于条件的计算与决策。随后,文章引入列表这一核心数据结构,涵盖其创建、长度查询、索引与切片、增删元素等操作,并展示了列表在处理多种数据类型时的灵活性与实用性,为后续数据科学编程奠定基础。

2026-10-20 19:34:30 122

原创 动手学kaggle-Intro to Programming-1

作者在Kaggle比赛三个月后获得首块银牌,反思大模型虽助其快速出成果,但依赖“知其然不知其所以然”可能埋下隐患。为此,决定从头系统学习Python,重温算术、变量、注释与调试等基础概念,强调理解代码本质的重要性,以夯实编程根基。

2026-10-15 12:22:48 61

原创 算法设计与分析-习题12.2

本文摘要:文章探讨了分支界限算法在分配问题、背包问题和旅行商问题中的应用。对于分配问题,当矩阵值相同时为最优输入,最好情况下状态空间树节点数为n(n+1)/2。在背包问题中,提出了改进的上界函数计算方法,并通过实例验证了最优解为119。给出了基于分支界限算法的背包问题C语言实现代码。对于旅行商问题,证明了对称矩阵下界公式的合法性,并指出非对称矩阵应直接使用s作为下界。最后通过实例求解得出最优路径abdca,总距离为11。

2026-03-20 17:00:16 495

原创 算法设计与分析-习题12.1

本文探讨了回溯算法在多个经典问题中的应用。主要内容包括:1) 4皇后问题的回溯求解与对称性利用;2) 5皇后问题的对称解构造;3) n皇后问题的回溯实现及与穷举法的比较;4) 线性时间求解n皇后问题的分类算法;5) 哈密顿回路问题的回溯求解;6) 3色问题的回溯解法;7) 排列生成;8) 子集和问题;9) 回溯算法模板改进;10) 哈密顿回路和m着色问题的代码实现;11) 插棒游戏的最优解搜索。通过多个实例展示了回溯算法在不同约束条件下的应用与优化方法。

2026-03-20 13:55:26 421

原创 算法设计与分析-习题11.3

本文摘要:文章探讨了多个计算理论问题。首先证明了有限棋类游戏的必胜策略判定是可解的(通过穷举法)。其次分析了时间复杂度为O(nlog₂ⁿ)的问题属于易解类。在图的哈密顿回路与欧拉回路方面,给出了四种可能情况的示例说明。对于图着色问题,展示了不同图的色数及二分图判定算法(BFS/DFS染色)。此外,讨论了P类问题的判定标准,并通过多项式时间验证算法分析了背包和装箱问题。最后,证明了划分问题可多项式归约为背包问题,并展示了团、顶点覆盖和独立集问题的相互可转化性。文章还探讨了NP完全问题判定及复杂度类关系图的可能

2026-03-20 00:23:30 540

原创 算法设计与分析-习题10.3

本文摘要: 本文系统探讨了二分图匹配问题及其相关算法。主要内容包括:1)通过匈牙利算法求解最大匹配,分析匹配增益路径;2)讨论二分图匹配的极值情况,完全二分图的最大匹配数为n!;3)应用Hall婚姻定理判断完美匹配存在性,并提出基于最大流的验证算法;4)分析贪婪算法在匹配问题中的局限性;5)给出树结构最大匹配的线性算法;6)将多米诺覆盖问题转化为二分图匹配,利用棋盘着色原理证明对角缺失的8×8棋盘不可覆盖。研究揭示了匹配问题与网络流、组合优化之间的深刻联系,并比较了不同算法的适用场景。

2026-03-19 22:09:19 406

原创 算法设计与分析-习题10.2

摘要:本文探讨了网络最大流问题的算法设计与理论分析。首先提出了一种改进的邻接矩阵表示法,并给出了O(n²)时间效率的源汇点识别算法。通过实例演示了最短增益路径算法的应用过程,分析了最大流和最小割的唯一性问题。针对多源多汇和点容量约束问题,提出了超级节点和点拆分的转换方法。针对树形网络设计了一种O(n)时间的最优算法。理论部分证明了流守恒等式和割流关系,并建立了最大流问题的线性规划模型。最后以就餐问题为例,展示了如何将实际应用建模为最大流问题,通过构造特定网络判断是否存在可行解。

2026-03-19 19:47:52 451

原创 算法设计与分析-习题10.1

本文讨论了多个优化问题的求解方法。在邮局选址问题上,提出基于迭代改进的算法,但其O(n·M)复杂度不如直接取中位数高效。对于线性规划问题,展示了如何通过几何法和单纯形法求解,并分析了不同参数下解的存在性(唯一解、无穷解、无解)。在单纯形法的应用中,详细说明了表格操作步骤,并讨论了其在背包问题中的局限性(仅适用于连续情形)。文章还证明线性规划问题解的数量只能是0、1或无穷多个,并阐述了主问题与对偶问题的矩阵表示及转换关系,验证了对偶定理(最优值相同)。最后指出约束条件从闭区域变为开区域会影响最优解的存在性。

2026-03-19 14:49:55 374

原创 算法设计与分析-习题9.4

摘要:本文系统探讨了哈夫曼编码相关问题。首先通过实例演示了哈夫曼编码的构造过程(ABACABAD编码为0100011101000101)及解码方法。其次,分析了哈夫曼编码的特性:频率最低的两个字符码长相同,高频字符码长更短。在算法方面,指出常规构造时间复杂度为Θ(nlogn),但预排序情况下可优化至线性时间。此外,讨论了最大可能码长为n-1,并给出了不构建树结构生成编码的方法。最后,以猜牌游戏为例,展示了如何利用哈夫曼编码构建最优决策树,最小化平均提问次数至约3.09次。

2026-03-18 23:00:53 463

原创 算法设计与分析-习题9.3

本文摘要:文章系统探讨了Dijkstra算法在不同图论问题中的应用与调整。主要内容包括:1) 算法在不同场景(如单对、单终点最短路径)下的调整策略;2) 通过实例和反例说明算法特性;3) 证明算法在正权图上的正确性;4) 针对DAG设计线性算法;5) 将算法应用于最小总和问题;6) 用物理模型形象解释最短路径概念。特别指出:对于单对问题可提前终止算法,单终点问题需反转边方向;负权图需使用其他算法;最短路径树与最小生成树性质不同。

2026-03-18 21:41:48 360

原创 算法设计与分析-习题9.2

摘要:本文探讨了最小生成树相关算法与性质。主要内容包括:1)Kruskal算法的应用与正确性证明,指出最小权边必属于某棵MST但不一定属于所有MST;2)算法扩展:通过遍历所有边可求最小生成森林,处理负权边仍有效,取反边权可求最大生成树;3)不相交集合实现Kruskal算法的伪代码;4)按大小求并时find操作时间复杂度为O(logn)的证明;5)斯坦纳树问题,在单位正方形四个顶点间添加两个120°斯坦纳点可得到总长1+√3的最短连接网络。

2026-03-18 17:48:48 334

原创 算法设计与分析-习题9.1

本文摘要:文章讨论了多个经典问题的贪婪算法解决方案。针对找零问题给出了Θ(nm)时间效率的贪婪算法;指出分配问题中贪婪算法只能得到近似解;证明最短作业优先调度策略对总完成时间最优;分析三种区间调度策略,证实最早结束时间优先策略最优;揭示过桥问题中简单贪婪策略的不足;探讨均分问题、谣言传播和砝码问题的解法;详细讨论Prim算法在MST中的应用,包括处理负权边、无权图和唯一权重等情况;最后给出了修改最小堆元素的高效算法,时间复杂度为O(logn)。

2026-03-18 16:57:49 1213

原创 算法设计与分析-习题8.4

本文摘要: Warshall算法用于计算有向图传递闭包,时间复杂度为Θ(n³),基于邻接矩阵实现,不适合稀疏图。 算法可原地更新邻接矩阵,无需额外存储空间。通过剪枝优化(跳过已确定路径)可提升部分输入的性能。 位串表示时,算法可通过位或运算优化,将三层循环简化为两层。 虽然可用Warshall算法检测有向图是否有环或无向图连通性,但效率不如DFS/BFS或并查集(O(n+e) vs O(n³))。 Floyd算法扩展应用:可记录前驱矩阵重构最短路径;但对含负权环的图失效。 挑棍游戏连通性问题可通过建立邻接矩

2026-03-18 15:19:25 373

原创 算法设计与分析-习题8.3

本文摘要:本文系统探讨了最优二叉查找树问题的算法设计与分析。首先介绍了动态规划算法的时间复杂度为O(n³)和空间复杂度为O(n²)的原因,并给出了线性时间构造最优树的伪代码。其次讨论了概率均等情况下构造完全平衡树的方法,证明了不同二叉查找树数量满足卡塔兰数递推关系。然后提出处理不成功查找的扩展算法和记忆功能法的实现。最后将问题扩展到矩阵连乘,给出乘法次数相差1000倍的实例,并设计了矩阵连乘的动态规划算法。全文通过理论分析和算法设计,深入研究了最优二叉查找树及相关问题的解决方案。

2026-03-18 01:14:38 397

原创 算法设计与分析-习题8.2

本文摘要:本文系统探讨了背包问题的动态规划解法。首先通过实例演示了自底向上动态规划算法的求解过程,并分析了最优子集的判定方法。其次给出了完整的伪代码实现,包括最优解的构造方法。理论分析表明该算法时间效率为Θ(nW),空间效率为Θ(nW)。文章还讨论了动态规划表的单调性特征,并针对物品数量不限的情况设计了改进算法。通过记忆功能方法与自底向上方法的对比,证明二者时间效率相同。最后指出记忆功能方法在计算二项式系数时存在效率问题,因其会产生大量冗余计算。

2026-03-17 23:45:36 772

原创 算法设计与分析-习题8.1

本文探讨了动态规划算法的多个应用场景。首先比较了动态规划与分治法的异同,指出两者都采用分治思想但动态规划解决重叠子问题。随后详细分析了币值最大化、找零问题、硬币收集等经典问题的动态规划解法,给出了递推公式和时间复杂度。接着讨论了切割木棍、最短路径、最小三角形路径等优化问题的动态规划实现。此外还介绍了二项式系数计算、DAG最长路径、最大全0子矩阵等特殊场景的应用。最后通过世界大赛胜率问题展示了概率场景下的动态规划建模。全文系统地展示了动态规划在不同领域的应用方法,时间复杂度多为多项式级别,体现了该算法解决复杂

2026-03-17 20:42:12 186

原创 算法设计与分析-习题6.6

本文摘要:本文探讨了多个算法与数学问题:1) 证明了计算最小公倍数(lcm)的等式,并分析了其时间复杂度;2) 提出利用最大堆算法构造最小堆的方法;3) 证明了邻接矩阵幂次与路径数的关系;4) 设计了检测三角形回路的优化算法;5) 给出了判断点集是否位于三角形内的凸包算法;6) 解决了整数分解使乘积最大的问题;7) 将分配问题表述为0-1线性规划;9) 通过图转换将边着色问题转化为顶点着色;10) 利用中位数求解邮局位置问题;11) 分析了"吃醋丈夫"谜题在不同规模下的解法;12) 确定

2026-03-17 17:57:53 384

原创 算法设计与分析-习题6.5

本文摘要:文章探讨了多项式计算的多种算法及其效率比较。重点分析了霍纳法则与蛮力算法的乘法、加法次数差异,指出霍纳法则在时间效率上的优势(约快1.5-2倍)且不牺牲空间效率。同时介绍了二进制转换、多项式除法(长除法与综合除法)以及二进制幂算法(左到右和右到左两种实现)的应用。最后讨论了不同多项式表示法(系数vs因式)在求值、加减乘运算中的适用性:系数表示更适合求值和加法,而因式表示更便于乘法运算。

2026-03-17 16:44:08 410

原创 算法设计与分析-习题6.4

本文系统研究了堆数据结构及其相关算法。首先详细演示了自底向上和自顶向下两种建堆方法,指出相同输入可能产生不同堆结构。提出了验证堆性质的算法,时间复杂度为O(n)。分析了堆的高度与节点数的对数关系,并证明了相关数学等式。探讨了堆中的最小元素查找和删除算法,以及优先队列在不同实现下的时间复杂度。通过实例展示了堆排序过程,指出其不稳定性和采用的变治技术。最后介绍了面条排序这一形象类比,阐释其与堆排序思想的相似性。研究涵盖了堆的理论性质、算法实现及实际应用等多个方面。

2026-03-17 14:15:56 701

原创 算法设计与分析-习题6.3

本文探讨了AVL树和2-3树的相关算法与实现。主要内容包括:1)AVL树的构造、旋转操作和插入算法,提供了计算值域的Θ(logn)算法;2)2-3树的构建过程和查找分析,证明其比较次数不一定优于二叉查找树;3)两种树的C语言实现代码,包含插入、旋转和遍历操作。文章通过具体示例和算法分析,比较了两种平衡树结构的特性与性能差异,为数据结构的选择提供了参考依据。

2026-03-17 11:43:28 387

原创 算法设计与分析-习题6.2

本文系统探讨了线性方程组的求解方法及其应用。首先详细介绍了高斯消去法的求解步骤,包括增广矩阵变换、回代过程,并分析了其Θ(n³)的时间复杂度。接着讨论了LU分解法及其变治法归类,以及逆矩阵求解方法。通过二元方程组实例对比了唯一解、无解和无穷多解的情况。文章还比较了高斯-若尔当消去法和高斯消去法的差异,指出前者虽效率同为Θ(n³)但常数更大。针对克拉默法则,分析其Θ(n⁴)的时间复杂度远高于高斯消去法。最后以关灯游戏为例,展示了如何建立模2线性方程组并用高斯消去法求解。全文通过具体实例和复杂度分析,全面比较了

2026-03-17 01:24:10 391

原创 算法设计与分析-习题6.1

本文摘要:本文探讨了多个算法问题及其高效解法。1. 最接近数对问题:通过预排序(Θ(nlogn))优于蛮力法(Θ(n²));2. 集合交集问题:预排序双指针法(Θ(nlogn+mlogm))优于蛮力法(Θ(nm));3. 最大/最小元素问题:分治法(Θ(n))最优;4. 预排序临界值分析:10³和10⁶规模数组分别需20和40次查找;5. 实际问题解法:如账单匹配(Θ(mlogm))和州学生统计(Θ(n));6. 简单多边形构造(Θ(nlogn));7. 两数和问题(Θ(nlogn));8. 最大区间重叠(

2026-03-17 00:05:09 763

原创 算法设计与分析-习题5.5

1.a.为最近对问题的一维版本(即求一个给定的n整数集合中最接近的两个数)设计一个直接基于分治技术的算法,并确定它的效率类型。db.对于这个问题来说,它是一个好算法吗?一维最近对问题有分治在这里没有带来任何优势,反而更复杂,所以不是好算法。2.证明在使用分治算法来求解最近点对问题时,对于每个垂直带中的点 p(参见图5.7(a)和图5.7(b)),与点p的距离小于dmin的点不超过7个, dmin是截至目前该算法已知的两点间最短距离。对于dmin是截至目前该算法已知的两点间最短距离,

2026-03-16 22:49:04 372

原创 算法设计与分析-习题5.4

本文摘要:文章探讨了分治算法在数字乘法和矩阵乘法中的应用。对于n位十进制数乘法,分析了积的最小(2n-1位)和最大(2n位)位数,并通过分治算法计算2101×1130。在矩阵乘法中,比较了Strassen算法(Θ(n^2.81))和Pan算法(基于70阶矩阵143640次乘法运算,效率更高)。同时讨论了乘法次数M(n)的计算方法、加法次数递推关系求解,以及算法中的隐含假设。验证了Strassen算法2×2矩阵公式的正确性,并分析了笔算乘法中一位数加法的次数(n-1)^2次。

2026-03-16 16:29:26 429

原创 算法设计与分析-习题5.3

本文摘要:文章探讨了二叉树相关算法与证明。首先提出了计算二叉树层数的分治算法(时间复杂度Θ(n)),并修正了叶子计数算法的错误。介绍了非递归的层次遍历求树高方法,以及用数学归纳法证明扩展二叉树性质x=n+1。给出了三种遍历方式的示例,分析了中序遍历二叉查找树的有序性,并设计了根据中序和后序序列重构二叉树的算法。通过归纳法证明了外部路径长度E=I+2n的关系,提供了计算内部路径长度的C程序。最后,将巧克力分解问题建模为二叉树,推导出最少掰次数为n×m−1。全文系统性地讨论了二叉树的理论基础、算法实现和实际应用

2026-03-16 15:15:10 521

原创 算法设计与分析-习题5.2

摘要:本文围绕快速排序算法展开讨论,分析了其划分过程、稳定性、限位器设置等问题,证明了指针停止时的位置关系。通过实例说明快速排序在处理有序数组时的性能差异,比较了其与插入排序的效率。针对荷兰国旗问题和螺钉螺母匹配问题,提出了基于快速排序思想的高效解决方案,并给出了快速排序的C语言实现代码。全文深入探讨了快速排序的算法特性及应用场景,涵盖了时间复杂度分析、边界条件处理等关键问题。

2026-03-16 13:45:23 411

原创 算法设计与分析-习题5.1

本文探讨了多个分治算法的设计与分析。首先给出了求数组最大值位置的分治算法,其比较次数与蛮力法相同但空间更高。接着提出了同时查找最大最小值的分治算法,相比蛮力法比较次数更优。在计算指数函数时,分治算法(Θ(logn))显著优于蛮力法(Θ(n))。文章还分析了归并排序的稳定性、比较次数和倒置数计算,并实现了自底向上版本。最后介绍了Tromino棋盘覆盖问题的分治解法,通过递归分解将时间复杂度控制在O(4ⁿ)。这些案例展示了分治法在不同问题中的应用及其效率优势。

2026-03-16 01:27:56 475

原创 算法设计与分析-习题4.5

摘要:本文探讨了多个算法问题及其解决方案。欧几里得算法计算最大公约数时实例规模至少减少n-1;快速选择算法用于查找中位数;非递归快速选择算法通过迭代实现;插值查找在最坏情况下效率为线性;二叉查找树中查找最大键和删除键的算法属于减可变规模;构造欧拉回路的算法也属于减可变规模;另类单堆拈游戏和坏巧克力游戏的必胜策略;翻薄饼问题的解法每次使问题规模减1;在有序矩阵中搜索数字的线性算法通过右上角逐步排除行列实现。

2026-03-15 23:22:42 369

原创 算法设计与分析-习题4.4

本文摘要探讨了多个算法问题及其解决方案。关于木棍切割问题,给出了单次和多根切割的最小次数公式(n-1和⌈log₂n⌉)。设计了计算⌊log₂n⌋的减半算法(Θ(logn)效率)。折半查找的分析包括最大比较次数(⌈log₂(n+1)⌉)、平均比较次数及其与顺序查找的对比(快约25000倍)。比较了数组和链表实现折半查找的效率差异。设计了两路比较的折半查找算法(O(logn)效率)。提出了通过6次提问确定42张图片中目标的高效方法。分析三重查找(减治思想,效率略低于折半查找)。设计了二分查找缺失整数的算法。讨论

2026-03-15 19:34:46 464

原创 算法设计与分析-习题4.3

摘要:本文探讨了排列与子集生成算法的实现与效率问题。研究表明,生成25个元素的全排列(25!≈1.5×10²⁵)在现实中不可行,而生成其所有子集(2²⁵≈3.3×10⁷)仅需约0.3秒。详细分析了多种排列生成算法(最小变化、Johnson-Trotter、字典序、Heap算法等)的工作原理、正确性证明和时间效率(均为O(n!))。对于子集生成,比较了自底向上和二进制表示两种方法,并介绍了使用格雷码实现挤压序的技巧。文章还探讨了格雷码与汉诺塔问题的关联性,最后给出了展会彩灯问题的最优解法(按格雷码顺序切换开关

2026-03-15 17:19:44 405

原创 算法与设计与分析-习题4.2

摘要:本文探讨了有向图的拓扑排序和强连通分量问题。对于拓扑排序,证明了其存在性等价于有向图无环,并分析了DFS和源删除算法的实现与效率。在强连通分量方面,介绍了基于DFS的算法,指出其时间效率在邻接矩阵和邻接表表示下的差异。实验表明,源删除算法比DFS更快。此外,还证明了无环有向图必存在源点,并讨论了不同表示方法对算法效率的影响。最后指出无环有向图的强连通分量数等于顶点数。

2026-03-15 15:36:43 458

原创 算法与设计与分析-习题4.1

本文摘要:本文探讨了多个算法问题及解决方案。主要内容包括:1)士兵渡河问题,通过男孩与士兵交替划船实现,共需4n次横渡;2)玻璃杯交替排列问题,通过交换偶数位置满杯与后半部分空杯实现最少交换;3)标记单元格算法,通过"阶梯形"排列确保每个标记单元格有奇数个相邻标记;4)幂集生成算法,采用减一策略递归生成子集;5)图连通性检测算法,指出其存在的缺陷;6)队伍排序问题,采用类似插入排序的方法实现O(n²)效率;7)插入排序及其优化(限位器);8)链表插入排序实现;9)倒置数分析及其与插入排序

2026-03-15 14:28:07 423

原创 算法分析与设计-习题3.5

摘要:本文探讨了图的遍历算法及其应用。首先分析了邻接矩阵和邻接链表在不同图结构中的效率差异,指出稀疏图更适合使用邻接链表实现DFS。其次,详细比较了DFS和BFS在无环检测、连通分量查找等方面的特性,并证明了BFS树交叉边的性质。接着提出了基于DFS和BFS的二分图判定算法,并给出了检查图连通性和环的C语言实现。最后,通过三壶问题展示了BFS在状态空间搜索中的应用,提供了完整的算法实现。文章还讨论了迷宫问题中的遍历策略选择,认为DFS更符合实际行走模式。

2026-03-15 12:21:44 408

原创 算法设计与分析-习题3.4

本文摘要:文章探讨了多个算法问题及其穷举解法。首先分析了旅行商问题的穷举算法效率(Θ(n!))及在不同时间限制下可处理的城市数量。随后概述了哈密顿回路和欧拉回路的判定算法,并给出了分配问题最优解不包含最小元素的例子。针对划分问题,提出优化穷举算法以减少子集数量。还设计了完备子图问题的穷举解法,并解释了排序问题的穷举方法(Θ((n+1)!))。此外,讨论了八皇后问题和幻方问题,包括幻方构造算法。最后给出字母算术谜题的穷举解法程序,并解析了著名的SEND+MORE=MONEY谜题。

2026-03-14 19:20:51 304

原创 算法设计与分析-习题3.3

本文摘要:文章探讨了多个算法与几何问题。在最近点对问题中,通过优化平方根运算可提升算法速度2.4-3倍;对于一维点集,排序后比较相邻点可将效率提升至Θ(nlogn);邮局选址问题中,中位数位置使平均距离最小,中点附近村庄使最大距离最小。曼哈顿距离和汉明距离均满足距离公理,但最近点对问题的解依赖于距离度量标准。奇数派游戏中,当n为奇数时至少一人不会被击中。对于凸包问题,线性算法可找到最左最右极点,共线情况需特殊处理。线性规划问题的最优解出现在可行域的极点处,通过计算目标函数值可确定最大值。

2026-03-14 14:33:53 406

原创 算法设计与分析-习题3.2

本文摘要: 限位器版顺序查找算法在最差情况下比较n+1次,平均情况下比较次数与成功概率p相关。 顺序查找算法效率分析显示,Cavg(n)在p=0时最大,p=1时最小。 仪器测试问题的最优算法时间复杂度为θ(√n),采用分段测试策略。 蛮力字符串匹配算法在47字符文本中查找"GANDHI"需要42次比较。 在1000个0的文本中查找不同模式时,比较次数分别为:a)4980次,b)996次,c)1992次。 最差输入情况下,蛮力字符串匹配需要m×(n−m+1)次比较。 从右向左比较字符在平均

2026-03-14 13:33:49 386

基于计算机视觉的字体识别demo

作为智能书法台项目的前置技术代码

2025-03-02

企业员工管理系统(Springboot+Vue)

JAVA框架程序设计实训项目--企业员工系统 前端使用Vue和Echarts 后端使用 Mybatis Springboot Shiro …… 工具: IEDA

2025-03-02

计算机挑战赛2021程序设计赛C++

计算机挑战赛2021程序设计赛C++

2024-11-16

计算机挑战赛2020程序设计赛c++

计算机挑战赛2020程序设计赛c++

2024-11-16

2022计算机挑战赛程序设计赛c++真题

2022计算机挑战赛程序设计赛c++真题

2024-11-16

空空如也

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

TA关注的人

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