算法
yidiudiu1011
程序猿成长记
展开
-
排序算法之冒泡排序
原理: 冒泡排序算法的运作如下:(从后往前) 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。 针对所有的元素重复以上的步骤,除了最后一个。 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。 代码: public stati原创 2015-12-09 18:11:43 · 345 阅读 · 0 评论 -
排序算法之快速排序
思想 快速排序采用的思想是分治思想。 快速排序是找出一个元素(以最左边的元素为准)作为基准(pivotValue),然后对数组进行分区操作,使基准左边元素的值都不大于基准值,基准右边的元素值都不小于基准值,如此作为基准的元素调整到排序后的正确位置。递归快速排序,将其他n-1个元素也调整到排序后的正确位置。最后每个元素都是在排序后的正确位置,排序完成。所以快速排序算法的核心算法是分区操作,即原创 2015-12-08 18:33:47 · 369 阅读 · 2 评论 -
排序算法之堆排序
堆排序就是在初始时把要排序的n个数的序列看作是一棵顺序存储的二叉树(一维数组存储二叉树),调整它们的存储序,使之成为一个堆,将堆顶元素输出,得到n个元素中最小(或最大)的元素,这时堆的根节点的数最小(或者最大)。然后对前面(n-1)个元素重新调整使之成为堆,输出堆顶元素,得到n个元素中次小(或次大)的元素。依此类推,直到只有两个节点的堆,并对它们作交换,最后得到有n个节点的有序序列。 实现堆排序原创 2015-12-09 17:43:57 · 384 阅读 · 0 评论