冒泡排序、选择排序和插入排序都是常见的排序算法,它们的效率取决于数据规模和数据的有序程度。
代码示例:
def bubble_sort(arr):
n = len(arr)
for i in range(n-1):
for j in range(n-1-i):
if arr[j] > arr[j+1]:
arr[j], arr[j+1] = arr[j+1], arr[j]
return arr
代码示例:
def selection_sort(arr):
n = len(arr)
for i in range(n-1):
min_index = i
for j in range(i+1, n):
if arr[j] < arr[min_index]:
min_index = j
arr[i], arr[min_index] = arr[min_index], arr[i]
return arr
代码示例:
def insertion_sort(arr):
n = len(arr)
for i in range(1, n):
key = arr[i]
j = i - 1
while j >= 0 and arr[j] > key:
arr[j+1] = arr[j]
j -= 1
arr[j+1] = key
return arr
综上所述,冒泡排序、选择排序和插入排序的时间复杂度都为O(n^2),但在不同的数据情况下,它们的效率可能会有所不同。一般来说,插入排序在数据有序程度较高时效率较高,而冒泡排序和选择排序在数据无序或有序程度较低时效率较高。
上一篇:比较罗马尼亚的变音符号
下一篇:比较Map和List中的元素