
python学习
小海Code
开始自己的小弱之路,遇见志同道合之人,交流可加微信HR-216
展开
-
插入排序、选择排序—Python实现
插入排序插入排序 图表展示代码def insertionSort(alist): for index in range(1,len(alist)): current=alist[index] position=index while position>0 and alist[position-1]>current: ...原创 2018-06-02 16:50:00 · 252 阅读 · 0 评论 -
谢尔排序—Python实现
谢尔排序我们注意到插入排序的对比次数,在最好的情况下是O(n),这种情况发生在列表是已有序的情况下,实现上,列表越接近有序,插入排序的比对次数就越少。对这个情况入手,谢尔排序以插入排序为基础,对无序表进行“间隔”划分子列表,每个子列表执行插入排序间隔为3的子列表,子列表分别插入排序后的整体状况更接近有序最后一趟是标准的插入排序,但由于前面几趟已经将列表处理到接近有序,这一趟仅需要少数几次移动即可完...原创 2018-06-02 17:34:20 · 302 阅读 · 0 评论 -
归并排序—Python实现
归并排序归并排序是递归算法,思路是将数据表持续分裂为两半,对两半分别进行归并排序递归的基本结束条件:数据表仅有一项,自然是排好序的缩小规模:将数据表分裂为相等的两半,规模减为原来的二分之一调用自身:将两半分别调用自身排序,然后将分别排好序的两半进行归并,得到排好序的数据表代码def mergeSort(alist): if len(alist)>1: mid=len(...原创 2018-06-02 17:59:27 · 1699 阅读 · 3 评论 -
快速排序—Python实现
快速排序快速排序的思路是依据一个中值数据项来把数据表分为两半:小于中值的一半和大于中值的一半,然后每部分分别进行快速排序基本结束条件:数据表仅有一个数据项,自然是排好序的。缩小规模:根据中值,将数据表分为两半,最好情况是相等规模的两半调用自身:将两半分别调用自身进行排序分裂数据表的目标:找到“中值”应处的位置分裂数据表的手段:①设置左右标,左标向右移动,右标向左移动,②左标一直向右移动,碰到比中值...原创 2018-06-02 19:31:02 · 12446 阅读 · 0 评论 -
Python list实现简单二叉树
Python list实现简单二叉树BinaryTree创建仅有根节点的二叉树insertLeft/insertRight将新节点插入树中作为其直接的左/右子节点get/setRootVal取得或设置根节点getLeft/RightChild返回左/右子树def BinaryTree(r): return [r,[],[]] def insertLeft(root,newBranch): ...原创 2018-06-04 20:20:24 · 1654 阅读 · 0 评论 -
Python大全(持续更新)
Python大全常用的数学模块sqrt,cos,sin 在math模块中**乘方字符串用双引号或单引号表示字符串(不可修改)三个连续单引号表示多行字符串*复制 +连接[start:end:step]切片in :某个元素是否存在range函数返回range类型的对象,可以直接当做序列用,也可以转换为list或者tuple等容器类型tuple(range(10)) (0,1,2,3,4,5,6,7,8...原创 2018-05-30 21:32:27 · 269 阅读 · 0 评论 -
冒泡排序及改进—Python实现
最简单排序冒泡排序的实现冒泡排序的算法思路在于对无序表进行多趟比较交换,每趟包括了两次两两相邻比较,并将逆序的数据项交换位置,最终能将本趟的最大项就位,经过n-1趟比较,实现整表排序。图表展示代码def bubbleSort(alist): for passnum in range(len(alist)-1,0,-1): for i in range(passnum): ...原创 2018-06-02 16:16:40 · 620 阅读 · 0 评论