Java集合工具包位于Java.util包下,包含了很多常用的数据结构,如数组、链表、栈、队列、集合、哈希表等。学习Java集合框架下大致可以分为如下五个部分:List列表、Set集合、Map映射、迭代器(Iterator、Enumeration)、工具类(Arrays、Collections)。 ...
分类:
编程语言 时间:
2016-06-29 18:35:31
阅读次数:
193
1 线性表 (1)线性表的顺序存储结构 (2)顺序存储结构的插入和删除 (3)链式存储结构 (4)单链表及其插入、删除、整表创建和整表删除 (5)静态链表 (6)循环链表 (7)双向链表 2 栈和队列 (1)栈的抽象数据类型 (2)栈的顺序存储结构 (3)栈的链式存储结构 (4)队列的抽象数据类型 ...
分类:
其他好文 时间:
2016-06-25 22:59:00
阅读次数:
194
用两个栈实现一个队列
1、线性表分为:顺序表和链表。
栈:只允许在尾上(即是栈顶)进行插入与删除。
队列:它是在队尾插入,队头删除。
2、栈选数组(即顺序表)结构时(比选链表结构更好):因为选数组结构可以进行size++与size--,而且效率高。
栈选链表结构:
3、队列选数..
分类:
其他好文 时间:
2016-05-15 20:09:11
阅读次数:
147
线性结构 1.数据元素之间满足唯一的线性关系。 2.每个数据元素(除第一个和最后一个外)只有一个直接前趋和一个直接后继。 线性表 (顺序表,链表,栈,队列) 1.最简单和最常用的一种数据结构 2.由n个数据元素(结点)组成的有限序列 顺序表 1.线性表的数据元素按逻辑次序依次存入一组地址真实的存储单 ...
分类:
其他好文 时间:
2016-05-07 16:36:46
阅读次数:
156
当以二叉树作为存储结构时,只能找到节点的左右孩子信息,不能直接得到结点在任一序列中的前驱和后继信息,只有在遍历过程中才能得到这种信息。我们知道,在n个结点的二叉链表栈必定存在n+1个空链域,因此,可以利用这些空链域来存放这些结点信息。所以作如下规定:若结点右左..
分类:
编程语言 时间:
2016-05-06 19:43:52
阅读次数:
284
这篇随笔是我在学数据结构时的整体规划,弄清学习路线,也方便查看。 1、线性表 顺序表(数组实现) 链表 2、栈 顺序栈(数组实现) 链式栈 3、队列 循环队列(数组实现) 链式队列 4、串 5、树 6、图 7、排序 ...
分类:
其他好文 时间:
2016-04-19 16:54:46
阅读次数:
165
首先这只是我的笔记,可能会有错误,如果能入各位看官法眼请随意指出,我会虚心接受~~ 主要是参考大神的博客 http://blog.csdn.net/column/details/collection.html java集合工具包位于util包下,包含了很多常用的数据结构,如数组、链表、栈、队列、集合 ...
分类:
编程语言 时间:
2016-04-18 20:39:08
阅读次数:
189
1、容器类关系图 虚线框表示接口。 实线框表示实体类。 粗线框表示最经常使用的实体类。 点线的箭头表示实现了这个接口。 实线箭头表示类能够制造箭头所指的那个类的对象。 Java集合工具包位于Java.util包下。包括了非常多经常使用的数据结构,如数组、链表、栈、队列、集合、哈希表等。学习Java集 ...
分类:
编程语言 时间:
2016-04-18 13:18:44
阅读次数:
261
我在前面的博客中讲解了链表、栈和队列,这些数据结构其实都是线性表,并且给出了详细的实现。从今天开始,我们将要来学习树,树作为一种数据结构我们经常会用到,作为起步和基础,我们先来实现二叉树,也就是每个节点有不超过2个子节点的树。对于树的操作,最基本的创建、遍历、求树高、节点数等。代码上传至 https://github.com/chenyufeng1991/BinaryTree 。(1)节点的定义t...
分类:
编程语言 时间:
2016-03-12 00:11:11
阅读次数:
312
树是递归定义的,利用递归算法遍历树实现起来比较简单,然而难的是非递归遍历。非递归遍历需要借助栈这一数据结构来完成。首先定义树的结点和构建链表栈://定义树的节点
typedefstructNode
{
intdata;
structNode*lchild;
structNode*rchild;
}Node;
//定义栈节点
typedefstru..
分类:
其他好文 时间:
2016-03-02 07:05:09
阅读次数:
152