- 博客(6)
- 收藏
- 关注
原创 希尔排序
这里开始介绍第一种复杂排序算法——希尔排序。我们知道插入排序在有些时候即数据本身基本有序(较小的数据基本在前面,较大的数据基本在后面)或者数据数目较少的时候,效率是很高的。希尔排序就是基于此事实对插入排序进行改进,简单来说,希尔排序就是高效版的插入排序,其核心思想是根据一个步长,将序列分成多个子序列(子序列数目就是步长值,每个子序列的长度不定),然后分别对这些子序列进行插入排序,这样较
2017-11-07 21:24:27 804
原创 插入排序
插入排序的核心思想是将一个待排序的元素插入到有序表中的合适位置,使之继续保持有序,重复上述步骤最终完成排序。这里类似于抓扑克牌,每次抓一张牌我们都会将其插入到合适的位置,使手上的牌一直保持有序。 public static void myChaRu(int[] arr){ for(int i=1;i<arr.length;i++){//只需要对下标为1到n-1的元素进行
2017-11-06 22:13:39 187
原创 选择排序
选择排序是一个经典的排序的算法,其核心思想就是每轮内层for循环都会从待排序的数据中选择出一个最小的元素角标,然后与指定位置的元素进行互换。可见选择排序是先选出较小元素交换到数组前端,而冒泡排序则是先让较大元素移动到数组末端,总之最终都能完成排序。 public static void xuanZe(int[] arr){ for(int i=0;i<arr.length-1;i
2017-11-06 21:49:17 125
原创 冒泡排序
冒泡排序应该说是所有程序员最先接触到的排序算法,冒泡排序的核心思想就是对相邻两元素进行比较,如果反序则交换位置。这个排序算法的特征就是较大元素像气泡一样浮动到数组尾部,所以这个算法形象地称为冒泡排序。冒泡排序有两种实现形式,这里先说简单的一种,首先得明确冒泡排序强调的是对相邻元素的比较,在数组中自前向后,较大元素通过这种比较不断地向后移动,一直移动到相应位置上,由于先移动到数组尾部的较
2017-11-06 16:53:43 170
原创 排序算法简介
排序简单来说就是将一些记录按照其关键字根据排序规则进行一次排序,使排序后的记录呈现有序特性。排序有若干个概念得了解稳定性。如果两个相等的记录,其相对位置排序前后不发生改变,则称该排序算法是稳定排序,否则就称之为不稳定排序。内排序和外排序。内排序指的是在排序过程中将所有待排序的记录全部加载进内存中,而外排序指的是待排序的记录由于个数太多,无法全部加载进内存,所以需要通
2017-11-06 16:32:45 144
原创 开博札记
博客web log,简称blog。自打一开始学习编程以来,就开始看博客了,在我看的许许多多博客中,质量参差不齐,有些能为我答疑解惑,指点明津,而也有些让我云里雾里,不知所云。但总的来说,因为这些博客的存在,还是让我受益不少。所以现在我也打算开通博客,更新优质博文,尽量帮助那些也带有疑问困惑的人们,将博客中的共享精神传递下去。我认为博文不仅仅是对我自身知识的一个总结,同时也是对那些困惑者引导入门的一
2017-11-06 15:24:36 219
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人