冒泡排序,选择排序等是我们经常用到的排序方法,这里写上自己实现的算法代码,希望对大家有所帮助。...
分类:
编程语言 时间:
2014-11-06 17:46:01
阅读次数:
153
快速排序和归并排序都是分治法的典型应用,主要区别在于,快速排序重在分,而归并排序重在治。 快速排序基于以下假设:已知x,序列中一半的数据大于x,另一半小于等于x,且小于等于x的数据在数组前一半,大于x的在后一半。这种分割不需要额外的存储空间,对两侧数据分别递归进行,最终数组排序即可完成。 实...
分类:
编程语言 时间:
2014-11-06 12:17:59
阅读次数:
181
前言:动态规划的概念 动态规划(dynamic programming)是通过组合子问题的解而解决整个问题的。分治算法是指将问题划分为一些独立的子问题,递归的求解各个问题,然后合并子问题的解而得到原问题的解。例如归并排序,快速排序都是采用分治算法思想。本书在第二章介绍归并排序时,详细介绍了分治算法....
分类:
其他好文 时间:
2014-11-06 10:48:17
阅读次数:
204
总结5种比较高效常用的排序算法,包括选择排序、插入排序、归并排序、希尔排序、快速排序等。
分类:
编程语言 时间:
2014-11-06 10:29:27
阅读次数:
279
前几天实现了直接插入排序、冒泡排序和直接选择排序这三个基础排序。今天看了一下冒泡排序的改进算法,快速排序。单独记录一下,后面还有归并和基数排序等快速排序1.选择一个支点默认为数组第一个元素及array[start]作为支点,将所有大于支点元素的值放到支点后面,将所有小于支点元素的值放到支点前面,完成...
分类:
编程语言 时间:
2014-11-05 22:58:49
阅读次数:
345
排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。我们这里说说八大排序就是内部排序。当n较大,则应采用时间复杂度为O(nlog2n)的排序方法:快速排序、堆排序或归并排序序。 快速排序:是目前基于比较的内...
分类:
编程语言 时间:
2014-11-05 16:26:10
阅读次数:
304
排序算法比较常见的有:冒泡排序、简单选择排序、直接插入排序;希尔排序、堆排序、归并排序和快速排序算法等。今天先学习一下前面三种比较简单的算法。排序的相关概念:
①排序的稳定性:两个或多个元素相等,排序过后仍然是原来的顺序则为稳定排序。
②内部排序:排序过程都在内存中进行;外部排序:需要对外存进行访问的排序过程。
③内排序算法性能因素:1、时间性能,比较与移动;2、辅助空间;3、算法复杂性
...
分类:
编程语言 时间:
2014-11-05 10:59:35
阅读次数:
228
看书、思考、写代码!
/*******************************************
* copyright@hustyangju
* blog: http://blog.csdn.net/hustyangju
* 2014-11-04
* 题目:并归排序
* 描述:中分法递归分解一个区间的数组,再合并子区间,在合并时完成排序
* 解题思路:递归法,利用临界...
分类:
编程语言 时间:
2014-11-04 22:45:13
阅读次数:
211
排序算法总是分不清,借了本数据结构来专门看了一下说一下分类,主要有五类,插入排序,交换排序,选择排序,基数排序和归并排序今天中午看了一下插入排序中的直接插入排序,交换排序的冒泡排序,选择排序中的冒泡排序1.插入排序将数组分成两个部分,一个是有序,一个是无序。将无序的每个元素插入到有序中,一共需要n ...
分类:
编程语言 时间:
2014-11-04 19:34:42
阅读次数:
336
概述插入排序直接插入排序Straight Insertion Sort 插入排序希尔排序Shells Sort 选择排序简单选择排序Simple Selection Sort选择排序堆排序Heap Sort 交换排序冒泡排序Bubble Sort交换排序快速排序Quick Sort归并排序Merge...
分类:
编程语言 时间:
2014-11-04 12:59:07
阅读次数:
360