摘要: 平衡二叉树定义(AVL):它或者是一颗空树,或者具有以下性质的二叉树:它的左子树和右子树的深度之差(平衡因子)的绝对值不超过1,且它的左子树和右子树都是一颗平衡二叉树。 平衡二叉树是在二叉排序树(BST)上引入的(这一点很重要哦) 讨论:BST为什么需要平衡化?平衡二叉树很好的解决了二叉查找树退化成 阅读全文
posted @ 2018-05-30 22:48 耐烦不急 阅读(288) 评论(0) 推荐(0) 编辑
摘要: 注意:对一个二叉排序树进行中序遍历时,得到的序列是一个按值从小到大排列的有序序列 查找性能的分析: 阅读全文
posted @ 2018-05-30 16:43 耐烦不急 阅读(218) 评论(0) 推荐(0) 编辑
摘要: def BinarTree(r): return [r,[],[]] def insertLeft(root,newBrach): t=root.pop(1) if len(t)>1: root.inset(1,[newBrach,t,[]]) else: root.insert(1,[newBrach,[],[]]) ... 阅读全文
posted @ 2018-05-30 16:18 耐烦不急 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 树: 二叉树: 空结点对应的为空树;无左右子树的结点对应于叶子结点; 只有左子树的结点、只有右子树的结点对应于度为1的结点; 具有左右子树的结点对应于度为2的结点。 度为2的结点数的出边数为2,所以N2*2;度为1的结点数的出边数为1;N-1为树的边数=总结点数-1 结论:叶子结点数目=度为2的结点 阅读全文
posted @ 2018-05-30 15:39 耐烦不急 阅读(272) 评论(0) 推荐(0) 编辑
摘要: from collections import deque dq=deque() dq.append(1) dq.append(2)#尾部添加 print(dq) dq.popleft()#首部删除 print(dq) dq.popleft() print(dq) 阅读全文
posted @ 2018-05-30 14:37 耐烦不急 阅读(185) 评论(0) 推荐(0) 编辑