登陆 注册
  • java算法实现之堆排序

    守望者守望者 2020-04-26

         所谓堆排序就是利用堆进行排序的一种算法,这种算法总体来说在选择排序的范畴,但优于直接选择排序(java算法实现之选择排序)。之所以说它属于选择排序是因为它同选择排序一样,在升序排序时,都是先找到最小值,再找次小值,再找此次小值........之所以说它优于直接选择排序是因为他在具体进行排序过程中使用了堆这种数据结构而不...

    已有361人围观 ,发现 0个评论
  • java算法实现之归并排序(两路归并)

    守望者守望者 2020-04-25

         所谓归并排序同快速排序一样(java算法实现之快速排序)是一种基于分治法(分而治之)的排序算法,归并排序又分为两路归并排序和多路归并排序,本文介绍两路归并排序。两路归并算法思路:分而治之         先将一个数组自上而下不断对等分成两个子数组(递归实现)直至子数组长...

    已有295人围观 ,发现 0个评论
  • java算法实现之希尔排序

    守望者守望者 2020-04-24

         所谓希尔排序本质来说是插入排序的增强版(java算法实现之插入排序),它是一种增量式排序,在插入排序的基础上做出了一些改进。    这个做出的改进简单说就是,将数组划分为gap(增量值/步长值)个小的数组,然后在这些小数组里面使用插入排序,随着gap值的缩小,这些小数组的个数也随之缩小,同时他们的元...

    已有265人围观 ,发现 0个评论
  • java算法实现之插入排序

    守望者守望者 2020-04-09

        所谓插入排序就是指将数组分成左右两个小数组 a, b , 数组a元素个数从一个开始递增,直至arr.lenth完成整个数组的排序,通常数组a的第一个元素是arr[0],范围逐步向右拓展;数组b元素个数从arr.len开始递减,通常b数组第一个元素逐步替换为arr[1], arr[2], arr[3].....arr[ar...

    已有210人围观 ,发现 0个评论
  • java算法实现之快速排序

    守望者守望者 2020-04-08

          所谓快速排序就是将数组分成a, b两个数组,使得a数组的所有元素都小于b数组的所有元素,此为完成一轮排列,然后再将数组a,b各自再分成两个更小数组,使得两个更小数组之间的关系同a和b两个数组的关系一样,此为又完成一轮排列,然后再对更小数组进行同样的划分,如此往复循环,多次细分数组,最终实现整个数组的所有元素实现有序排...

    已有288人围观 ,发现 0个评论
  • java算法实现之选择排序

    守望者守望者 2020-04-07

          所谓选择排序就是首先找出数组的一个元素作为比较参考值 a(从数组第0个元素开始,每轮比较结束后a将转为下一个数组元素),将a元素与其右边的每一个数组元素进行比较,得出最小值min,而后将a与min两个元素位置进行替换,如此完成即一轮比较,被比较的数组可分为左右两个部分,其中左边为已经完成排序的部分,每轮比较完成后其元...

    已有272人围观 ,发现 0个评论
请关注微信公众号
微信二维码