Python数据结构排序算法总结

选择排序

时间复杂度
搜索整个表,找到最小项并与第一项交换位置。然后回到第二个位置,重新搜索余下项中最小项,与第二项交换位置并依次类推。知道运行到最后一个位置算法结束。

def selectionSort(lyst):
  i = 0
  while i < len(lyst) - 1:
    minIndex = 1
    j = i + 1
    while j < length(lyst):
      if lyst[j] < lyst[midIndex]:
        minIndex = j
      j += 1
    if midIndex != i:
      swap(lyst,midIndex,i)
    i += 1

def swap(lyst,i,j):
  temp = lyst[i]
  lyst[i] = lyst[j]
  lyst[j] = temp 

逻辑和变量:
通过i, j进行两个循环
i: 第i次搜索,替换第i个项
j: 搜索过程中和最小项比较的指针(这里用指针这个词可能不太准确,说的不是c里面的那个指针)

你可能感兴趣的:(Python数据结构排序算法总结)