python中的常见排序算法

2007向凤盏 2022-12-26 14:48:52

1.顺序查找:从列表中的第一个元素开始,顺序进行搜索,直到找到为止,复杂度为O(n)。

2.二分查找:从有序列表中,通过待查值与中间值进行比较,以减半的方式进行查找,O(logn)。

3.冒泡排序:列表中每相邻两个如果顺序不是我们预期的大小排列,则交换。时间复杂度为O(n^2)。

4.选择排序:一趟遍历选择最小的数放在第一位,再进行下一次遍历直到最后一个元素。复杂度依然为O(n^2).

下面给出冒泡排序的参考代码:

"""
Python冒泡排序
两个for
"""

s = list(map(int,input().split(" ")))# 输入列表,以空格分隔,返回列表。   在此,就可输入:3 2 4 1 5
for i in range(len(s)):
    for j in range(len(s)-i-1):
        if s[j] > s[j+1] :# 此为判断是否大于后一个数,大于就换(升序判断),如果想是降序,就把">"改成"<"
            s[j], s[j+1] = s[j+1], s[j]

for i in s:
    print(i,end=" ")# 输出,按之前,输出为:1 2 3 4 5

    

 

...全文
126 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

124

社区成员

发帖
与我相关
我的任务
社区描述
Python课堂教学
python 高校
社区管理员
  • 42python
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧