11 2017 档案

摘要:内部类 匿名内部类也就是没有名字的内部类,匿名内部类就是重写父类或接口的方法。 正因为没有名字,所以匿名内部类只能使用一次,它通常用来简化代码编写 但使用匿名内部类还有个前提条件:必须继承一个抽象类或实体类或接口 实例1:不使用匿名内部类来实现抽象方法 1 2 3 4 5 6 7 8 9 10 11 阅读全文
posted @ 2017-11-27 20:08 LevelIsBubble 阅读(1105) 评论(0) 推荐(0)
摘要:只要equals返回true 只要compare返回0 既equals又hashCode 阅读全文
posted @ 2017-11-25 22:01 LevelIsBubble 阅读(130) 评论(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 阅读(156) 评论(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 阅读(205) 评论(0) 推荐(0)
摘要:不可变类:不可变类创建的实体,创建后,实体成员变量不再变化。如Java提供的8个包装类和String。 阅读全文
posted @ 2017-11-24 14:35 LevelIsBubble 阅读(146) 评论(0) 推荐(0)
摘要:某个类,仅当系统不存在自身类的实体才创建实体。 即,系统中要么无实体,要么仅有一个实体。 阅读全文
posted @ 2017-11-23 20:58 LevelIsBubble 阅读(119) 评论(0) 推荐(0)
摘要:前言:搞懂非递归和递归三种遍历,二叉树的90%的问题算你全搞定了。 先序遍历:根,左子树,右子树 中序遍历:左子树,根,右子树 后序遍历:左子树,右子树,根 先序遍历序列的特点:ABCDEFGHIJK A是树根,左子树可能是BCDEFGH右子树可能是IJK 对于B左子树可能是CD,右子树可能是EFG 阅读全文
posted @ 2017-11-22 13:22 LevelIsBubble 阅读(3677) 评论(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 阅读(1738) 评论(0) 推荐(0)
摘要:斐波那契数列 f(0) = 0; f(1) = 1.......f(n) = f(n-1) + f(n - 2) 阅读全文
posted @ 2017-11-21 17:36 LevelIsBubble 阅读(184) 评论(0) 推荐(0)
摘要:1 /*输出流必须执行flush(),不然写不进去*/ 2 import java.io.*; 3 public class TestIO { 4 public static void main(String[] args) throws Exception { 5 /*单个字符的读取: int r 阅读全文
posted @ 2017-11-21 15:27 LevelIsBubble 阅读(108) 评论(0) 推荐(0)
摘要:确定流的一般过程: (1)是读还是写。读: Reader InputStream 写:Writer OutputStream (2)是否纯文本。 是: Reader Writer 否:InputStream OutputStream (3)确定流源: 硬盘:File 内存:ByteArray Cha 阅读全文
posted @ 2017-11-21 05:31 LevelIsBubble 阅读(164) 评论(0) 推荐(0)
摘要:要想明白堆排序,首先要明白堆和数组是等价的本质,还要熟悉完全二叉树的性质。 有关完全二叉树的性质 http://www.cnblogs.com/joyeehe/p/7865578.html 最大堆排序源码: 注意:假设待排序数组是a[101],此程序,对索引1到101的单元排序,不处理a[0],因为 阅读全文
posted @ 2017-11-20 22:12 LevelIsBubble 阅读(200) 评论(0) 推荐(0)
摘要:想明白快速排序,首先得解决这个问题: 一个无序数组,怎样调整数组各个单元的值,使得数组满足:a[0] 在数组中的某个位置,该位置的左边所有元素都不大于a[0],该位置右边的所有元素都不小于a[0] . 该程序执行步骤的简单说明: (1)先用一个临时变量temp保存第一个元素 (2)两头扫描找出小于和 阅读全文
posted @ 2017-11-20 20:07 LevelIsBubble 阅读(213) 评论(0) 推荐(0)
摘要:n是偶数 n是奇数 i是叶子结点(i)无孩子 i>n/2 i>n/2 i有两个孩子 i<n/2 i<=n/2 i有1个孩子(且是左孩子) i=n/2 无 i有左孩子 i<=n/2 i<=n/2 i有右孩子 i<n/2 i<=n/2 i有左兄弟 一定有 一定有 i有右兄弟 i+1 <= n i+1 < 阅读全文
posted @ 2017-11-20 11:42 LevelIsBubble 阅读(1121) 评论(0) 推荐(0)
摘要:http://www.cnblogs.com/skywang12345/p/string02.html http://www.cnblogs.com/skywang12345/p/string03.html String 和 CharSequence 关系String 继承于CharSequence 阅读全文
posted @ 2017-11-20 00:53 LevelIsBubble 阅读(171) 评论(0) 推荐(0)
摘要:初稿:2017-11-19 23:57:11 String的构造方法 1 import java.nio.charset.Charset; 2 import java.io.UnsupportedEncodingException; 3 4 public class StringContructor 阅读全文
posted @ 2017-11-19 23:44 LevelIsBubble 阅读(288) 评论(0) 推荐(0)
摘要:初稿:2017-11-19 21:58:21 进程和程序的区别 进程是动态的,程序是静态的,进程是暂存的,程序是永存的;程序和进程的关系就像剧本和场幕。 进程的状态 ①创建 ②静止就绪 ③就绪 ④执行 ⑤阻塞 ⑥终止【⑦挂起】任何状态都可转换成挂起状态。 创建:1,申请空白PCB 2,填写PCB 3 阅读全文
posted @ 2017-11-19 21:55 LevelIsBubble 阅读(371) 评论(0) 推荐(0)
摘要:初稿:2017-11-19 21:28:20 并发概念 进程交替占用CPU执行片刻。 为什么要引入并发? (1)按时间片并发执行,即分时操作系统,满足多用户多任务。 (2)进程I/O或等待消息时,不使用CPU,让出CPU给其他进程使用,提高CPU的利用率。 如何并发? 每个进程都有PCB(进程控制块 阅读全文
posted @ 2017-11-19 21:28 LevelIsBubble 阅读(155) 评论(0) 推荐(0)
摘要:最坏时间复杂度,最佳时间复杂度,平均时间复杂度都是O(n^2) 相比冒泡排序的优势是 每次扫描只保存索引,并不交换,节省了时间。但是冒泡排序可以设置标志位提前结束排序,较于选择排序也节省了时间。 一次性放到终态位置:是 稳定性:稳定;前提是 if ( a[ j ] >= a[ k ] ) k = j 阅读全文
posted @ 2017-11-19 20:30 LevelIsBubble 阅读(140) 评论(0) 推荐(0)
摘要:初稿:2017-11-19 19:53:08 最坏时间复杂度:O(n^2)每一趟都发生交换,持续了array.len-1趟,每一趟的每个单元都发生交换。 最佳时间复杂度:O(n) 原数组是有序数组或基本有序,只扫描一趟。 平均时间复杂度是O(n^2) 稳定性:稳定 一次性放到终态位置: 是 适用:大 阅读全文
posted @ 2017-11-19 19:55 LevelIsBubble 阅读(135) 评论(0) 推荐(0)
摘要:初稿:2017-11-19 19:27:06 利用数组模拟的栈: 初始化 top = -1; 入栈 stack[++top] = elem ; 出栈 --top; 栈满 top == STACK_SIZE - 1; 栈空 top == -1 利用单链表模拟的栈: 参数只需要头结点即可,每个入栈元素 阅读全文
posted @ 2017-11-19 19:28 LevelIsBubble 阅读(170) 评论(0) 推荐(0)
摘要:初稿:2017-11-19 14:12:20 循环队列:本质是数组,采用循环方式,可以避免随着进队入队造成的空间浪费。 知识点:N个连续的存储单元,第一个单元编号是0,最后一个单元是N-1; i代表任意一个单元的编号,++i % N能实现i的值从0走到N-1再自动回到0,依次循环往复。 队空:rea 阅读全文
posted @ 2017-11-19 14:08 LevelIsBubble 阅读(259) 评论(0) 推荐(0)
摘要:初稿:2017-11-19 13:05:57 4种链表 链表和数组的区别 数组初始容量一旦确定,不能再改变,适合要处理的数据量已知的情况。 未知要处理的数据量使用数组,可能造成空间浪费或容量不足,虽然有动态数组可扩容,但是频繁扩容会使系统产生很大的开销。 链表容量不限,长度与元素个数相同,但是需要额 阅读全文
posted @ 2017-11-19 13:06 LevelIsBubble 阅读(281) 评论(0) 推荐(1)
摘要:初稿:2017-11-18 23:50:40 单链表的结点:数据域,指针域(存储下一结点的地址) 包含函数:初始化,销毁,清空,尾插法和头插法批量录入数据,统计结点的个数,追加结点,删除结点,正序和逆序打印链表。 知识点: (1)一个结构体内部不能含有结构体本身类型的结点,但可以含有本类型的指针。 阅读全文
posted @ 2017-11-18 23:49 LevelIsBubble 阅读(2472) 评论(0) 推荐(0)
摘要:前言: 1.动态数组:malloc分配的连续存储单元,容量不足时可扩容。 2.含有函数:初始化,销毁,判空,判满,扩容,批量录入数据,查找,表尾追加,插入,删除,打印。 3.重点理解:如何通过移动元素在数组中实现删除或插入。 初稿:2017-11-18 21:31:05 运行结果: 阅读全文
posted @ 2017-11-18 21:25 LevelIsBubble 阅读(252) 评论(0) 推荐(0)