一。冒泡排序:
1.冒泡排序是將無序的數字排列成從小到大的有序組合:
過程:對相鄰的兩個元素進行比較,對不符合要求的數據進行交換,最后達到數據有序的過程。
規律:
1.冒泡排序的趟數時固定的:n-1
python算法詳解?2.冒泡排序比較的次數時固定的:n*(n-1)/2
3.冒泡排序交換的次數時不固定的:但是最大值為:n*(n-1)/2
注意:n = 數據個數,排序過程中需要臨時變量存儲要交換的數據
eg:
l=[688, 888, 711,999,1,4,6]
for i in range(len(l)-1):
python爬蟲教程、for j in range(len(l)-1):
if l[j]>l[j+1]:
tmp=l[j]
l[j]=l[j+1]
l[j+1]=tmp
print(l)
python用什么軟件編程?二。選擇排序:
list=[10,3,5,2,9]
過程,循環當前列表,將當前循環到的值與余下的每個數字相比較,如果比當前值小,就與當前值交換位置。
eg:
l=[688, 888, 711,999,1,4,6]
for i in range(len(l)-1):
python 類?for j in range(i+1,len(l)):
if l[j]
tmp=l[i]
l[i]=l[j]
l[j]=tmp
print(l)
python sort函數。優化:每次找到最小值后不立即替換,而是等待本次循環結束再替換,減少了操作的次數,效率提高了
l=[688, 888, 711,999,1,4,6]
for i in range(len(l)-1):
Min=i
for j in range(i+1,len(l)):
if l[Min] > l[j]:
python怎么用,Min=j
tmp=l[Min]
l[Min]=l[i]
l[i]=tmp
print(l)
三。插入排序:
python數據結構、插入排序(Insertion Sort)的基本思想是:將列表分為2部分,左邊為排序好的部分,右邊為未排序的部分,循環整個列表,每次將一個待排序的記錄,按其關鍵字大小插入到前面已經排好序的子序列中的適當位置,直到全部記錄插入完成為止。
eg:
array=[9,8,7,6,5,4,3,2,1]
for i in range(1,len(array)):
current_val=array[i]
current_position=i
python算法應用,while current_position >0 and array[current_position-1] > current_val:
array[current_position]=array[current_position-1]
current_position-=1
array[current_position]=current_val
print(array)
以上所述是小編給大家介紹的python常用程序算法詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對我們網站的支持!
python數據結構和算法?本文標題: 淺談python常用程序算法
本文地址: http://www.cppcns.com/jiaoben/python/254825.html
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态