摘要: 输出: 查找顺序: 先查找__getattribute__: 1.查找数据描述符__get__ 2.查找实例__dict__ 3.查找基类 若是非数据描述符访问其__get__ 否则查找基类__dict__ 没找到再查找__getattr__ 否则抛出异常AttributeError 阅读全文
posted @ 2018-06-15 17:11 icekx 阅读(809) 评论(0) 推荐(0) 编辑
摘要: 列表 + 元组: 列表 += 元组: 原因:‘ += ’是调用 iadd()函数,然后调用extend函数,extend函数会遍历序列元素再依次加入: append()始终将加入的元素作为整体加入: 阅读全文
posted @ 2018-06-13 17:28 icekx 阅读(430) 评论(0) 推荐(0) 编辑
摘要: Python有一个重要的概念,一切皆对象。 一切都可以赋值给变量: 内置类型赋值: 将类类型赋值给变量: 将函数赋值给变量: 将自定义类赋值给: 。。。 阅读全文
posted @ 2018-06-10 08:53 icekx 阅读(3570) 评论(0) 推荐(1) 编辑
摘要: 1 # 有向无环图 2 def sortedTopology(graph): 3 inDict = {} # 存储节点:节点入度 4 zeroInQueue = Queue() # 存储入度为零的节点 5 for node in graph.nodes: # 遍历图所有的节点 6 ... 阅读全文
posted @ 2018-06-07 20:53 icekx 阅读(409) 评论(0) 推荐(0) 编辑
摘要: 1.广度优先搜索 2.深度优先搜索 阅读全文
posted @ 2018-06-07 19:40 icekx 阅读(14610) 评论(1) 推荐(1) 编辑
摘要: 1.每个节点类型设置 2.每条边类型设置 3.图的结构 4.图的实现 阅读全文
posted @ 2018-06-07 19:36 icekx 阅读(4899) 评论(0) 推荐(0) 编辑
摘要: 1.给你一个二维数组,二维数组中的每个数都是正数,要求从左上角走到右下角,每一步只能向右或向下沿途经过的数字要累加起来,返回最小路径和 2.给你一个数组arr,和一个整数aim。如果可以任意选择arr中的数字,能不能累加得到aim,返回true 或者 false 阅读全文
posted @ 2018-06-07 10:31 icekx 阅读(1062) 评论(0) 推荐(0) 编辑
摘要: 1 # 返回并移除当前栈底元素(栈内元素(1,2,3)==> (2,3),弹出1) 2 def getAndRemoveLast(stack): 3 res = stack.pop() # 依次将栈顶元素弹出并保存在res中 4 if len(stack) == 0: # 若此时栈已空:栈底元素返回 5 return res ... 阅读全文
posted @ 2018-06-07 10:02 icekx 阅读(520) 评论(0) 推荐(0) 编辑
摘要: 暴力递归: 把问题转化为规模缩小了的同类问题的子问题 有明确的不需要继续进行递归的条件(base case) 有当得到了子问题的结果之后的决策过程 不记录每一个问题的解 1.给定任意正整数n,求n的阶乘 2.打印n层汉诺塔从最左边移动到最右边的全部过程 3.打印一个字符串的全部子序列,包括空字符串 阅读全文
posted @ 2018-06-06 23:06 icekx 阅读(2236) 评论(0) 推荐(0) 编辑
摘要: 1 # 并查集实现 2 class Node: 3 pass 4 5 class UnionFindSet: 6 def __init__(self, nodes): 7 self.fatherDict = dict() 8 self.sizeDict = dict() 9 for node in nodes: ... 阅读全文
posted @ 2018-06-05 22:25 icekx 阅读(1221) 评论(0) 推荐(0) 编辑