数据结构与算法 经典排序方法(Python)

简介: 数据结构与算法 经典排序方法(Python)

1.冒泡排序

   

1.1冒泡排序

def bubble_sort(li):
    for i in range(len(li)-1):
        for j in range(len(li)-i-1):
            if li[j] > li[j+1]:
                li[j],li[j+1] = li[j+1],li[j]
li=[2,4,5,45,6,74,3]
bubble_sort(li)
print(li)

     

1.2冒泡排序改进:


def bubble_sort(li):
    for i in range(len(li)-1):
        exchange=False
        for j in range(len(li)-i-1):
            if li[j] > li[j+1]:
                li[j],li[j+1] = li[j+1],li[j]
                exchange = True
        if not exchange:
            return
li=[2,4,5,45,6,74,3]
bubble_sort(li)
print(li)

2.选择排序


2.1新建列表选择排序:


new_list=[]
def select_sort(li):
    for i in range(len(li)):
      min_1=min(li)
      new_list.append(min_1)
      li.remove(min_1)
li = [3,2,4,1,5,7,9,6,8]
select_sort(li)
print(new_list)

     

2.2双重循环选择排序:

def select_sort(li):
    for i in range(len(li)):
        min_loc = i
        for j in range(i+1,len(li)-1):
            if li[j]<li[min_loc]:
                    min_loc = j
        li[i], li[min_loc] = li[min_loc], li[i]
li = [1, 2, 54, 67, 11, 24]
select_sort(li)
print(li)

3.插入排序

3.1插入排序:

def insert_sort(li):
    for i in range(1,len(li)):
            tmp = li[i]
            j=i-1
            while j>=0 and li[j]>tmp:
                    li[j+1] = li[j]
                    j-=1
            li[j+1] = tmp
li = [3,2,4,1,5,7,9,6,8]
insert_sort(li)
print(li)


相关文章
|
5天前
|
算法 搜索推荐 C语言
Python实现数据结构与算法
【5月更文挑战第13天】学习数据结构与算法能提升编程能力,解决复杂问题,助你面试成功。从选择资源(如《算法导论》、Coursera课程、LeetCode)到实践编码,逐步学习基本概念,通过Python实现栈、队列和快速排序。不断练习、理解原理,探索高级数据结构与算法,参与开源项目和算法竞赛,持续反思与实践,以提升技术能力。
6 0
|
5天前
|
机器学习/深度学习 算法 数据可视化
Python 数据结构和算法实用指南(四)(4)
Python 数据结构和算法实用指南(四)
10 1
|
5天前
|
机器学习/深度学习 存储 算法
Python 数据结构和算法实用指南(四)(3)
Python 数据结构和算法实用指南(四)
15 1
|
5天前
|
存储 算法 搜索推荐
Python 数据结构和算法实用指南(四)(2)
Python 数据结构和算法实用指南(四)
10 0
|
5天前
|
存储 算法 Serverless
Python 数据结构和算法实用指南(四)(1)
Python 数据结构和算法实用指南(四)
14 0
|
5天前
|
存储 算法 搜索推荐
Python 数据结构和算法实用指南(三)(4)
Python 数据结构和算法实用指南(三)
10 1
|
5天前
|
存储 搜索推荐 算法
Python 数据结构和算法实用指南(三)(3)
Python 数据结构和算法实用指南(三)
10 1
|
5天前
|
存储 算法 Java
Java数据结构与算法-java数据结构与算法(二)
Java数据结构与算法-java数据结构与算法
122 1
|
5天前
|
机器学习/深度学习 存储 算法
数据结构与算法 动态规划(启发式搜索、遗传算法、强化学习待完善)
数据结构与算法 动态规划(启发式搜索、遗传算法、强化学习待完善)
14 1
|
5天前
|
存储 人工智能 算法
有哪些数据结构与算法是程序员必须要掌握的?——“数据结构与算法”
有哪些数据结构与算法是程序员必须要掌握的?——“数据结构与算法”