排序
Duc_Duke
天行健君子以自强不息、地势坤君子以厚德载物。
展开
-
排序_快排
快排的基本思想:通过一趟排序使得要排序的数据分割成两个独立的部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,来使整个数据变的有序。假设要排序的数据为n个,用数组将这n个数据存储起来从arr[0]到arr[n-1],首先任意选取一个数据(通常选用数组的第一个数arr[0])作为关键数据,然后将所有比它小的数都放到...原创 2019-08-03 22:32:25 · 208 阅读 · 0 评论 -
排序_快排优化
快排优化方法:方法一:随机值法方法二:三位取中法方法三:聚集相同元素法方法四:插排替代法随机值法:#include<stdio.h>#include<stdlib.h>#include<stack>#include<time.h>void Quick(int arr[], int startindex, int end...原创 2019-08-03 23:32:04 · 334 阅读 · 0 评论 -
排序_基于快排的操作
数组中两个相邻元素的最小差值:(排序后的数组)查找数组中的第几小元素:将一个数组中小于pos值的元素放在pos的左边,将大于pos的值放在pos的右边(pos为非数组元素),求pos位置:数组中两个相邻元素的最小差值:#include<iostream>#include<assert.h>#include<math.h>using namesp...原创 2019-08-04 16:56:34 · 178 阅读 · 0 评论 -
排序_堆排
堆:Heap是计算机科学中一类特殊的数据结构的统称,通常是一个可以被看做一棵完全二叉树的数组对象。堆是非线性数据结构,相当于一给2一维数组,有两个直接后继。堆的性质:堆中某个节点的值总是不大于或不小于其父节点的值,且总是一棵完全二叉树。堆的分类:大根堆、小根堆大根堆:将根节点最大的堆叫做最大堆或大根堆,及根节点的元素值最大,且所有父节点的值大于其左右子节点的值小根堆:将根节点最小的堆叫做最小堆或...原创 2019-08-30 14:22:34 · 205 阅读 · 0 评论