美文网首页
Python数据结构排序算法总结

Python数据结构排序算法总结

作者: 苏啦啦哇咔咔 | 来源:发表于2018-12-06 22:59 被阅读35次

选择排序

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

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) 排序与搜索排序算法(英语:Sorting algorithm)是一种能将...

  • Swift的十大经典排序算法总结

    Swift的十大经典排序算法总结 排序算法是《数据结构与算法》中最基本的算法之一。排序算法可以分为内部排序和外部排...

  • python面试算法

    python内置数据结构算法常考 常用的内置算法和数据结构 sorted排序函数 dict/list/set/tu...

  • 数据结构和算法(六)

    1. Python 内置数据结构和算法 使用过哪些内置的常用的算法和数据结构 sorted:排序 dict、lis...

  • 排序算法最强总结及其代码实现(Python/Java)

    前言 本文总结了常用的全部排序算法,内容包括: 排序算法的定义和思路 排序算法的代码实现:Python和Java,...

  • 排序算法-堆排序

    参考: Java排序算法(五):堆排序 【算法与数据结构】图说堆排序 【数据结构】排序算法:希尔、归并、快速、堆排...

  • python实现堆排序(HeapSort)

    python实现【堆排序】(HeapSort) 算法原理及介绍 堆排序(Heapsort)是指利用堆这种数据结构所...

  • 个人 Python 书单

    入门: Beginning Python 数据结构: Python 数据结构 算法: Python 算法教程

  • (转)排序算法

    排序算法点这里 数据结构与算法——计数排序、桶排序、基数排序

  • 数据结构和算法总结

    数据结构和算法总结 一、排序算法 1.1、排序分类 1.内部排序 指将需要处理的所有数据都加载到内部存储器(内存)...

网友评论

      本文标题:Python数据结构排序算法总结

      本文链接:https://www.haomeiwen.com/subject/yvmacqtx.html