思想(升序): 1.比较两个相邻数据之间的大小,保证大的值在后面,最后,经过一次排序后会选出本次数组中的最大值,放在最后一位; 2.在排除上一次的最大值数组中,再选出一位最大值放在最后一位; 3.直到排除(选出)数组长度-1个最大值后,排序完成; 比如:数组为{10 ,34 ,300 ,56 ,6, ...
分类:
编程语言 时间:
2018-04-30 13:35:46
阅读次数:
192
"转载请注明出处,谢谢!" 冒泡排序算法思想: 自下而上(或上而下)扫描记录序列,相邻的两条记录 与`Ri-1 Ri+1`)如果是逆序,则交换位置。 交换排序 冒泡排序 快速排序 算法说明 一个名声不太好的算法 排序是稳定的 ArrayList实现: java import java.util.Ar ...
分类:
编程语言 时间:
2018-04-22 19:59:25
阅读次数:
189
本周我读的书是美国Jon Bentley编写的《编程珠玑(第二版)》。说实话,这本书里面所提出的问题,大都需要我去细细思考,仔细揣摩,有时候作者轻描淡写的几句话,我也要思考一段时间来体会其中的算法思想,一星期读完只能说是囫囵吞枣吧,而且再加上有软工结对编程的压力,所以以后还是要细细研读的。这本书使我 ...
分类:
其他好文 时间:
2018-04-16 13:08:14
阅读次数:
162
Dijkstra(迪杰斯特拉)算法是典型的最短路径路由算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra算法能得出最短路径的最优解,但由于它遍历计算的节点很多,所以效率低。 一、算法思想 令G = (V,E)为一个带权有向网,把 ...
分类:
编程语言 时间:
2018-04-15 13:38:14
阅读次数:
169
一丶基本概念 1.算法设计的任务:对一个具体的问题,设计一种良好的算法,获取最佳的结果. 2.什么是算法:通俗说是一种最优解, 3.程序=数据结构+算法+程序设计语言 二丶基础算法 1.枚举(穷举)算法思想 特点:1.依赖于计算机强大的运算能力来穷尽每一个可能的情况,从而达到解决问题的目的. 2.该 ...
分类:
编程语言 时间:
2018-04-10 17:47:51
阅读次数:
150
我觉得我的算法比较简单易懂,比网上的那些简单些。至于时间复杂度就没有比较了。 算法思想:从最外层向内层遍历矩阵 ...
分类:
编程语言 时间:
2018-04-09 18:53:09
阅读次数:
143
1.算法思想: 定义一个n阶方阵序列:A(-1) A(0) A(1) A(2) ....... A(n-1) A(-1) [i][j]表示顶点Vi到顶点Vj的直接边的长度,A(-1) 就是邻接矩阵Edge[n][n] A(0) [i][j]表示顶点Vi到顶点Vj,中间顶点(如果有,则)是V0的最短路 ...
分类:
编程语言 时间:
2018-04-07 01:07:57
阅读次数:
185
1.算法思想 Bellman-Ford算法时间复杂度比较高,在于Bellman-Ford需要递推n次,每次递推需要扫描所有的边,在递推n次的过程中,很多判断是多余的,所以考虑用队列优化,减少不必要的判断,这种算法称为SPFA(Shortest Path Faster Algorithm) SPFA算 ...
分类:
编程语言 时间:
2018-04-06 23:47:18
阅读次数:
228
利用隐含变量最佳类别(EM算法思想)实现将数据更加准确地聚类 ...
分类:
编程语言 时间:
2018-04-06 20:21:26
阅读次数:
191
链表的简单介绍 为什么需要线性链表 当然是为了克服顺序表的缺点,在顺序表中,做插入和删除操作时,需要大量的移动元素,导致效率下降。 线性链表的分类 按照链接方式: 按照实现角度: 线性链表的创建和简单遍历 算法思想 创建一个链表,并对链表的数据进行简单的遍历输出。 算法实现 运行演示 算法小结 这只 ...
分类:
编程语言 时间:
2018-04-06 16:02:13
阅读次数:
349