动态规划--钢条切割问题 2024-05-14 算法, 动态规划, 代理模式 92人 已看 动态规划算法通常基于一个递推公式及一个或多个初始状态。当前子问题的解将由上一次子问题的解推出。动态规划和分治法相似,都是通过组合子问题的解来求解原问题。分治法讲问题划分成互不相交的子问题,递归求解子问题,再将他们的解组合起来,求出原问题的解。与之相反,动态规划应用于子问题重叠的情况,即不同的子问题具有公共的子子问题。在这种情况下,分治算法会做出许多不必要的工作,它会反复的求解那些公共子问题。而动态规划算法对每个子子问题只求解一次,将结果保存到表格中,从而无需每次求解一个子子问题都要重新计算。
4. C++入门:内联函数、auto关键字、范围for及nullptr 2024-05-22 算法, java, 前端, 数据结构, javascript 77人 已看 return 0;内联函数不能声明和定义分离如果分离在两个文件,会报错,发生链接错误在编译的时候,发现函数和参数能匹配上,先过f(5);func();return 0;调f不可以,调func可以不可以直接调,可以间接调调用f的时候需要找f的地址,因为编译的时候只有声明链接的时候没有找到内联函数的地址因为内联函数不会生成地址,或者生成的地址不会生成符号表。
数据不平衡:使用其他机器学习方案,修改算法 2024-05-14 算法, 机器学习, 人工智能 50人 已看 神经网络在面对不均衡数据时,是束手无策的。有些机器学习方法,像决策树就不会受到不均衡数据的影响。
Unity算法(一)——快速排序算法 2024-05-21 unity, 算法, java, 数据结构, 排序算法 92人 已看 算法是程序员的基础能力之一,资质越老的程序员在这方面理解会越深,很多时候项目在某个需要优化、提升的节点时,往往一些算法的使用就可以大大提升程序性能。当然,对于不同项目需求,要用适合的算法,在效率与业务之间寻找平衡。此为第一章,快排算法。
Day22:Leetcode:654.最大二叉树 + 617.合并二叉树 + 700.二叉搜索树中的搜索 + 98.验证二叉搜索树 2024-05-20 算法, leetcode, 职场和发展 73人 已看 如果两个二叉树的对应节点都不为空,则合并后的二叉树的对应节点的值为两个二叉树的对应节点的值之和,此时需要显性合并两个节点。可以使用递归深度优先搜索合并两个二叉树。从根节点开始同时遍历两个二叉树,并将对应的节点进行合并。如果两个二叉树的对应节点只有一个为空,则合并后的二叉树的对应节点为其中的非空节点;两个二叉树的对应节点可能存在以下三种情况,对于每种情况使用不同的合并方式。如果两个二叉树的对应节点都为空,则合并后的二叉树的对应节点也为空;为什么递归实现,c++和java的逻辑不一样。
如何实现一个高效的排序算法? 2024-05-21 算法, java, 排序算法, 开发语言 37人 已看 快速排序时间复杂度为O(nlogn),空间复杂度为O(logn),适用于大规模数据排序。例如,对于小规模的数据可以选择插入排序或选择排序,而对于大规模数据可以选择归并排序或快速排序。5.使用适当的数据结构:对于某些特殊类型的数据,选择合适的数据结构可以提高排序效率。例如,对于链表结构可以选择归并排序,而对于数组结构可以选择快速排序。例如,归并排序和插入排序是稳定的,而快速排序是不稳定的。综上所述,实现一个高效的排序算法需要根据具体需求选择合适的算法,并根据实际情况进行优化和改进。
机器学习(五) -- 监督学习(4) -- 集成学习方法-随机森林 2024-05-21 算法, 集成学习, 机器学习, 随机森林, 人工智能 228人 已看 tips:标题前有“***”的内容为补充内容,是给好奇心重的宝宝看的,可自行跳过。文章内容被“文章内容”删除线标记的,也可以自行跳过。!!”一般需要特别注意或者容易出错的地方。本系列文章是作者边学习边总结的,内容有不对的地方还请多多指正,同时本系列文章会不断完善,每篇文章不定时会有修改。由于作者时间不算富裕,有些内容的《算法实现》部分暂未完善,以后有时间再来补充。见谅!文中为方便理解,会将接口在用到的时候才导入,实际中应在文件开始统一导入。
栈(从数据结构的三要素出发) 2024-05-21 算法, 数据结构 79人 已看 本文介绍了栈的基本概念及其物理和逻辑结构,包括顺序栈、链栈和共享栈的定义与操作。提供了详细的代码示例,如初始化、判断栈空和栈满、入栈、出栈及读取栈顶元素等操作。还探讨了栈在括号匹配、表达式求值和递归调用中的应用。
七大排序算法 2024-05-21 算法, java, 排序算法, 数据结构, 开发语言 85人 已看 交换排序:1、冒泡排序;2、快速排序选择排序:3、选择排序;4、堆排序插入排序:5、直接插入排序;6、希尔排序归并排序:7、归并排序。
机器学习之支持向量机SVM 2024-05-21 算法, 支持向量机, 机器学习, 人工智能, 数据挖掘 86人 已看 gamama:值越大,高斯分布越窄(数据变化越剧烈,易过拟合),反之,值越小,高斯分布越宽(数据变化越平缓),易欠拟合,rbf是高斯核。若想找到具有最大间隔划分超平面,也就是要找到能满右足式中约束参数w和b,使得间隔γ最大。C值越大,间隔越小,落在间隔中的违例越少,反之,C值越小,间隔越大,违例越多。允许部分样本,在最大间隔之间,甚至在错误的一边,寻找最大间隔,即软间隔。将原始输入空间映射到新的特征空间,使得原本线性不可分样本在核空间可分。若样本线性可分,且所有样本分类正确情况下,寻找最大间隔,即硬间隔。
Rust一维Vec垂直方向拼接、水平方向拼接,多个二维Vec垂直方向拼接 2024-05-21 rust, 算法, 后端, 开发语言 57人 已看 Rust一维Vec垂直方向拼接、水平方向拼接,多个二维Vec垂直方向拼接
【SVG 生成系列论文(七)】如何生成 svg logo?IconShop: 通过自回归 Transformer 实现文本引导的矢量 Icon 生成 2024-05-21 算法, 人工智能 86人 已看 本文将进一步介绍技术细节:SVG 表示与 Token 化,以及掩码方案。论文名:IconShop: Text-Guided Vector Icon Synthesis with Autoregressive Transformers (Siggraph Asia 2023)文章提出的模型输入为文本,模型输出为单色的、相对简单的矢量图 icon。
[leetcode]判断是否丑数 2024-05-20 算法, leetcode, 职场和发展 37人 已看 输入: n = 10 输出: 12 解释: 1, 2, 3, 4, 5, 6, 8, 9, 10, 12 是前 10 个丑数。这个问题可以通过迭代来解决,我们可以从1开始,逐个判断每个数是否是丑数,并更新结果。给你一个整数 n ,找出并返回第 n 个 丑数。丑数是只包含质因子 2, 3, 5 的正整数。