开启辅助访问

QQ登录

只需一步,快速开始

扫一扫,访问微社区

立即注册 找回密码 切换到宽版 |打卡签到
查看: 22|回复: 0

[课堂笔记] 第一阶段Python总结

 关闭 [复制链接]

3

主题

7

帖子

30

积分

菜鸟

Rank: 1

发表于 17-9-13 22:27:18 | 显示全部楼层 |阅读模式
第一阶段中,主要学习了一些基础语法,算法涉及的较少,所以分享几个常用的排序算法。

冒泡排序(交换排序):
  1. def bubble(bubbleList):
  2.     listLength = len(bubbleList)
  3.     while listLength > 0:
  4.         for i in range(listLength - 1):
  5.             if bubbleList<i> > bubbleList[i+1]:
  6.                 bubbleList<i> = bubbleList<i> + bubbleList[i+1]
  7.                 bubbleList[i+1] = bubbleList<i> - bubbleList[i+1]
  8.                 bubbleList<i> = bubbleList<i> - bubbleList[i+1]
  9.         listLength -= 1
  10.     print bubbleList

  11. if __name__ == '__main__':
  12.     bubbleList = [3, 4, 1, 2, 5, 8, 0]
  13.     bubble(bubbleList)

  14. 快速排序(交换排序):
  15. def quickSort(L, low, high):
  16.     i = low
  17.     j = high
  18.     if i >= j:
  19.         return L
  20.     key = L<i>
  21.     while i < j:
  22.         while i < j and L[j] >= key:
  23.             j = j-1                                                            
  24.         L<i> = L[j]
  25.         while i < j and L<i> <= key:   
  26.             i = i+1
  27.         L[j] = L<i>
  28.     L<i> = key
  29.     quickSort(L, low, i-1)
  30.     quickSort(L, j+1, high)
  31.     return L</i></i></i></i></i></i></i></i></i></i></i>
复制代码


希尔排序(插入排序):
  1. def shell(arr):
  2. n=len(arr)
  3. h=1
  4. while h<n/3:
  5.   h=3*h+1
  6. while h>=1:
  7.   for i in range(h,n):
  8.    j=i
  9.    temp=arr[j]
  10.    while j>=h and arr[j]<arr[j-h]:
  11.     arr[j]=arr[j-h]
  12.     arr[j-h]=temp
  13.     j-=h
  14.   h=h/3
  15. print arr
复制代码

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

小千推荐 上一条 /3 下一条

  • 千锋技术开发交流群
  • 学员论坛交流群:523516910
  • HTML5学习交流群:314548237
  • UI学习交流群:159532533
  • Linux学员交流群:543284166

订阅|小黑屋|手机版|千锋教育论坛 ( 京ICP备12003911号-3

GMT+8, 17-9-23 10:06 , Processed in 0.279554 second(s), 38 queries .

Powered by 千锋教育 X3.2

© 2001-2015

快速回复 返回顶部 返回列表