搜索和排序算法

时间:2016-01-12 22:40:50

标签: algorithm sorting

void sort(int[] arr){ for(int i=0; i<arr.length-1; i++){ for(int j=i+1; j<arr.length; j++){ if(arr[j] < arr[i]){ int temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; } } } }

我只是想知道它是什么类型的排序算法,我知道插入排序,冒泡排序和选择排序,但它似乎不是那些,我有点困惑可以有人帮助我。

2 个答案:

答案 0 :(得分:0)

这是BubbleSort的一个例子。该算法通过重复交换列表中的项目直到列表排序为止。此特定算法将整数从最大到最小排序。 BubbleSort的平均复杂度为O(n ^ 2),其中n是列表中的项目数。

答案 1 :(得分:0)

这是选择排序的示例。

选择排序是O(n2)排序算法之一,这使得排序大数据量的效率非常低。算法的想法很简单。数组是虚构的,分为两部分 - 排序一个,未排序一个。在开始时,排序的部分是空的,而未排序的部分包含整个数组。在每个步骤中,算法在未排序部分中找到最小元素,并将其添加到已排序部分的末尾。当未分类的部分变空时,算法停止。

时间复杂度:O(n * n),因为有两个嵌套循环。

辅助空间:O(1)