排序演算法比對,插入演算法和冒泡演算法

2022-05-21 19:30:10 字數 1327 閱讀 3742

插入演算法:

先貼上**如下

#

coding:utf-8

"""插入演算法 -- 原列表下每單個數對整個列表的比較並找到最合適位置,只需定義乙個變數

"""a = [3, 2, 4, 1, 5]

definsort(list1):

if len(list1) ==0:

return

#k = 1

#for i in (1, len(list1)):

for i in range(1, len(list1)):

b =list1[i]

cc = i - 1

while cc >=0:

if b list1[cc+1] =list1[cc]

else

:

break

cc -= 1list1[cc + 1] =b

print

(list1)

print

(list1)

insort(a)

#sorted(a)

冒泡演算法**如下

#

coding:utf-8

"""冒泡演算法-- 相鄰兩數比較, 需要定義三個變數

"""a = [3, 2, 4, 1, 5]

definsort(list1):

len1 =len(list1)

for i in range(len1-1):

j = i + 1

#for j in range(0, i+1):

#a = list1[i]

#b = list1[j]

#if list1[i] > list1[j]:

#list1[i] = b

#list1[j] = a

#print(j)

#print(list1[j])

while j >0 :

a =list1[j]

b = list1[j-1]

#print(a,b)

if a list1[j] =b

list1[j-1] =a

else

:

break

j -= 1

#print(list1)

print

(list1)

insort(a)

#sorted(a)

示例**如上,結論:插入演算法更快切穩定

理由:1、定義引數個數,冒泡3個,插入1個,當資料量大時,執行**時引數多的開銷越大耗時也越久。

氣泡排序演算法,選擇排序演算法,插入排序演算法

這是最基本的三種排序演算法,比它效率高的還有歸併排序,堆排序,快速排序等演算法,作為乙個it民工應該好好掌握。氣泡排序,選擇排序和插入排序都有兩層迴圈,時間複雜度均為o n 2 下面逐一介紹 氣泡排序 1.外層迴圈,控制冒泡次數,起始從loop 1開始,結束標識是loop2.內層迴圈,選出對應輪的最...

演算法 演算法 冒泡,選擇,插入排序演算法

小續 演算法只是一種思想,在很大程度上,其實現都依賴於資料結構,所以這裡提取出一些典型的演算法和資料結構,包括排序以及鍊錶 堆疊 佇列等結構的操作 冒泡法排序 陣列中有n個整數,用冒泡法將他們從小到大 或從大到小 排序。例項解析 排序是非常重要且很常用的一種操作,有氣泡排序 選擇排序 插入排序 希爾...

演算法 選擇 插入 氣泡排序

選擇排序,就是每次選擇未排序中最小的,放到第i個位置。比如第一次,遍歷整個陣列,找到陣列中最小的,放到第乙個位置 第二次從第2個元素開始遍歷,找到最小的,放到第2個位置 以此類推,流程如下。輸出結果 012 3568 9插入排序,第一次迴圈,當做0 0號位置已經排好序,需要做的是從0 1號位置排序,...