沙漏

一步步从无到有的创造

Java集合详解系列----Java集合继承体系详解

Java的集合类是一种特别有用的工具,它可以用于存储数量不等的多个对象,并可以实现常用的数据结构,如栈、队列等。Java集合还可以用于板寸具有映射关系的关联数组。 java集合就像是一个容器,我们可以把多个对象(实际上是对象的引用,习惯上叫对象,)保存到集合容器中。在JDK1.5以前java集合...

2016-06-30 16:03:19

阅读数 4612

评论数 0

二叉树的非递归遍历的解析与实现----java实现

先序遍历 根据先序遍历的访问的顺序,先访问根节点,然后再访问左子树和右子树。对于树中的任意一个节点,都可以看做是一个根节点(也可以看成是一个树),因此可以直接访问根节点,访问完根节点,如果它的左子树不为空,用相同的方法访问它的左子树,直到左子树为空,再访问它的右子树。  对于树中的任意一个节点...

2016-06-30 10:23:37

阅读数 2505

评论数 0

二叉树的递归遍历----java实现

public class Iterator2 { //先序遍历 public void preIterator(BiTree root) { if(root != null) { System.out.print(root.val + "-->&quo...

2016-06-30 09:59:37

阅读数 299

评论数 0

Java中字符串的创建与储存(附:常见笔试面试题)

常量池在java用于保存在编译期已确定的,已编译的class文件中的一份数据。它包括了关于类,方法,接口等中的常量,也包括字符串常量,如String s = "java"这种申明方式;当然也可扩充,执行器产生的常量也会放入常量池,故认为常量池是JVM的一块特殊的内存空间。 一...

2016-06-27 22:12:49

阅读数 1429

评论数 0

Java的异常处理机制

Java的异常处理可以让程序具有更好的容错性,程序更加健壮。当程序出现意外情况的时候,系统会自动生成一个Exception对象来通知程序,从而实现将“业务功能实现代码”和“错误处理代码”分离,提供更好的可读性。 一、异常类的继承体系 (1)在java中把异常当作对象来处理,并且定义一个...

2016-06-27 10:43:11

阅读数 276

评论数 0

剑指offer----丑数

题目: 把只包含因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。 (1)一个数m是另外一个数n的因子,是指n%m == 0.         丑数:假如n是丑...

2016-06-23 16:22:04

阅读数 297

评论数 0

剑指offer-----栈的压入弹出序列

题目: 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。 思路: (1)建立...

2016-06-23 09:41:33

阅读数 263

评论数 0

剑指offer----包含min函数的栈

题目:定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的min函数。 在该栈中调用 min、push、pop的时间复杂度都为O(1)。 思路: 入栈:利用辅助栈,每次入栈时,如果入栈的元素大于辅助栈的栈顶元素,则辅助栈中压入与栈顶相同的元素,如果入栈的元素小于辅助栈栈顶的元素,则把...

2016-06-22 10:25:00

阅读数 209

评论数 0

剑指offer----合并两个排序的链表

输入两个递增排序的链表,合并两个链表并使新链表中的节点仍然是按照递增排序的。 一、合并两个链表的过程(递归) (1)从合并两个链表的头节点开始    如果链表1的头节点的值小于链表2的头节点的值,则链表1的头节点是合并后的头节点,反之,链表2的头节点是合并后的头节点。 (2)剩下的节点中依然是排序...

2016-06-21 15:43:21

阅读数 227

评论数 0

剑指offer----反转链表

题目:定义一个方法 输入一个链表的头节点,反转该链表并输出反转后链表的头节点 为了正确反转一个链表,需要调整链表每个节点对下一个节点的指向。 思路:(1)把当前节点的下一个节点保存起来   当前节点的next指向它前一个节点之前要把它的后一个节点保存起来。因为后一个节点只能通过当前节点的next找...

2016-06-21 10:45:54

阅读数 269

评论数 0

剑指offer----用两个栈实现队列

用两个栈实现一个队列,分别完成在队列尾部插入节点和在队列头部删除节点的功能 思路: (1)队列是一种“先进先出”的数据结构,而栈是“先进后出”的数据结构,现在要用两个栈实现队列的出队和入队功能。 (2)栈1用来入队,那么先入队的元素在栈的栈底,出队时,栈底元素得先出来。 (3)  入队:让栈1用来...

2016-06-20 16:11:11

阅读数 207

评论数 0

剑指offer----链表中倒数第K个结点

输入一个链表,输出该链表中倒数第K个结点。从1开始计数,即该链表的尾节点是倒数第一个结点。 思路: 一、链表是单向链表,只能从头结点往后依次遍历,倒数第K个结点,也就是从头结点开始的n-(k-1)个结点。但是需要先遍历一遍得到链表长度,然后在找第n-k+1的K结点。 二、 (1)方法一需要...

2016-06-20 11:31:20

阅读数 240

评论数 0

剑指offer----从尾到头打印链表

思路一: 链表遍历的顺序是从头到尾,但是要求输出时是从尾到头。这可以借助栈来实现,每遍历到一个节点的时候将其压入栈中。当遍历完以后再从栈中将节点的值一一取出存放到arraylist中。从栈中先取出来的是原来链表最后的节点,这样就实现了从尾到头的打印。 /** * public class L...

2016-06-20 09:41:26

阅读数 175

评论数 0

剑指offer--空格替换

空格替换 请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 问题1:将空格替换成字符串,字符串将边长。若要是在原来的字符串上做替换,则保证字符串后面有足够的剩余空间。 问题2:若从头到尾的方向...

2016-06-19 17:09:45

阅读数 228

评论数 0

队列----循环队列的实现

为了可以重新利用队列底层数组中已删除元素所占的空间,消除可能出现的“假满”现象,将顺序队列改进为循环队列。 循环队列是首尾相连的队列:当front、rear变量达到底层数组的capacity-1之后,再向前以为就变成0. 入队:(1)判断队列是否已满,已满抛出越界异常            ...

2016-06-17 10:29:17

阅读数 218

评论数 0

链表---双向链表的解析与实现

(1)如果为每个节点保留两个引用prve和next,让prev指向当前节点的上一个节点,让next指向当前节点的下一个节点。此时链表既可以向前依次访问每个节点,也可以向后依次访问每个节点,这种形式的节点称为双向链表。 (2)双向链表的查找    因为双向链表既可以向前搜索也可以向后搜索,当被搜...

2016-06-16 19:34:14

阅读数 318

评论数 0

栈---顺序栈的实现

一、 (1)栈是在一种特殊的线性表,它代表只能在某一端进行插入、删除操作,通常在线性表的尾端进行插入、删除操作. (2)对于栈而言,通常允许插入、删除操作的一端被称为栈顶(top),另一端被称为栈底(buttom). (3)从栈顶压入元素称为进栈(push). (4)从栈顶删除元素称为出栈(pop...

2016-06-16 18:42:21

阅读数 266

评论数 0

队列---链式队列及其实现

一、 (1)采用链式储存结构的队列称为链队列。 (2)队列采用front和rear分别指向队列的头、尾两个节点。 (3)链式队列采用链式结构来保存队列中的所有元素,该队列允许添加无限多个元素,链式队列无队列满的问题。 二、实现 public class LinkQueue { //定义节点类 ...

2016-06-16 18:35:45

阅读数 203

评论数 0

队列---顺序队列及其实现

1)系统采用一组地址连续的存储单元依次存放队列从rear端到front端的所有数据,程序只需要front和rear两个整型变量来记录队列front端的元素索引和rear端的元素索引。  (2)顺序队列的front总是保存着即将出队的元素的索引,顺序队列中的rear总是保存着下一个即将进入队列的元素...

2016-06-16 18:29:04

阅读数 385

评论数 0

剑指offer----二维数组中的查找的解析与实现

题目: 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 解析:  (1)该数组是有序的  从左到右 从上到下 都是递增的 这是问题的关键  (2)从左下角或者右上角查找   从左...

2016-06-14 15:49:10

阅读数 347

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭