03 2017 档案

摘要:之前讲了递归调用二叉树,下面简单的介绍非递归二叉树遍历。 非递归二叉树遍历是采用的栈的方式,将结点分为,根节点,左子树,右子树的顺序分别在不同的时候入栈和出栈。 1:非递归前序遍历(DLR) 2:非递归二叉树中序遍历 正确方法: 3:后序二叉树的非递归遍历 阅读全文
posted @ 2017-03-17 14:58 SnailsCoffee 阅读(641) 评论(0) 推荐(0) 编辑
摘要:1:二叉树的建立 二叉树的建立有两种模式:(1):首先设计二叉树的结点类,然后在此基础上,用static成员函数实现二叉树的具体操作。 (2):设计二叉树的结点类,然后在二叉树的结点类的基础上设计二叉树类。 设计完了二叉树的结点类之后,在二叉树的结点类的基础上用static成员函数实现二叉树的具体操 阅读全文
posted @ 2017-03-17 11:12 SnailsCoffee 阅读(291) 评论(0) 推荐(0) 编辑
摘要:递归算法:开始不断的调用自己,直到到达递归的出口,当到达递归的出口之后,最后调用的最先返回。做递归算法最重要的是找到出口。 就好比栈 ,开始一直往栈里面装入东西,直到抵达出口的时候才开始往外面拿东西。 图示左边先不断的调用,右边是从栈顶开始不断的返回。 实例1:求阶乘 过程图 实例2:用对半法来查找 阅读全文
posted @ 2017-03-13 14:51 SnailsCoffee 阅读(301) 评论(0) 推荐(0) 编辑
摘要:1:数组是所有高级语言中必备的数据结构储存类型,但是数组有一个明显的缺点:必须提前知道数组内存的大小。这对于需要动态扩展的情况而言,无疑是一个弊端。 因此创造了一个Vector 类来扩展数组的内存大小。 1.1:必须说明的是Vector类只支持对象数组,不支持基本数据类型,基本的数据类型必须包装为相 阅读全文
posted @ 2017-03-13 12:05 SnailsCoffee 阅读(200) 评论(0) 推荐(0) 编辑
摘要:前言:之前介绍了线性表,今天来介绍一下堆栈/队列。 1:堆栈主要特点就是只允许固定的一段插入和删除。 采用的是先进后出的方式 如果洗盘子,再比如我们计算机中的递归调用 ,判断字符串是否为回文字符串,利用堆栈来计算算术表达式 我们只能从栈顶取出元素。而且元素也必须从栈顶进入。 同时堆栈又分为:顺序堆栈 阅读全文
posted @ 2017-03-09 16:48 SnailsCoffee 阅读(496) 评论(0) 推荐(0) 编辑
摘要:线性表分为顺序表和链式表,顺序表的存储结构为数组,而链式表的存储结构为指针,那么在java中淡化指针这个概念主要是通过对象引用的方式来表现指针。 1:顺序表 一般从两个方面来讲抽象数据类型:数据集合+操作集合 操作集合:可以将需要的操作定义为一个接口: 1.1:顺序表在里面的具体实现 1.2:测试类 阅读全文
posted @ 2017-03-09 16:26 SnailsCoffee 阅读(380) 评论(0) 推荐(0) 编辑
摘要:前言:对于简单工厂和抽象工厂都有自己的优点和缺点, 比如简单工厂,如果你需要实现的类过多,你最后会出现工厂泛滥的情况,没有有效的控制代码的可重复性。http://www.cnblogs.com/xiaxj/p/6508799.html 而对于抽象工厂而言,如果你想要在工厂系列中添加一个新的系列,也会 阅读全文
posted @ 2017-03-06 15:02 SnailsCoffee 阅读(280) 评论(0) 推荐(0) 编辑
摘要:http://www.cnblogs.com/java-my-life/archive/2012/03/28/2418836.html(推荐博客) 真正的实现面向接口编程,也就是Spring里面的AOP 阅读全文
posted @ 2017-03-06 10:49 SnailsCoffee 阅读(123) 评论(0) 推荐(0) 编辑
摘要:下面我们来看一个场景: 假如客户需要一辆卡车(car),有的客户需要一辆挖土机(navvy),则我们可以抓住他们的共性,可以run 可以定义一个Moveable接口 定义一个client类,用于实现客户自己的想法: 如果每次客户需要一辆车,都得自己去制作一辆新的,效率会有多么低啊?因此我们就出现了工 阅读全文
posted @ 2017-03-06 10:38 SnailsCoffee 阅读(253) 评论(0) 推荐(0) 编辑
摘要:http://blog.csdn.net/luanlouis/article/details/24589193 阅读全文
posted @ 2017-03-05 12:05 SnailsCoffee 阅读(101) 评论(0) 推荐(0) 编辑
摘要:1:在明白动态代理之前必须明白什么是静态代理? 静态代理就是在不破坏原来类的包装基础上,为类添加新的功能?如果说一个功能的被不同类利用的多种方式的实现。 比如刚开始想要实现记录demo消耗时间的的方法,我们会这么做: 但是假如,我们还有其他的类需要实现这个功能用于计算运行的时间呢,因此是否可以提取出 阅读全文
posted @ 2017-03-03 18:17 SnailsCoffee 阅读(342) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示