摘要: 概念     二叉排序树,又称二叉查找树。它或者是一棵空树,或者是具有下列性质的二叉树: ①若它的左子树不空,则左子树上所有节点的值均小于它的根节点的值。 ② 若它的右子树不空,则右子树上所有节点的值均大于它的根节点的值。 ③ 它的左右子树也分别为二叉排序树。 阅读全文
posted @ 2018-08-20 14:43 LynnMin 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 过期的suspend()、resume()、stop() 不建议使用这三个函数来停止线程,以suspend()方法为例,在调用后,线程不会释放已经占有的资源(比如锁),而是占有着资源进入睡眠状态,这样容易引起死锁问题。同样,stop()方法在终结一个线程是不会保证线程的资源正常释放,通常识没有给予线 阅读全文
posted @ 2018-08-15 15:03 LynnMin 阅读(1766) 评论(0) 推荐(1) 编辑
摘要: 使用邻接矩阵进行存储 原图 调整后 package graph; import java.util.ArrayList; import java.util.LinkedList; public class BFSTraverse { private static ArrayList list = n 阅读全文
posted @ 2018-08-14 13:30 LynnMin 阅读(725) 评论(0) 推荐(0) 编辑
摘要: 使用邻接矩阵进行存储; package graph; import java.util.ArrayList; public class DFSTraverse { private static ArrayList list = new ArrayList(); // 邻接矩阵存储; public s 阅读全文
posted @ 2018-08-14 11:58 LynnMin 阅读(432) 评论(0) 推荐(0) 编辑
摘要:     volatile是轻量级的synchronized,它在多处理器开发中保证了共享变量的“可见性”,即当一个线程修改一个共享变量是,另一个线程能够读到这个修改的值。volatile比synchronized的使用和执行成本低,因为它不会引起上下文的切换和 阅读全文
posted @ 2018-08-13 23:15 LynnMin 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 二叉树的四种遍历方式:前序遍历、中序遍历、后序遍历和层序遍历 运行结果 阅读全文
posted @ 2018-08-13 15:46 LynnMin 阅读(101) 评论(0) 推荐(0) 编辑
摘要: 本文是参考文末的文章自己动手写的笔记 反射 反射就是把java类中的各种成分映射成一个个的Java对象。 获取Class对象的三种方式 1. Object —— getClass(); 2. 任何数据类型(包括基本数据类型)都有一个“静态”的class属性。 3. 通过Class类的静态方法:for 阅读全文
posted @ 2018-08-12 15:49 LynnMin 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 泛型简而言之就是类型的参数化 泛型分为泛型接口、泛型类和泛型方法,不存在泛型数组。 举例 在于Java中的泛型这一概念提出的目的,导致其只是作用于代码编译阶段,在编译过程中,对于正确检验泛型结果后,会将泛型的相关信息擦出,也就是说,成功编译过后的class文件中是不包含任何泛型信息的。泛型信息不会进 阅读全文
posted @ 2018-08-11 23:26 LynnMin 阅读(91) 评论(0) 推荐(0) 编辑
摘要: 定义 确保一个类只有一个实例,并提供一个全局访问点。 延迟实例化 注意对于多线程可能存在同时创建出多个实例出来, 延迟实例化的改进 不延迟 双重检查加锁 阅读全文
posted @ 2018-08-09 16:42 LynnMin 阅读(122) 评论(0) 推荐(1) 编辑
摘要: 题目 请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。 剑指offer思路 通过对比前序遍历和对称前序遍历的序列是否相同来判定,这里所谓的对称前序遍历算法是指,遍历的的时候采用根节点、右节点和左节点的次序; 自己写的Low代码 阅读全文
posted @ 2018-08-06 22:27 LynnMin 阅读(108) 评论(0) 推荐(0) 编辑