您的位置:首页 > 理论基础 > 数据结构算法

java入门一DAY02------从数据结构开始2

2014-04-01 23:23 274 查看
第三章 栈、队列和数组(笔记)

栈的定义:栈是限制在表的一端进行插入和删除的线性表。允许插入、删除的一端称为栈顶,另一个固定的端称为栈底,没有元素的栈为空栈。

栈的特点:先进的后出,后进的先出。

栈的六个基本操作

1 初始化一个栈

2 进栈出栈

3 读站点元素

4 判断栈空不空

5 判断栈满不满

6 基于顺序或者链式的操作

当栈满的时候进行进栈运算必定产生空间溢出,简称上溢

当栈空的时候进行退栈操作也将产生溢出,简称下溢

栈的应用

1 数制转换

2 表达式求职

1 中缀表达式:每个二目运算符在两个运算量的中间

2 后缀表达式:只使用一个对象栈,当从左向右扫描表达式的时候,每遇到一个操作数就送入栈中保存,每遇到一个运算符就从栈中取出两个操作数进行当前的计算,然后把结果在入栈,知道整个表达式结束,这时送入栈顶的值就是结果。

3.栈与递归

递归:一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法

队列

队列的定义:队列是一种先进先出的数据结构,在队尾插入,在队头删除。

第四章 树与二叉树(笔记)

树的定义

树是n(n>=0)个有限数据的集合。当n为0时,称此树为空树。

没有前驱结点的结点为根结点

根节点以下的树称为子树

二叉树

1 二叉树是n个有限元素的集合,该集合或者为空,或者由一个称为根的元素及2个不相交的,被分为左子树和右子树的二叉树组成。

二叉树是有序的,即将其左右子树颠倒,就成为另一颗不同的二叉树。

2 满二叉树

在一棵二叉树中如果所有的分支节点都存在左右子树,并所有的叶子节点都在同一层上,这样的一棵二叉树成为满二叉树。

3 完全二叉树

完全二叉树叶子节点只出现在最下层和次下层,且最下层的叶子结点集中在树的左部。

一颗非空二叉树的第i层上最多有2(i-1)次方个节点

一颗深度为k的二叉树中,最多有2(k)次-1个节点

叶子节点数为n0 度数为2的结点个数为n(n0=n2+1)

据有n个节点的完全二叉树的深度k为[log2n]+1或者为[log2(n+1)]

二叉树的存储方式

1 顺序存储

2 链式存储

二叉树的遍历

1 、先序遍历

若二叉树为空,结束

1 访问根结点

2先序遍历根结点的左子树

3先序遍历根结点的右子树

2、中序遍历

若二叉树为空,结束

1 中序遍历根结点的左子树

2 访问根结点

3 中序遍历根结点的右子树

3、后续遍历

若不为空

1 后续遍历根结点的左子树

2 后续遍历根结点的右子树

3 访问根结点

4、层次遍历

1访问该元素的所指结点

2若该元素所指结点的左右孩子结点非空,则将该元素所指结点的左孩子指针和右孩子的孩子指针顺序入队

---------------------- 拖走FM----期待与您交流! --------

收音机,电台,网上电台,广播,在线广播,网络广播,广播电台,网络电台,在线电台,电台在线收听,广播电台在线收听,网络电台在线收听,在线收听电台,fm收音机,网络收音机,广播下载,在线收音机,收音机软件下载,电台软件下载,网络收音机下载--------------

---------------------- 拖走FM----期待与您交流! --------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: