摘要: 1 一个数组,始终保持最大/最小的元素在a[0]单元,该数组可以追加元素,可以随时取走a[0]这个最大/最小元素. 2 解决思路:保证数组a[0]始终存放最大/最小元素,且数组整体分布特征满足一定条件,使得在数组元素发生变化时,在最少的时间内使得a[0]仍是最大/最小元素. 3 牵扯3个问题: 4 (1) 给一个随机分布的无序数组,怎样把数组元素的位置调整成a[0]是最大元素,且初... 阅读全文
posted @ 2017-12-01 12:34 LevelIsBubble 阅读(275) 评论(0) 推荐(0) 编辑
摘要: 1 复习时,手画一棵查找树,亲自摸清查找树的各操作 2 二叉查找树的定义 3 一颗空树或该非空树满足: 4 1,若有左子树,左子树的所有节点小于根节点 5 2,若有右子树,右子树的所有节点大于根节点*/ 6 /*二叉查找树的一些性质 7 1.查找某个关键字的比较次数最多是树的深度, 8 模拟过程是从树根往下沿着 9 某一路径走到叶子结点。查找性能取决于树的... 阅读全文
posted @ 2017-12-01 12:33 LevelIsBubble 阅读(291) 评论(0) 推荐(0) 编辑
摘要: 内部类 匿名内部类也就是没有名字的内部类,匿名内部类就是重写父类或接口的方法。 正因为没有名字,所以匿名内部类只能使用一次,它通常用来简化代码编写 但使用匿名内部类还有个前提条件:必须继承一个抽象类或实体类或接口 实例1:不使用匿名内部类来实现抽象方法 1 2 3 4 5 6 7 8 9 10 11 阅读全文
posted @ 2017-11-27 20:08 LevelIsBubble 阅读(1067) 评论(0) 推荐(0) 编辑
摘要: 只要equals返回true 只要compare返回0 既equals又hashCode 阅读全文
posted @ 2017-11-25 22:01 LevelIsBubble 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 1 /* 2 Iterator接口屏蔽了容器的底层,能够统一的遍历任何容器。 3 使用Iteartor遍历容器的步骤: 4 (1)迭代游标 Iterator it 5 (2)容器c c.iterator() 把容器元素逻辑上排成“人行树”,并返回第一个游标 6 (3)Iterator it = c.iterator(); 7 遍历和容器无关了,所有操作由迭代游标完成。 8 bo... 阅读全文
posted @ 2017-11-24 20:36 LevelIsBubble 阅读(147) 评论(0) 推荐(0) 编辑
摘要: retain 英: [rɪ'teɪn] 保留,保持 iterator ['ɪtəreɪt] 迭代器 implements /'ɪmplɪmɛnt/ 贯彻 使生效 peek 偷看;一瞥 synchronized sɪŋkrənaɪzd 同步的 infinity [ɪnˈfɪnəti] 无穷大 阅读全文
posted @ 2017-11-24 18:44 LevelIsBubble 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 不可变类:不可变类创建的实体,创建后,实体成员变量不再变化。如Java提供的8个包装类和String。 阅读全文
posted @ 2017-11-24 14:35 LevelIsBubble 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 某个类,仅当系统不存在自身类的实体才创建实体。 即,系统中要么无实体,要么仅有一个实体。 阅读全文
posted @ 2017-11-23 20:58 LevelIsBubble 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 前言:搞懂非递归和递归三种遍历,二叉树的90%的问题算你全搞定了。 先序遍历:根,左子树,右子树 中序遍历:左子树,根,右子树 后序遍历:左子树,右子树,根 先序遍历序列的特点:ABCDEFGHIJK A是树根,左子树可能是BCDEFGH右子树可能是IJK 对于B左子树可能是CD,右子树可能是EFG 阅读全文
posted @ 2017-11-22 13:22 LevelIsBubble 阅读(3635) 评论(0) 推荐(0) 编辑
摘要: 09 void CreateTree(BiTree *T) { 10 char ch; 11 scanf("%c",&ch); 12 if(ch == '#') { 13 *T = NULL; 14 return; 15 } 16 else { 17 *T = (BiTree)malloc(size 阅读全文
posted @ 2017-11-22 12:45 LevelIsBubble 阅读(1720) 评论(0) 推荐(0) 编辑