自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 排序方法稳定性总结

一、关于常见排序算法稳定性的问题    排序算法的稳定性,简单地讲就是能保证排序前2个相等的数其在序列的前后位置顺序和排序后它们两个的前后位置顺序相同。在简单形式化一下,如果A1 = A2,序列中A1在A2位置前,排序后A1还是要在A2位置前,那么这个算法就算稳定。(1)冒泡排序冒泡排序就是把小的元素往前调或者把大的元素往后沉。比较是相邻的两个元素比较,交换也发生在这两

2017-08-31 00:00:08 587

原创 基数排序

一、基数排序1、基数排序又叫桶排序,借助多关键字排序的思想对单逻辑关键字进行排序。2、基本思想:  (1)用0~9作为下标分别记录的个位、十位、百位...0~9的数字,首先对应个位将数据入桶。  (2)保证先进先出将数据重新排列,然后相同的方法看十位数字将数据入桶。  (3)重新排列,依次比较。3、排列的趟数等于最大数的位数4、代码如下:#include#incl

2017-08-29 23:09:37 186

原创 归并排序

一、归并排序1、基本思想:(1)分:使用二分法将n个记录看成是n个有序的子序列,每个子序列的长度为1。                        (2)合:两两归并,直到得到一个长度为n的有序序列为止。2、核心操作:将一维数组中前后相邻的两个有序序列归并为一个有序序列。3、代码如下:#includevoid Merge(int arr[], int tmp[], int

2017-08-28 22:53:05 213

原创 冒泡排序法

一、冒泡法 1、基本思想:用关键字从剩余所有元素第一个开始依次进行比较,每一趟找出序列最大的元素沉在最后,重复操              作。若遇到逆序进行位置交换,接着用较大值进行后面的比较过程。 2、举例: 将arr[5]={5,2,9,6,4,1}用冒泡法进行排序   (1)第一趟:用arr[0]=5和其余元素依次进行比较。              5 > 2,二者位

2017-08-26 23:48:35 486 1

原创 选择排序之堆排序

一、选择排序 1、堆的定义:堆实际上是一棵完全二叉树,完全二叉树中所有非终端结点的值均不大于(或小于)其左、右子结点    的值。  只需要一个记录大小的辅助空间,每个待排序的记录仅占有一个存储空间。 2、大根堆:父结点的数据大于每一个子结点。 3、小根堆:每一个子结点的数据均大于父结点 4、父子结点转化:父结点: i   左右子树: j    父结点找子结点:——> 左子

2017-08-25 21:08:10 190

原创 选择排序之简单选择

一、选择排序 1、简单选择排序:一趟排序中找到最小的数,放在第一位;二趟排序中找到剩下数中最小的数,放在第二位...依次类推到第n-1位,                  第n个元素不用选择了,因为只有它一个数字了,那么它就是最大的元素了。 2、稳定性:不稳定 3、思想说明:例如:将1 5 6 3 2 利用简单选择法进行排序。  (1)第一趟:用1和其他元素依次进行比较,其他

2017-08-23 19:08:20 329

原创 前缀、中缀、后缀表达式

一、表达式转换 1、前缀表达式又称前缀记法或者波兰式,它的运算符位于操作数之前,便于机器查看。例如:+ 3 4 (3+4) 2、中缀表达式是最常用的一种表达式,它的运算符位于操作数中间,便于人为观察或操作。例如:3 + 4 (3+4) 3、后缀表达式又称逆波兰式,它的运算符位于操作数之后。例如:3 4 + (3+4) 4、中缀到后缀表达式的转换:   例如:X = A+ B * (

2017-08-22 21:47:21 698

原创 插入排序之希尔排序

一、希尔排序 1、希尔排序:又称“缩小增量排序”,时间复杂度和空间复杂度和增量有关。 2、基本思想:先将整个待排记录序列分割成若干子序列分别进行直接插入排序。待整个序列中的记录“基本有序”时,再对全体记录进行一次直接插入排序。 3、时间复杂度:O(n^2),但是,如果待排记录序列为正序时 ,时间复杂度为O(n)。 4、子序列:不是简单的“逐段分割”,而是将相隔某个“增量”的记录组成

2017-08-20 22:44:36 193

原创 内部排序思想、直接插入排序法

一、排序思想 1、排序:排列顺序,把一组数据元素的任意序列重新排列成一组按关键字排列的有序序列。 2、排序的分类:   (1)存储位置:内部排序 数据在内存中排序,数据量较小。                外部排序 部分排序,数据量太大。   (2)排序算法(逻辑): 插入排序、选择排序、交换排序、归并排序、计数排序。   (3)排序结果:升序、降序。 3、排序整体思

2017-08-20 21:16:52 282

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除