插入演算法:
先貼上**如下
#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
(list1)
(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)
(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號位置排序,...