常用算法
逗比欢嘿嘿嘿
这个作者很懒,什么都没留下…
展开
-
插入排序算法
我们在了解算法的时候,首先要了解算法的思想,只有知道了思想,我们才知道怎么用代码去实现,我刚开始有个误区,一直都是先看算法后看思想的,结果往往看不懂代码的意思;应该纠正这个观点,先有思想后有代码;这个过程千万不能省。插入排序算法思想: ⒈ 从第一个元素开始,该元素可以认为已经被排序 ⒉ 取出下一个元素,在已经排序的元素序列中从后向前扫描 ⒊ 如果该元素(已排序)大于新元素,将该元素移到下一位原创 2016-11-26 11:11:05 · 295 阅读 · 0 评论 -
冒泡排序法
排序思想:(从小到大排序) 冒泡排序基本概念是: * 依次比较相邻的两个数,将小数放在前面,大数放在后面。 * 即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。 * 然后比较第2个数和第3个数,将小数放前,大数放后,如此继续, * 直至比较最后两个数,将小数放前,大数放后。至此第一趟结束, * 将最大的数放到了最后。在第二趟:仍从第一对数开始比原创 2016-11-26 11:54:12 · 485 阅读 · 0 评论 -
选择排序法
选择排序思想: 把第一个元素依次和后面的所有元素进行比较。 第一次结束后,就会有最小值出现在最前面。 依次类推选择排序比较简单,直接上代码了,还是那个原则,先掌握思想,代码就好写了;public static void SelectionSort(int[] a) { for (int i = 0; i < a.length - 1; i++) {// 控制第原创 2016-11-26 12:14:59 · 220 阅读 · 1 评论 -
快速排序法
快速排序法的思想: 通过一趟排序将待排序记录分割成独立的两部分,其中一部分记录的关键字均比另一部分关键字小,则分别对这两部分继续进行排序,直到整个序列有序。代码如下:刚开始还是有点难理解的,看了别人的代码,再理解起来就比较容易了,做过小的总结,只为遇见更好的自己。/** * 快速排序算法 * * @author HeHuan * */public class Quick {原创 2016-12-09 23:13:05 · 280 阅读 · 0 评论 -
希尔排序
希尔排序的实质:分组插入排序,该方法又称缩小增量排序(在排序的过程中不断的缩小增量) 在弄清楚本方法之前,先弄清楚插入排序,然后再来看希尔排序,会比较好了解,我开始也不懂,用了一上午的时间终于写出来了(中间有一段插曲,虽然结果对了,但是和希尔算法的思想有冲突,调试后才发现的);分析过程: 以数组a为例: int a[] = { 49, 38, 65, 9原创 2017-01-12 14:33:55 · 259 阅读 · 0 评论