算法
五角钱的程序员
这个作者很懒,什么都没留下…
展开
-
快速排序---(面试碰到过好几次)
基本算法归并排序将数组分为两个子数组分别排序,并将有序的子数组归并使得整个数组排序;快速排序通过一个切分元素将数组分为两个子数组,左子数组小于等于切分元素,右子数组大于等于切分元素,将这两个子数组排序也就将整个数组排序了。package 算法.排序;/*作者 :XiangLin创建时间 :09/06/2020 21:49文件 :quicksort.javaIDE :IntelliJ IDEA*/import java.util.Arrays;pu.原创 2020-06-09 22:20:55 · 2708 阅读 · 19 评论 -
面试常考:排序算法(希尔排序)
借鉴插入排序的思想,优化之后的移位希尔排序法,目前来看效率是最高的!一直强调,算法无论简单与否,进行优化的思考过程是最重要的!原创 2020-05-23 23:39:29 · 3766 阅读 · 20 评论 -
我去,你竟然还不会插入排序
排序算法是最常见的笔试题目,几乎所有的笔试和面试都会考到,因为它体现的就是程序员的算法基础。可惜的是,作为一名菜鸟,,这方面的修养还真是不足,所以,在这里整理一下自己收集到的排序基础知识,以备需要的时候可以查阅。原创 2020-05-23 12:12:10 · 2626 阅读 · 18 评论 -
我用一张图彻底理解了冒泡排序
本博文介绍最常被提起的排序算法:冒泡排序。冒泡排序是入门排序算法,思路比较常规,但确是最耗时的排序算法,所以听到冒泡排序笑一笑就好了,千万不要拿来装B。原创 2020-05-19 23:22:30 · 456 阅读 · 14 评论 -
通俗易懂讲解 [图解]选择排序
文章目录1.选择排序2. 图示过程3.动图展示4.约定5.过程6.代码1.选择排序从数组中选择最小元素,将它与数组的第一个元素交换位置。再从数组剩下的元素中选择出最小的元素,将它与数组的第二个元素交换位置。不断进行这样的操作,直到将整个数组排序。选择排序需要 ~N2/2 次比较和 ~N 次交换,它的运行时间与输入无关,这个特点使得它对一个已经排序的数组也需要这么多的比较和交换操作。2. 图示过程3.动图展示4.约定待排序的元素需要实现 Java 的 Comparable 接口,该接口有 c原创 2020-05-15 21:28:38 · 4894 阅读 · 15 评论