一、集中排序算法的比较 1.一般情况下几乎不太使用冒泡排序,它过于简单了,以至于可以毫不费力的写出来。然而当数据量很小的时候,它会有些应用的价值。 2.选择排序虽然把交换次数降到了最低,但比较的次数仍然很大,当数据量小的时候,并且交换数据相对于比较数据更加耗时的情况下,可以应用选择排序。 3.单大多 ...
分类:
编程语言 时间:
2017-05-12 20:30:18
阅读次数:
210
数据结构图的经常使用算法总结 本人在校期间写了一个win32应用程序,用于回想算法导论图的经常使用算法(图中边的权值为两个圆心的像素点的距离) 1.dijkstra算法求两点之间最短路径: 贪心算法用优先队列实现,每次选择距离起点路径和最短的顶点弹出队列,此顶点最短路径就已经确定 初始图例如以下 选 ...
分类:
编程语言 时间:
2017-05-06 10:18:23
阅读次数:
320
原文出处: 1. 白话经典算法系列之八 MoreWindows白话经典算法之七大排序总结篇 2. 面试常用算法总结——排序算法(java版) 3. 常见排序算法小结 本篇主要整理了冒泡排序,直接插入排序,直接选择排序,希尔排序,归并排序,快速排序,堆排序七种常见算法,是从上面三篇博文中摘抄整理的,非 ...
分类:
编程语言 时间:
2017-05-05 23:15:44
阅读次数:
215
stage划分算法总结最后一个RDD创建finalstagefinalstage倒推通过宽依赖,来进行新的stage划分使用递归,依次提交stage,从父stage开始源码org.apache.spark.scheduler包下stage划分算法由submitStage和getMissingParentStages方法组成第一步:使用触发job的最后一个RDD,创建fi..
分类:
编程语言 时间:
2017-05-05 23:05:37
阅读次数:
219
以下均采用从小到大排序: 1.选择排序算法 个人觉得选择排序算法是容易理解的排序算法,即从n个元素中选择最小的一个元素与第一个元素交换,再将除第一个元素之外的n-1个元素找到最小的一个放在第二个位置,以此类推。 如:1,1,2,3,0 第一次排序:[0],1,2,3,1 //0最小,与第一个元素交换 ...
分类:
编程语言 时间:
2017-05-04 21:52:30
阅读次数:
217
在协同过滤推荐算法总结中,我们讲到了用图模型做协同过滤的方法,包括SimRank系列算法和马尔科夫链系列算法。现在我们就对SimRank算法在推荐系统的应用做一个总结。 1. SimRank推荐算法的图论基础 SimRank是基于图论的,如果用于推荐算法,则它假设用户和物品在空间中形成了一张图。而这 ...
分类:
编程语言 时间:
2017-05-03 17:24:52
阅读次数:
227
所谓排序。就是使一串记录,依照当中的某个或某些keyword的大小。递增或递减的排列起来的操作。常见的排序算法有选择排序,插入排序,希尔排序,归并排序和高速排序 因为在排序的过程中不可避免的要涉及到比較和交换,所以将他们抽取为两个单独的函数,例如以下所看到的 //为了排序代码的通用性,这里假定待排序 ...
分类:
编程语言 时间:
2017-04-24 15:28:45
阅读次数:
227
1,冲突链表 冲突链表主要用于HashMap,HashTable中,内部采用数组保存链表,链表内部是单向链接,插入的时候会采用头部插入法, 插入的链表包裹数据都是无序的,由于容量的增加,会导致整个数据的重新HASH,所以,两次循环同一个HASH链表,可以得到不同的顺序。 内部实现难点是根据KEY的H ...
分类:
编程语言 时间:
2017-04-23 16:46:31
阅读次数:
133
Hash是什么,它的作用先举个例子。我们每个活在世上的人,为了能够参与各种社会活动,都需要一个用于识别自己的标志。也许你觉得名字或是身份证就足以代表你这个人,但是这种代表性非常脆弱,因为重名的人很多,...
分类:
编程语言 时间:
2017-04-20 10:57:14
阅读次数:
238
排序算法总结 常见排序算法有三种,现总结如下(都使用升序排序): (1)交换排序: 假设有一个数组nums,长度为5,要对它进行升序排序,交换排序总体思路是: 写成代码就应该是: for (int i = 0; i < 4; i++) { //在 i-4 范围内,将该范围内最小的数字提到i } 这是 ...
分类:
编程语言 时间:
2017-04-16 20:16:54
阅读次数:
229