2017年10月23日

python 的高阶算法之堆排序

摘要: 利用完全二叉树的性质来进行堆的运算: 会利用到树的左右孩子判断性质 i=1(根)无双亲,若i>1,则其双亲就是(int/2),向下取整,子结点的编号整除2得到的就是父节点的编号,父结点如果是i,那么左孩子就是2i,右孩子就是2i+1,若2i>n则结点i无左孩子,即结点i为叶子结点,若 2i+1>n 阅读全文

posted @ 2017-10-23 13:05 pythonerLau 阅读(269) 评论(0) 推荐(0) 编辑

functools模块用途

摘要: partial 偏函数,把函数部分的参数固定下来,相当于为部分的参数添加了一个固定的默认值,形成了一个新的函数并返回 从partial生成的新函数,是对原函数的封装 lru_cache(maxsize=128,typed=Flase) least-recently-used装饰器,lru,最近最少使 阅读全文

posted @ 2017-10-23 13:05 pythonerLau 阅读(246) 评论(0) 推荐(0) 编辑

类型注解

摘要: python类型注解: python是动态语言,变量随时可以被赋值,且能赋值为不同的类型 python不是静态语言,变量类型在运行时才决定 动态语言弊端: 难发现,难使用;不做任何类型检查,只会在运行时才暴露出问题,函数的使用者看到时并不知道你的函数的设计,不知道该传入什么类型的数据 关于弊端解决的 阅读全文

posted @ 2017-10-23 13:05 pythonerLau 阅读(2498) 评论(0) 推荐(1) 编辑

高阶函数和装饰器

摘要: 高阶函数的定义: 函数也可以是对象,或者可以调用的对象 函数可以作为普通变量,参数,数值等等 数学概念: y =g(f(x)) 高阶函数应该是一个至少满足下面一个条件的函数 接受一个或多个函数作为参数 输出一个函数 自己写一个排序的函数: 自己实现sort排序之flag版: def sort(ite 阅读全文

posted @ 2017-10-23 13:04 pythonerLau 阅读(492) 评论(0) 推荐(0) 编辑

导航