07 2014 档案

摘要:一个无向图G的最小生成树就是由该图的那些连接了G的所有顶点的边构成的树,且其总权重最低。最小生成树存在当且仅当G是连通的。对于任何一生成树T,如果将一条不属于T的边e加进来,则产生一个圈。如果从圈中除去任意一条边,则又恢复树的特性。如果边e的权值比除去的边的值低,那么新生成的树的值就比原生成的树的值... 阅读全文
posted @ 2014-07-24 22:19 再见紫罗兰 阅读(1849) 评论(0) 推荐(0) 编辑
摘要:python中执行obj.attr时,将调用特殊方法obj.__getattribute__('attr'),该方法执行搜索来查找该属性,通常涉及检查特性、查找实例字典、查找类字典以及搜索基类。如果搜索过程失败,最终会尝试调用类的__getattr__()方法。如果这也失败,则抛出Attribute... 阅读全文
posted @ 2014-07-22 22:28 再见紫罗兰 阅读(974) 评论(0) 推荐(0) 编辑
摘要:python内置的描述符python有些内置的描述符对象,property、staticmethod、classmethod,python实现如下:class Property(object): def __init__(self,getf,setf,delf,doc): sel... 阅读全文
posted @ 2014-07-22 21:32 再见紫罗兰 阅读(695) 评论(0) 推荐(0) 编辑
摘要:Python 描述符是一种创建托管属性的方法。每当一个属性被查询时,一个动作就会发生。这个动作默认是get,set或者delete。不过,有时候某个应用可能会有更多的需求,需要你设计一些更复杂的动作。最好的解决方案就是编写一个执行符合需求的动作的函数,然后指定它在属性被访问时运行。一个具有这种功能的... 阅读全文
posted @ 2014-07-21 04:03 再见紫罗兰 阅读(1115) 评论(0) 推荐(0) 编辑
摘要:通常,访问类和实例属性的时候,将返回所存储的相关值,也就是直接和类(实例的)的__dict__打交道。若果要规范这些访问和设值方式的话,一种方法是数据描述符,另一种就是python内置的数据描述符协议函数Property()。property是一种特殊的值,访问它时会计算它的值。特性的原型函数是pr... 阅读全文
posted @ 2014-07-20 20:42 再见紫罗兰 阅读(1902) 评论(0) 推荐(0) 编辑
摘要:with语句支持在一个叫上下文管理器的对象的控制下执行一系列语句,语法大概如下:with context as var: statements其中的context必须是个上下文管理器,它实现了两个方法__enter__,__exit__。1.需求是怎么产生的在正常的管理各种系统资源(文件、锁定... 阅读全文
posted @ 2014-07-20 07:40 再见紫罗兰 阅读(878) 评论(0) 推荐(0) 编辑
摘要:myfunc=wrapper(myfunc)是一种很常见的修改其它函数的方法。从python2.4开始,可以在定义myfunc的def语句之前写@wrapper。 这些封装函数就被称为装饰器Decorator,其主要用途是包装另一个函数或类。这种包装的首要目的是透明的修改或增强被包装对象的行为。 1 阅读全文
posted @ 2014-07-19 23:57 再见紫罗兰 阅读(707) 评论(0) 推荐(0) 编辑
摘要:Dijkstra算法解决了有向图G=(V,E)上带权的单源最短路径问题,但要求所有边的权值非负。Dijkstra算法是贪婪算法的一个很好的例子。设置一顶点集合S,从源点s到集合中的顶点的最终最短路径的权值均已确定。算法反复选择具有最短路径估计的顶点u,并将u加入到S中,对u的所有出边进行松弛。如果可... 阅读全文
posted @ 2014-07-10 22:02 再见紫罗兰 阅读(2198) 评论(1) 推荐(2) 编辑
摘要:有一个无权的图G,使用某个顶点s作为输入参数,找出从s到其它顶点的最短路径。这样,只要计算包含在路径中的边数就可以了。比如,一个word ladder problem,一次只变换一个字母,找出从fool到sage的最短路径。可用的单词可以转化为一个图:首先寻找与fool距离为1的顶点:然后可以寻找距... 阅读全文
posted @ 2014-07-09 16:18 再见紫罗兰 阅读(1320) 评论(0) 推荐(0) 编辑
摘要:拓扑排序是对有向无圈图的顶点的一种排序。如果存在一条vi到vj的路径,则vi排在vj前面。如果图含有圈,则拓扑排序是不可能的。拓扑排序的两种排法:一个简单的求拓扑排序的算法是先找出任意一个没有入边的顶点,然后显示出该顶点,并将它和它的边一起从图中删除,对图的其余部分应用同样的方法。首先,对于每个顶点... 阅读全文
posted @ 2014-07-05 21:15 再见紫罗兰 阅读(1241) 评论(0) 推荐(0) 编辑
摘要:一个图(graph)G=(V,E)是由顶点集V和边集E组成。每一条边就是一个顶点对(v,w),其中v,w∈V。如果点对是有序的,那么图就是有向图。图中的一条路径path是一个顶点序列w1,w2,w3,...,wk,使得(wi,wi+1)∈E,1<=i<=k。路径的长是该路径上的边数。 如果在一个无... 阅读全文
posted @ 2014-07-05 19:52 再见紫罗兰 阅读(2477) 评论(0) 推荐(0) 编辑
摘要:不相交集合数据结构保持一组不相交的动态集合S={S1,S2,...,SK},每个集合通过一个代表来识别,代表即集合中的某个成员。如果x表示一个对象,不相交集合支持以下操作:MAKE-SET(x):建立一个新的集合,其唯一成员为x。因为各集合是不想交的,故x没有在其它集合中出现。UNION(x,y):... 阅读全文
posted @ 2014-07-04 23:00 再见紫罗兰 阅读(1185) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示