使用递归实现任意进制的转换

摘要: def tostr(data,base): str='0123456789ABCDEF' if data<base: return str[data] else: return tostr(data//base,base)+tostr(data%base,base)print(tostr(75,15 阅读全文
posted @ 2018-09-19 09:50 master~hu 阅读(962) 评论(0) 推荐(0)

使用栈进行复杂符号匹配

摘要: from pythonds.basic.stack import Stackdef parchecker(SymbolString): s=Stack() balance=True index=0 while index<len(SymbolString) and balance: if Symbo 阅读全文
posted @ 2018-09-17 22:37 master~hu 阅读(344) 评论(0) 推荐(0)

使用栈进行括号匹配

摘要: from pythonds.basic.stack import Stackdef parchecker(SymbolString): s=Stack() balance=True index=0 for i in range(len(SymbolString)): if SymbolString[ 阅读全文
posted @ 2018-09-17 22:00 master~hu 阅读(106) 评论(0) 推荐(0)

乱序字符串的检查(算法)

摘要: 乱序字符串检查:指一个字符串只是另一个字符串的重新排列。例如,'heart' 和 'earth' 就是乱序字符串。 最优的解题思路是:两个含26个0元素的列表,遍历字符串,统计字符串中每个字符在列表中的个数,然后检验两个列表是否相等,若相等则为乱序字符串 阅读全文
posted @ 2018-09-17 20:25 master~hu 阅读(752) 评论(0) 推荐(0)

python list的几种属性

摘要: 1.list.append() #在列表后面追加元素 2.list.extend() #在列表后面追加另一个列表的元素 3.list.pop(index) #弹出指定位置的元素 4.list.sort(reverse=False) #列表元素升序 #reverse=True为降序 5.list.co 阅读全文
posted @ 2018-09-17 14:37 master~hu 阅读(5179) 评论(0) 推荐(0)

python面向对象编程(很重要)

摘要: class LogicGate(): def __init__(self,n): self.name=n def getname(self): return self.name def getoutput(self): output=self.out() return outputclass Bin 阅读全文
posted @ 2018-09-17 12:51 master~hu 阅读(236) 评论(0) 推荐(0)

python 使用类的内置方法定义类

摘要: def gcd(m,n): if n==0: print("n is not equal 0!") else: while m%n!=0: new=m m=n n=new%n return nclass Fraction(): def __init__(self,m,n): self.m=m sel 阅读全文
posted @ 2018-09-16 15:50 master~hu 阅读(192) 评论(0) 推荐(0)

python寻找最大公约数(欧几里德算法)

摘要: def gcd(m,n): if n==0: #考虑特殊情况 print("n is not equal 0!") else: while m%n!=0: new=m m=n n=new%n return nprint(gcd(2,0)) 阅读全文
posted @ 2018-09-16 15:04 master~hu 阅读(1852) 评论(0) 推荐(0)

如何判定是否是NP完全问题

摘要: 1.元素较少时算法的运行速度非常快,但随着元素数量的增加,速度会变的非茶慢。 2.涉及所有组合问题通常是NP完全问题 3.不能将问题分成小问题,必须考虑各种情况,这可能是NP问题 4.如果问题涉及序列(如旅行商问题中的城市序列)且难以解决,它可能是NP问题 5.如果问题涉及集合(如广播电台集合)且难 阅读全文
posted @ 2018-09-12 10:52 master~hu 阅读(1976) 评论(0) 推荐(0)

迪克斯特拉算法python实现

摘要: graph={}graph['start']={} #定义图中的各个邻居节点graph['start']['a']=6graph['start']['b']=-1graph['a']={}graph['a']['end']=1graph['b']={}graph['b']['a']=3graph[' 阅读全文
posted @ 2018-09-11 23:04 master~hu 阅读(815) 评论(0) 推荐(0)