最近买了好几本算法的书,以前就听过算法,其实还是挺敬仰的,因为在大学高数学的不咋样,觉得以后肯定走不了算法的道路了。。。
但是又在公司写了一个关于车载模型的脚本,因为里面数据太大了,加起来几十万个,以前从来没有接触这么大的数据,我也没有想过我的脚本会跑好几个小时。事后我思考了一下,确实写的时候很多不足,脚本本身改了好多次,因为算法没有校正对,其次就是完全没有想过优化的事情,所以我想如果我会优化一些算法会不会更好一些?
因此买了几本算法书。看到了久违的集中排序算法,第一次看到PYTHON写的,不过更加感到开心的是第一次看到高手的玩法,于是先临摹一下,照猫画虎。。。
def mergesort(seq):
mid=len(seq)//2
lft,rgt=seq[:mid],seq[mid:]
if len(lft)>1 : lft=mergesort(lft)
if len(rgt)>1 : rgt=mergesort(rgt)
res=[]
while lft and rgt:
if lft[-1] >=rgt[-1]:
res.append(lft.pop())
else:
res.append(rgt.pop())
res.reverse()
return (lft or rgt)+res