[原创]算法学习与实践
最近在学习python 网络爬虫,顺便把常用算法复习了一下,用python实现了快速排序和直接插入排序:
1、快速排序:
#!/usr/bin/python
#coding:UTF-8
'''
Created on 2019.03.30
@author: Dolphindiv
'''
dicd=[2,3,4,1,6,0,5]
def Qsort(dic,low,high):
if(low<high):
pivotloc=partition(dic,low,high)
Qsort(dic, low, pivotloc-1)
Qsort(dic, pivotloc+1, high)
def partition(dic,low,high):
pivotkey=dic[low];
while(low<high):
while(low<high and dic[high]>=pivotkey):
high=high-1
dic[low]=dic[high]
while(low<high and dic[low]<=pivotkey):
low=low+1
dic[high]=dic[low]
dic[low]=pivotkey
return low
Qsort(dicd,0,6)
print(dicd)
2.插入排序:
#!/usr/bin/python
#coding:UTF-8
'''
Created on 2019.03.30
@author: Dolphindiv
'''
dicd=[1,3,4,2,6,0,9,20,13]
def insertsort(dic):
for j in range(1,9):
x=dic[j]
i=j-1
while(x<dic[i]and i>=0):
dic[i+1]=dic[i]
i=i-1
dic[i+1]=x
insertsort(dicd)
print(dicd)
