算法相关
北燕南飞1189
这个作者很懒,什么都没留下…
展开
-
堆排序(Java)
算法思想:堆是一种数据结构,最好的理解堆的方式就是把堆看成一棵完全二叉树,这个完全二叉树满足任何一个非叶节点的值,都不大于(或不小于)其左右孩子节点的值。若父亲大孩子小,则这样的堆叫做大顶堆;若父亲小孩子大,这样的堆叫做小顶堆。根据堆的定义,其根节点的值是最大(或最小),因此将一个无序序列调整为一个堆,就可以找出这个序列的最大(或最小)值,然后将找出的这个值交换到序列的最后(或最前),这样有序序列原创 2017-03-21 13:58:40 · 404 阅读 · 0 评论 -
插入排序(Java)
算法思想:每趟将一个待排序的关键字,按照其关键字值的大小插入到已经排好的部分序列的适当位置上,直到插入完成。算法代码:static void insertion_sort(int[] unsorted) { for (int i = 1; i { int temp = unsorted[i];原创 2017-03-20 14:11:55 · 368 阅读 · 0 评论 -
快速排序(Java)
快速排序算法思想:以军训排队为例,教官说以第一个同学为中心,比他矮的站他左边,比他高的站他右边,这就是一趟快速排序。因此,一趟快速排序是以一个枢轴,将序列分成两部分,枢轴的一边比它小(或小于等于),另一边比它大(或大于等于)。代码:public static int partition(int []array,int lo,int hi){ //固定的切分方原创 2017-03-20 14:03:13 · 348 阅读 · 0 评论