Skip to content

snu.bubbleSort()

冒泡排序

对给定数组进行冒泡排序,按照升序排列数组元素。

时间复杂度空间复杂度实际运行效率
最好:O(n)
最坏:O(n2)
平均:O(n2)
O(1)较低,适用于小规模数据排序。

兼容性

WebAndroid

属性

名称类型必填默认值描述
arrArray<Number>-需要排序的数字数组。

返回值

类型必备描述
Array<Number>排序后的数组。

示例

typescript
const arr = snu.bubbleSort([5, 3, 8, 4, 2]); 
console.log(arr) // [2, 3, 4, 5, 8]

snu.selectionSort()

选择排序

对给定数组进行选择排序,按照升序排列数组元素。

时间复杂度空间复杂度实际运行效率
最好:O(n2)
最坏:O(n2)
平均:O(n2)
O(1)较低,适用于小规模数据排序。

兼容性

WebAndroid

属性

名称类型必填默认值描述
arrArray<Number>-需要排序的数字数组。

返回值

类型必备描述
Array<Number>排序后的数组。

示例

typescript
const arr = snu.selectionSort([5, 3, 8, 4, 2]);
console.log(arr) // [2, 3, 4, 5, 8]

snu.insertionSort()

插入排序

对给定数组进行插入排序,按照升序排列数组元素。

时间复杂度空间复杂度实际运行效率
最好:O(n)
最坏:O(n2)
平均:O(n2)
O(1)对于部分有序的数据,效率较高,适用于小规模数据排序。

兼容性

WebAndroid

属性

名称类型必填默认值描述
arrArray<Number>-需要排序的数字数组。

返回值

类型必备描述
Array<Number>排序后的数组。

示例

typescript
const arr = snu.insertionSort([5, 3, 8, 4, 2]);
console.log(arr) // [2, 3, 4, 5, 8]

snu.quickSort()

快速排序

对给定数组进行快速排序,按照升序排列数组元素。

时间复杂度空间复杂度实际运行效率
最好:O(logn)
最坏:O(n2)
平均:O(logn)
O(logn)较高,大多数情况下是效率最高的排序算法之一。

兼容性

WebAndroid

属性

名称类型必填默认值描述
arrArray<Number>-需要排序的数字数组。
leftNumber0快速排序的左边界索引。
rightNumberarr.length - 1快速排序的右边界索引。

返回值

类型必备描述
Array<Number>排序后的数组。

示例

typescript
const arr = snu.quickSort([5, 3, 8, 4, 2, ...]);
console.log(arr) // [2, 3, 4, 5, 8, ...]

snu.mergeSort()

归并排序

对给定数组进行归并排序,按照升序排列数组元素。

时间复杂度空间复杂度实际运行效率
最好:O(logn)
最坏:O(logn)
平均:O(logn)
O(n)较高,适用于大规模数据排序。

兼容性

WebAndroid

属性

名称类型必填默认值描述
arrArray<Number>-需要排序的数字数组。

返回值

类型必备描述
Array<Number>排序后的数组。

示例

typescript
const arr = snu.mergeSort([5, 3, 8, 4, 2, ...]);
console.log(arr) // [2, 3, 4, 5, 8, ...]

snu.heapSort()

堆排序

对给定数组进行堆排序,按照升序排列数组元素。

时间复杂度空间复杂度实际运行效率
最好:O(logn)
最坏:O(logn)
平均:O(logn)
O(1)较高,适用于大规模数据排序。

兼容性

WebAndroid

属性

名称类型必填默认值描述
arrArray<Number>-需要排序的数字数组。

返回值

类型必备描述
Array<Number>排序后的数组。

示例

typescript
const arr = snu.heapSort([5, 3, 8, 4, 2, ...]);
console.log(arr) // [2, 3, 4, 5, 8, ...]

snu.shellSort()

希尔排序

对给定数组进行希尔排序,按照升序排列数组元素。

时间复杂度空间复杂度实际运行效率
最坏:O(n2)
平均:O(n1.32)
O(1)比插入排序好,适用于中等规模数据排序。

兼容性

WebAndroid

属性

名称类型必填默认值描述
arrArray<Number>-需要排序的数字数组。

返回值

类型必备描述
Array<Number>排序后的数组。

示例

typescript
const arr = snu.shellSort([5, 3, 8, 4, 2, ...]);
console.log(arr) // [2, 3, 4, 5, 8, ...]

snu.bucketSort()

桶排序

对给定数组进行桶排序,按照升序排列数组元素。

时间复杂度空间复杂度实际运行效率
最好:O(n)
最坏:O(n2)
平均:O(n+C)C 为桶的数量)
O(n)适用于数据分布均匀且范围不大的情况。

兼容性

WebAndroid

属性

名称类型必填默认值描述
arrArray<Number>-需要排序的数字数组。

返回值

类型必备描述
Array<Number>排序后的数组。

示例

typescript
const arr = snu.bucketSort([5, 3, 8, 4, 2, ...]);
console.log(arr) // [2, 3, 4, 5, 8, ...]

使用 MIT 协议