算法分析之分治法学习总结(一)一)解决问题的类型:当我们要解决一个输入规模(n)很大的问题时,直接处理往往比较困难或者根本无法求解,我们希望把输入规模缩小,即分成很多份,分别解决了,并且这些小问题容易合起来从而解决整个问题。二)解题关键:1)如何分:我们往往先把输入分成两个与原来相同的子问题,如果规模还太大,我们对这些子问题再做上述处理,直到这些子问题容易解决为止.2)合并子问题:往往分治法的难点在于分完之后怎么合并.合并策略决定了算法的优劣,合并问题根据
系统 2019-08-12 09:30:06 1883
在软件构建过程中,某些对象的状态如果改变,其行为也会随之而发生变化。如何在运行时根据对象的状态来透明地更改对象的行为?而不会为对象操作和状态转化之间引入紧耦合?允许一个对象在其内部状态改变时改变它的行为。从而使对象看起来似乎修改了其行为。一,结构:二,示例代码:publicinterfaceState{publicvoidhandle(Contextcontext);}classConcreteStateAimplementsState{publicvoi
系统 2019-08-12 09:29:27 1883
前言我在使用mac安装virtualwrapper的时候遇到了问题,搞了好长时间,才弄好,在这里总结一下分享出来,供遇到相同的问题的朋友使用,少走些弯路。问题说明:Mac默认系统的python2,而我自己用的是brew安装的python3下面是我安装过程中出现的问题1.安装virtualwrapper打开终端,输入如下的命令pip3installvirtualenvpip3installvirtualenvwrapper2.在配置文件~/.bash_pro
系统 2019-09-27 17:56:58 1882
python脚本自动生成需要文件在工作中我们经常需要通过一个文件写出另外一个文件,然而既然是对应关系肯定可以总结规律让计算机帮我们完成,今天我们就通过一个通用文件生成的python脚本来实现这个功能,将大家从每日重复的劳动中解放!定义一个函数defproduceBnf(infilename,outfilename):List=[]withopen(infilename,'r')asinf:forlineininf.readlines():List.appe
系统 2019-09-27 17:56:45 1882
python常见的报错提示转发自昵称:aiaiduo来源:https://www.cnblogs.com/aiaiduo/p/7966626.html在运行或编写一个程序时常会遇到错误异常,这时python会给你一个错误提示类名,告诉出现了什么样的问题(Python是面向对象语言,所以程序抛出的异常也是类)。能很好的理解这些错误提示类名所代表的意思,可以帮助你在最快的时间内找到问题所在,从而解决程序上的问题是非常有帮助的。搜集了一些python最重要的内建
系统 2019-09-27 17:56:41 1882
相关模块osos.pathshutilpathlib(Newinversion3.4)基本操作判断文件(夹)是否存在。os.path.exists(pathname)#newpathlib.Path(pathname).exists()判断路径名是否为文件。os.path.isfile(pathname)#newpathlib.Path(pathname).is_file()判断路径名是否为目录。os.path.isdir(pathname)#newpat
系统 2019-09-27 17:56:34 1882
Python的富比较方法包括__le__、__ge__分别表示:小于等于、大于等于,对应的操作运算符为:“<=”、“>=”。那么是否象普通数字运算一样,这两个方法之间存在互反的关系呢?Python没有对__le__、__ge__这两个方法之间有什么强制关系,但建议__le__和__ge__为互反,开发者完全可以根据业务逻辑的需要自己定义。我们来进行分析验证:当自定义类中两个方法都定义了时,“<=”、“>=”分别调用__le__和__ge__方法;当自定义类
系统 2019-09-27 17:56:26 1882
类的特殊成员之call#!/usr/bin/envpython#_*_coding:utf-8_*_classSpecialMembers:#类的构造方法def__init__(self):print("MyBlogisUrl:http://yw666.blog.51cto.com")#对象的构造方法def__call__(self):print("MyNameis:Yangwen")#创建一个对象,并且执行类的构造方法obj=SpecialMembers
系统 2019-09-27 17:56:02 1882
先看服务端的代码importsys#importsocketimporttimeimportgeventfromgeventimportsocketfromgeventimportmonkeymonkey.patch_all()#类似于python中的黑魔法,把很多模块的阻塞的变成非阻塞的,比如socket中的rece和send都变#为不阻塞了defserver(port):s=socket.socket()s.bind(("127.0.0.1",port
系统 2019-09-27 17:55:42 1882
这几天和几个朋友以各种途径讨论过OOP的相关问题,他们是:令狐虫、Frank、晋剑、小冯大家对OOP有不同看法,所谓工程派和学院派看法不一致。从应用的角度看,工程派的观点是值得推荐的,那就是:不用太在意内部是怎么工作的,只要能够解决眼下的问题即可。但是,对于学习者而言,如果仅仅停留在工程派的层面(特别提醒,上述几位朋友都是工程派的大侠,他们可不是简单地能够使用,其实是更高层次的“无招胜有招”),学习者可能感觉有点不透彻。所以,学习者,特别是初学者,要知道一
系统 2019-09-27 17:55:20 1882