![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++、C#、java算法学习
文章平均质量分 85
HC666
蓦然回首....我在这里等你^_^
展开
-
C++、C#、java算法学习日记06----堆排序思想(HeapSort)
上一篇所学的 希尔排序 是对插入排序的一种高效优化,而堆排序则是对选择排序的一种高效优化,也属于选择排序的一种,所以他的基本思想同 直接选择排序 一样也就是每次从数列中选出最大或最小的放到末尾或是开头,但是堆排序的选择过程要比 直接选择排序 的选择过程高效的多,采用了树形结构来记录每次的比较结果(可以省略重复的比较),大值总是作为父节点(最终形成大根堆),或是小值总是作为父节点(最原创 2015-11-04 21:44:37 · 1370 阅读 · 1 评论 -
C++、C#、java算法学习日记07----堆排序(HeapSort)
根据上一篇 堆排序思想 这一篇我们用C++、C#、java 代码来实现它,要求对10000个随机数进行升序排列。C++实例:#include#include#includeusing namespace std;//调整堆void HeapAdjust(vector &array,int i,int nLength){ int Child; fo原创 2015-11-05 22:47:17 · 1001 阅读 · 1 评论 -
C++、C#、java算法学习日记01---冒泡排序(BubbleSort)
“活到老,学到老”,人生正是一个不断学习,不断完善的过程,前面的 C#学习日记 我们先告一段落(不是结束^_^),现在开始新的旅程,学一学算法吧! 回想我门学C的时候,在老师的带领下我门接触到了算是我人生中的第一个算法——冒泡排序(BubbleSort)。 顾名思义,冒泡排序它排序数组元素的过程总是将小数往前放、大树往后放,类似水中气泡往上升的动作。基本思想:原创 2015-10-29 09:53:07 · 1448 阅读 · 0 评论 -
C++、C#、java算法学习日记02----选择排序(SelectSort)
直接选择排序属于排序算法的一种,他的排序速度要比冒泡排序快一些,算是对冒泡排序的一种改进。基本思想: 直接排序的思想类似于我们实际生活中的排序行为,比如:对一串数字 63,4,24,1,3,15从小到大排序,我们会首先找到最大的值与最后一位交换位置,然后再从余下的数中找到最大的值与倒数第二位交换位置,这样每次都从余下的数中找到最大的放到末尾,当余下一个数时排序完成C++实例:原创 2015-10-29 14:11:39 · 1802 阅读 · 0 评论 -
C++、C#、java算法学习日记03----插入排序
有一个已经有序的数据序列,要求在这个已经排好的数据序列中插入一个数,但要求插入后此数据序列仍然有序,这个时候就要用到一种新的排序方法---插入排序。插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据,算法适用于少量数据的排序。基本思想: 每一步将要插入的数与前面有序序列中的元素依次相比较,找到合适的位置后,数列部分后移腾出空间,待插入原创 2015-10-29 19:56:06 · 958 阅读 · 0 评论 -
C++、C#、java算法学习日记04----二分插入排序
经过上几篇对排序算法的了解,我们发现,所谓的排序也就是确定一个数组中每个元素的位置,然后对号入座,其过程也就是找到该元素的位置。确定位置,使用二分法可以达到很高的效率,我们将他应用到插入排序中就算是对上篇中排序的一种优化,能提高效率。基本思想: 与上篇中的插入排序类似分已排序和未排序部分,然后将未排序 部分元素逐个插入,但是插入的过程不同,需要每次求一个 中间位置,和中间位原创 2015-10-30 17:22:06 · 2082 阅读 · 2 评论 -
java希尔排序
在上一篇 C++、C#、java算法学习日记05 中由于电脑出了点问题java启动不了,这一篇我补上:希尔排序java实例:package Sort;import java.util.*;public class Sort5 { public void ShellSort(List array){ int Length=array.size();//获取长度原创 2015-11-02 12:29:22 · 1470 阅读 · 0 评论 -
C++、C#、java算法学习日记05----希尔排序(ShellSort)
希尔排序是插入式排序的一种,也称缩小增量排序,是对 直接插入排序 的一种更高效的改进算法,基本思想: 希尔排序是把记录按下标的一定增量(也就是按一定的步长)分组,对每组使用直接插入排序算法排序;随着增量逐渐减少(每循环一次减半),每组包含的关键词越来越多,当增量减至1时(相当于一次直接插入排序),整个文件恰被分成一组,算法便终止。 我是这么理解的,希尔排序可以说是原创 2015-11-01 18:14:25 · 1504 阅读 · 2 评论