随笔分类 - python
笔记
摘要:希尔排序 ===== 希尔排序的实质就是分组插入排序,该方法又称缩小增量排序,因DL.Shell于1959年提出而得名。 希尔排序,也称递减增量排序算法,是插入排序的一种更高效的改进版本。希尔排序是非稳定排序算法。 希尔排序是基于插入排序的以下两点性质而提出改进方法的: 插入排序在对几乎已经排好序的
阅读全文
摘要:"参考" 这个方法一般用于初始化一个类 __但是__ 当实例化一个类的时候, 并不是第一个被调用的, 第一个被调用的是 这是一个内置方法, 只能返回字符串, 并且只能有一个参数self 方法是创建类实例的方法, 创建对象时调用, 返回当前对象的一个实例 方法是类实例创建之后调用, 对当前对象的实例的
阅读全文
摘要:快速排序的时间复杂度是O(NlogN) 算法描述 先从序列中取出一个数作为基准数 分区过程, 将比这个数大的数全部放到它的右边, 小于或等于它的数全部放到它的左边 再对左右区间重复第二步, 直到各区间只有一个数 假设对 6, 1, 2, 7, 9, 3, 4, 5, 10, 8 进行排序, 首先在这
阅读全文
摘要:插入排序 ==== 直接看代码吧, 这个和好理解, 反正我是看着和冒泡排序很像
阅读全文
摘要:桶排序 ==== 通排序非常浪费空间, 比如需要排序的范围在 之间, 需要排序的数是[3,9,4,2000], 同样需要2001个空间 __注意:__ 通排序不能排序小数 以下为从小到大代码实现
阅读全文
摘要:选择排序 === 选择排序每次只记录最大数的索引值. 类似于冒泡排序, 也是要比较 次, 区别是冒泡排序每次都交换, 选择排序只在最后比较完后才进行交换 python !/usr/bin/env python coding:utf 8 def selectSort(nums): for i in r
阅读全文
摘要:冒泡排序的时间复杂度是O(N^2) 冒泡排序的思想: 每次比较两个相邻的元素, 如果他们的顺序错误就把他们交换位置 比如有五个数: 12, 35, 99, 18, 76, 从大到小排序, 对相邻的两位进行比较 第一趟: 第一次比较: 35, 12, 99, 18, 76 第二次比较: 35, 99,
阅读全文
摘要:使用 来让列表反转特别方便, 没事自己写了几种方式 根据结果能看出, insert操作的执行顺序是先删除, 后插入 python In [67]: def reverse(nums): i, j = 0, len(nums) 1 while i
阅读全文
摘要:在读 , 发现了下面这个例子, 之前没有碰到过, 记录下来 的执行过程是: 由于b是B的实例对象, 所以首先在B类中查找f 没有的话去父类A找, 找到后执行f函数 接着在self.f函数中遇到 由于self的值是一个类C的实例对象, 所以确定g的工作再从调用对象所属属性C类开始进行 由于C类里面有函
阅读全文
摘要:找了很多使用python发送邮件的文章, 发现写的并不是太全, 导致坑特别多, 刚把这个坑跨过去, 在此记录下来 本代码使用163作为发送客户端, 接收邮箱随意 首先登录163邮箱, 开启 服务, 此过程需要验证第三方客户端登录验证权限, 并单独设置一个授权密码, 这个密码要记住 具体邮件流程参考:
阅读全文

浙公网安备 33010602011771号