算法研究--排序
文章平均质量分 78
lijieshare
这个作者很懒,什么都没留下…
展开
-
计算机科学中最重要的32个算法
计算机科学中最重要的32个算法A* 搜索算法——图形搜索算法,从给定起点到给定终点计算出路径。其中使用了一种启发式的估算,为每个节点估算通过该节点的最佳路径,并以之为各个地点排定次序。算法以得到的次序访问这些节点。因此,A*搜索算法是最佳优先搜索的范例。集束搜索(又名定向搜索,Beam Search)——最佳优先搜索算法的优化。使用启发式函数评估它检查的每个节点的能力。不过,集束搜索只...2016-07-14 21:32:03 · 101 阅读 · 0 评论 -
【冒泡排序算法研究】
现有如下六人,身高如下://张三(161) 、李四(168) 、 王二麻子(155) 、 赵六(180) 、孙七(144) 、司马相如(200)//现要求把这六个人身高排序(从高到矮降序,或者从矮到高升序) //冒泡排序核心思想:先揪出第一个人张三 让他跟其余的人比较,得出司马相如最高,交换张三、司马位置//司马相如(200) 李四(168) 王二麻子(155) ...2016-03-18 21:54:16 · 101 阅读 · 0 评论 -
冒泡排序--预备知识[【两个数字交换】
1) 算术运算// a=10;b=12;// a=b-a; //a=2;b=12// b=b-a; //a=2;b=10// a=b+a; //a=10;b=10// 它的原理是:把a、b看做数轴上的点,围绕两点间的距离来进行计算。// 具体过程:// 第一句“a=b-a”求出ab两点的距离,并且将其保存在a中;// 第二句“b=b-a”求出a到原点的距离(b到...2016-03-18 21:15:31 · 98 阅读 · 0 评论 -
【CAN算法介绍】
一、CAN介绍The Content Addressable Network (CAN) is a distributed, decentralized P2P infrastructure that provides hash table functionality on an Internet-like scale. CAN was one of the original four di...2017-05-19 22:23:00 · 1374 阅读 · 0 评论 -
【Chord算法介绍】
Chrod算法是P2P中的四大算法之中的一个,是有MIT(麻省理工学院)于2001年提出,其它三大算法各自是:CAN,Pastry,Tapestry 1、Chord是什么?Chord是一个算法,也是一个协议。作为一个算法,Chord能够从数学的角度严格证明其正确性和收敛性;作为一个协议,Chord具体定义了每一个环节的消息类型。当然,Chord之所以受追捧,另一个主要原因就是Cho...2017-05-19 22:21:25 · 426 阅读 · 0 评论 -
【红黑树介绍】
红黑树是每个节点都带有颜色属性的二叉查找树,颜色或红色或黑色。在二叉查找树强制一般要求以外,对于任何有效的红黑树我们增加了如下的额外要求:性质1. 节点是红色或黑色。性质2. 根节点是黑色。性质3 每个叶节点(NIL节点,空节点)是黑色的。性质4 每个红色节点的两个子节点都是黑色。(从每个叶子到根的所有路径上不能有两个连续的红色节点)性质5. 从任一节点到其每个叶子的所有路...2017-05-10 23:04:53 · 134 阅读 · 0 评论 -
【排序算法之选择排序】
默认的排序都是升序队列,但是也有降序队列,看君需要选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。 选择排序是不稳定的排序方法(比如序列[5, 5, 3]第一次就将第一个[5]与[3]交换,导致第一个5挪动到第二个5后面)。 选择排序的思想非常直...2016-10-27 22:37:26 · 101 阅读 · 0 评论 -
辗转相除法
辗转相除法, 又名欧几里德算法(Euclidean algorithm)乃求两个正整数之最大公因子的算法。它是已知最古老的算法, 其可追溯至3000年前。 设两数为a、b(a>b),求a和b最大公约数(a,b)的步骤如下:用a除以b,得a÷b=q......r1(0≤r1)。若r1=0,则(a,b)=b;若r1≠0,则再用b除以r1,得b÷r1=q......r2 (0≤r2).若...2016-07-15 23:02:43 · 411 阅读 · 0 评论 -
迪杰斯特拉算法
迪杰斯特拉算法简介迪杰斯特拉算法是由荷兰计算机科学家狄克斯特拉于1959 年提出的,因此又叫狄克斯特拉算法。是从一个顶点到其余各顶点的最短路径算法,解决的是有向图中最短路径问题。迪杰斯特拉算法主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。 迪杰斯特拉算法原理 1.首先,引入一个辅助向量D,它的每个分量 D 表示当前所找到的Dijkstra算法运行动画过...2016-07-14 21:53:50 · 1000 阅读 · 0 评论 -
排序算法之直接插入排序
public static void insertSort(int[] array) {// 第0位独自作为有序数列,从第1位开始向后遍历for (int i = 1; i < array.length; i++) {// 0~i-1位为有序,若第i位小于i-1位,继续寻位并插入,否则认为0~i位也是有序的,// 忽略此次循环,相当于continueif (array[...2016-03-20 21:24:57 · 145 阅读 · 0 评论