算法
南山牧笛
只有站在高处,才会看见更美丽的风景
展开
-
插入排序
经典排序算法 – 插入Insertion sort 排序插入排序就是每一步都将一个待排数据按其大小插入到已经排序的数据中的适当位置,直到全部插入完毕。 插入排序方法分直接插入排序和折半插入排序两种,这里只介绍直接插入排序,折半插入排序留到“查找”内容中进行。 图1演示了对4个元素进行直接插入排序的过程,共需要(a),(b),(c)三次插入。以下代码仅供参考,欢迎指转载 2015-08-13 14:38:23 · 326 阅读 · 0 评论 -
深度学习和拓扑数据分析的六大惊人之举
摘要:将深度学习与拓扑数据分析相结合,把数据都放到一张图里,可以像观察地图一样观察数据,进而来发现事物的本质。假如你有一个一千列和一百万行的数据集。无论你从哪个角度看它——小型,中型或大型的数据——你不可能看到它的全貌。将它放大或缩小。使它能够在一个屏幕里显示完全。由于人的本质,如果能够看到事物的全局的话,我们就会有更好的理解。有没有办法把数据都放到一张图里,让你可以像观察地图一样观察转载 2016-01-28 19:11:40 · 2768 阅读 · 0 评论 -
PageRank算法
1. PageRank算法概述 PageRank,即网页排名,又称网页级别、Google左侧排名或佩奇排名。 是Google创始人拉里·佩奇和谢尔盖·布林于1997年构建早期的搜索系统原型时提出的链接分析算法,自从Google在商业上获得空前的成功后,该算法也成为其他搜索引擎和学术界十分关注的计算模型。目前很多重要的链接分析算法都是在PageRank算转载 2015-08-20 17:25:56 · 462 阅读 · 0 评论 -
拉格朗日乘子法和KKT条件
拉格朗日乘子法无疑是最优化理论中最重要的一个方法。但是现在网上并没有很好的完整介绍整个方法的文章。我这里尝试详细介绍一下这方面的有关问题,插入自己的一些理解,希望能够对大家有帮助。本文分为两个部分:第一部分是数学上的定义以及公式上的推导;第二部分主要是一些常用方法的直观解释。初学者可以先看第二部分,但是第二部分会用到第一部分中的一些结论。请读者自行选择。拉格朗日乘子法的数学基础 共转载 2015-08-27 12:22:48 · 3309 阅读 · 0 评论 -
最速下降法/steepest descent,牛顿法/newton,共轭方向法/conjugate direction,共轭梯度法/conjugate gradient 及其他
转载须注明出处:http://www.codelast.com/ 在最优化的领域中,这“法”那“法”无穷多,而且还“长得像”——名字相似的多,有时让人觉得很迷惑。在自变量为一维的情况下,也就是自变量可以视为一个标量,此时,一个实数就可以代表它了,这个时候,如果要改变自变量的值,则其要么减小,要么增加,也就是“非左即右“,所以,说到“自变量在某个方向上移动”这个概念的时候,它转载 2015-08-27 12:26:13 · 934 阅读 · 0 评论 -
PageRank
PageRank对网页排名的算法,曾是Google发家致富的法宝。以前虽然有实验过,但理解还是不透彻,这几天又看了一下,这里总结一下PageRank算法的基本原理。一、什么是pagerank PageRank的Page可是认为是网页,表示网页排名,也可以认为是Larry Page(google 产品经理),因为他是这个算法的发明者之一,还是google CEO(^_^)。PageRank转载 2015-08-20 17:34:18 · 589 阅读 · 0 评论 -
二叉树前序、中序、后序遍历相互求法
今天来总结下二叉树前序、中序、后序遍历相互求法,即如果知道两个的遍历,如何求第三种遍历方法,比较笨的方法是画出来二叉树,然后根据各种遍历不同的特性来求,也可以编程求出,下面我们分别说明。首先,我们看看前序、中序、后序遍历的特性: 前序遍历: 1.访问根节点 2.前序遍历左子树 3.前序遍历右子树 中序遍历: 1.中序遍历左子树转载 2015-08-13 14:07:30 · 304 阅读 · 0 评论 -
C++实现快速排序(源代码)
快速排序的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。快速排序是一种不稳定的排序算法,也就是说,多个相同的值的相对位置也许会在算法结束时产生变动快速排序是C.R.A.Hoare于1962年提出的一种划分交换排序。它采转载 2015-08-13 13:54:05 · 438 阅读 · 0 评论 -
各种距离度量
在做分类时常常需要估算不同样本之间的相似性度量(SimilarityMeasurement),这时通常采用的方法就是计算样本间的“距离”(Distance)。采用什么样的方法计算距离是很讲究,甚至关系到分类的正确与否。 本文的目的就是对常用的相似性度量作一个总结。本文目录:1.欧氏距离2.曼哈顿距离3. 切比雪夫距离4. 闵可夫斯基距离转载 2015-08-27 12:28:50 · 1757 阅读 · 0 评论 -
奇异值分解(SVD) --- 线性变换几何意义
作者:余露来源:http://blog.sciencenet.cn/blog-696950-699380.html PS:一直以来对SVD分解似懂非懂,此文为译文,原文以细致的分析+大量的可视化图形演示了SVD的几何意义。能在有限的篇幅把这个问题讲解的如此清晰,实属不易。原文举了一个简单的图像处理问题,简单形象,真心希望路过的各路朋友能从不同的角度阐述下自己对SVD实际意义的理解,转载 2016-11-27 14:51:24 · 545 阅读 · 0 评论