随笔分类 - Algorithms
摘要:一、堆树的定义 堆树的定义如下: (1)堆树是一颗完全二叉树; (2)堆树中某个节点的值总是不大于或不小于其孩子节点的值; (3)堆树中每个节点的子树都是堆树。 当父节点的键值总是大于或等于任何一个子节点的键值时为最大堆。 当父节点的键值总是小于或等于任何一个子节点的键值时为最小堆。如下图所示,左边
阅读全文
摘要:https://juejin.im/post/5bb45756f265da0ab50390da
阅读全文
摘要:转自:https://www.cnblogs.com/byonecry/p/4458821.html 数据结构之链表 链表实现及常用操作(C++篇) 0.摘要 定义 插入节点(单向链表) 删除节点(单向链表) 反向遍历链表 找出中间节点 找出倒数第k个节点 翻转链表 判断两个链表是否相交,并返回相交
阅读全文
摘要:参照:https://blog.csdn.net/weiyuefei/article/details/79316653 本文在写作过程中参考了大量资料,不能一一列举,还请见谅。 回溯算法的定义:回溯算法也叫试探法,它是一种系统地搜索问题的解的方法。回溯算法的基本思想是:从一条路往前走,能进则进,不能
阅读全文
摘要: 回溯法有“通用解题法”之称。用它可以系统地搜索问题的所有解。回溯法是一个既带有系统性又带有跳跃性的搜索算法。 在包含问题的所有解的解空间树中,按照深度优先搜索的策略,从根结点出发深度探索解空间树。当探索到某一结点时,要先判断该结点是否
阅读全文
摘要:<! flowchart 箭头图标 勿删 引言 据说有人归纳了计算机的五大常用算法,它们是贪婪算法,动态规划算法,分治算法,回溯算法以及分支限界算法。虽然不知道为何要将这五个算法归为最常用的算法,但是毫无疑问,这五个算法是有很多应用场景的,最优化问题大多可以利用这些算法解决。算法的本质就是解决问题。
阅读全文
摘要:二叉树是一种非常重要的数据结构,很多其他数据机构都是基于二叉树的基础演变过来的。二叉树有前、中、后三种遍历方式,因为树的本身就是用递归定义的,因此采用递归的方法实现三种遍历,不仅代码简洁且容易理解,但其开销也比较大,而若采用非递归方法实现三种遍历,则要用栈来模拟实现(递归也是用栈实现的)。下面先简要
阅读全文
摘要:转自:https://blog.csdn.net/adusts/article/details/80882649 假设我们现在对“6 1 2 7 9 3 4 5 10&
阅读全文
摘要:转自:https://blog.csdn.net/wspba/article/details/60572886 支持向量机通俗导论(理解SVM的三层境界) 作者:July 。致谢:pluskid、白石、JerryLe
阅读全文
摘要:转自:https://www.cnblogs.com/fanmu/p/6082152.html 最小生成树 1.定义 2.kruskal 算法 3.Prim 算法 1.定义 G=(V,E)为连通无向图,V为结点的集合,E为结点的可能连接边 对每条边(u ,v)都赋予权重w(u ,v)
阅读全文