- 博客(7)
- 收藏
- 关注
原创 归并排MergeSort
归并排MergeSort平均时间复杂度:O(NlogN)归并排序的效率是比较高的,设数列长为N,将数列分开成小数列一共要logN步,每步都是一个合并有序数列的过程,时间复杂度可以记为O(N),故一共为O(N*logN)。基本思想:归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法的一个非常典型的应用。c++代码如下:void MergeArray(int a[],int...
2020-05-01 14:14:58
225
原创 快速排序Quicksort
快速排序Quicksort平均时间复杂度:O(N*logN)基本思想:(分治)先从数列中取出一个数作为key值;将比这个数小的数全部放在它的左边,大于或等于它的数全部放在它的右边;对左右两个小数列重复第二步,直至各区间只有1个数。c++代码实现如下:void QuickSort(int a[],int l,int r){ if(l>=r) return; int i=l;...
2020-05-01 12:46:04
192
原创 希尔排序ShellSort
希尔排序ShellSort基本思想:在要排序的一组数中,根据某一增量分为若干子序列,并对子序列分别进行插入排序。然后逐渐将增量减小,并重复上述过程。直至增量为1,此时数据序列基本有序,最后进行插入排序。过程:一开始设置增量是数长度的一半,每隔增量的数据为一组进行插入排序。c++代码实现如下:void ShellSort(int a[],int len){ int temp; for...
2020-04-29 23:54:08
172
原创 插入排序InsertionSort
插入排序InsertionSort平均时间复杂度:O(n2)基本思想:在要排序的一组数中,假定前n-1个数已经排好序,现在将第n个数插到前面的有序数列中,使得这n个数也是排好顺序的。如此反复循环,直到全部排好顺序。过程:遍历第i次,比较i+1与i的值,符合升序就进行下次遍历,不符合就两两交换继续向前比较。(前i的数据是升序的,i取值0~n-1)c++代码实现:void InsertS...
2020-04-28 17:24:53
198
原创 选择排序SelectionSort
选择排序(SelctionSort)基本思想:在长度为N的无序数组中,第一次遍历n-1个数,找到最小的数值与第一个元素交换;第二次遍历n-2个数,找到最小的数值与第二个元素交换;、、、、第n-1次遍历,找到最小的数值与第n-1个元素交换,排序完成过程:第i次遍历,从i后开始遍历,找到最小的值,将其与i位置的值交换(i的值是0~n-1)c++代码实现void SelectSort(...
2020-04-28 16:54:40
186
原创 冒泡算法BubbleSort
冒泡算法BubbleSort平均时间复杂度:O(n2)基本思想:两个数比较大小,较大的数下沉,较小的数冒起来。过程:比较相邻的两个数据,如果第二个数小,就交换位置。从后向前两两比较,一直到比较最前两个数据。最终最小数被交换到起始的位置,这样第一个最小数的位置就排好了。继续重复上述过程,依次将第2.3...n-1个最小数排好位置c++实现代码:void BubbleSort(int...
2020-04-28 15:59:36
260
原创 微信小程序开发页面无法显示,未注册报错
微信小程序开发VM507 WAService.js:2 Page “pages/post/post” has not been registered yet在对应的js文件中检查是否有page函数调用,若没有请加上:Page({})实例如下:...
2020-02-09 16:15:19
3370
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅