python
乐行僧丶
这个作者很懒,什么都没留下…
展开
-
python实现算法:全排列算法
代码部分:#test.pydef swap(arr, i, j): tmp = arr[i] arr[i] = arr[j] arr[j] = tmpdef show(arr,n): for i in rang(0,n): print(arr[i],'\t',end=' ')//全排列部分def perm(arr, p, q): if p==q: show(arr...原创 2019-01-03 18:42:25 · 3133 阅读 · 0 评论 -
python实现算法:二进制数中1的个数
def count_bit(num): cnt = 0 while num>0: if num&1==1: cnt += 1 num >>= 1 return cnt原创 2019-01-03 18:55:33 · 909 阅读 · 0 评论 -
python实现算法:输出素数表
代码部分:prime.py//时间复杂度为O(n)def is_prime(num): if num<=1: return False for i in range(2,num): if num%i==0: return False return True//arr为列表类型,求出1-100之间的素数def find_prime(arr): for i in ...原创 2019-01-04 21:24:13 · 3179 阅读 · 0 评论 -
python实现算法:并查集
代码部分:class UnionFind(): is_root = [] #是否为根 father = [] #father[k] = value 保存k的父亲节点 def __init__(self, n): #为方便编写,数组下标从1开始,占用列表的零下标 self.isRoot.append(0) self.father.append(True) for i...原创 2019-01-05 22:47:37 · 1236 阅读 · 0 评论 -
python 记录欧几里得算法
一、递归法#保证a>bdef gcd(a,b): if b==0: return a else: return gcd(b, a%b)一、递推法def gcd(a, b) if a<b: a,b = b,a else: while(b > 0): r = a%b a = b b = r return a ...原创 2019-02-22 09:38:31 · 1881 阅读 · 1 评论