来自 前端知识 2019-12-25 05:03 的文章
当前位置: 金沙澳门官网网址 > 前端知识 > 正文

澳门金莎娱乐手机版个中算法第一天,数据排序

加州大学San Diego分校的计算机科学家创造了新的数据排序世界纪录——在60秒钟时间内排序超过1 Terabyte数据。

今天开始就写中级算法了,哈哈哈

在“数据排序世界杯”之称的2010 Sort Benchmark挑战赛上,UCSD团队还创下最快数据排序速度——在178分钟内刷选了1万亿条数据——使用的计算资源仅仅是其它记录保持者的四分之一。

澳门金莎娱乐手机版 1

这个星期小编主要围绕着排序问题来写算法

1.选择排序2.插入排序3.冒泡排序4.快速排序5.希尔排序6.归并排序7.基数排序8.堆排序就是以上列出的着八个算法,大概就是每天一个算法,8天就能讲完了

所以今天小编要讲的算法就是选择排序了,在讲选择排序之前,小编先给不懂的同学科普一下,到底什么是选择排序?选择排序法 是对 定位比较交换法 的一种改进。选择排序的基本思想是:每一趟在n-i+1(i=1,2,…n-1)个记录中选取关键字最小的记录作为有序序列中第i个记录。基于此思想的算法主要有简单选择排序、树型选择排序和堆排序。

简单选择排序的基本思想:第1趟,在待排序记录r[1]r[n]中选出最小的记录,将它与r[1]交换;第2趟,在待排序记录r[2]r[n]中选出最小的记录,将它与r[2]交换;以此类推,第i趟在待排序记录r[i]~r[澳门金莎娱乐手机版 ,n]中选出最小的记录,将它与r[i]交换,使有序序列不断增长直到全部排序完毕。

我们不断的去遍历数据,从交换过的数据的下一个位置开始遍历,先把下一个位置的数据记录下来,然后遍历后来的数据,如果发现更小的数据,就记录下来,直到遍历完后,我们再将最小的数据和开始记录的那个数据交换。当我们遍历完所有的数据后,我们的数据就排好了首先我们实现将第几趟的所有数据打印出来的功能:

void print(int a[], int n, int i){//a[]数组为我们排序的数据,n是我们数据的长度,i代表了趟数,至于为什么是i+1后面就有解释 cout << "第" << i + 1 << "趟:"; for (int j = 0; j < n; j++) { cout << a[j] << ","; } cout << endl;}

至此,我们就实现了打印数据的功能,接下来就是如何排序排序我们拆成两个函数:1.选择最小数据的函数SelectMinKey()2.交换排序的函数selectSort()先来实现选择最小的函数

本文由金沙澳门官网网址发布于前端知识,转载请注明出处:澳门金莎娱乐手机版个中算法第一天,数据排序

关键词: