博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java的数据结构_java的数据结构
阅读量:6376 次
发布时间:2019-06-23

本文共 754 字,大约阅读时间需要 2 分钟。

本文转自互联网

1、二叉树:非线性数据结构,常被用于实现二叉查找树和二叉堆

二叉树的第i层至多有2的 i -1次方个结点;深度为k的二叉树至多有2^(k) -1个结点;对任何一棵二叉树T。

满二叉树

完全二叉树

平衡二叉树

2、

二叉树的遍历:

遍历是对树的一种最基本的运算,所谓遍历二叉树,就是按一定的规则和顺序走遍二叉树的所有结点,使每一个结点都被访问一次,而且只被访问一次。由于二叉树是非线性结构,因此,树的遍历实质上是将二叉树的各个结点转换成为一个线性序列来表示。

递归算法:

<1>先序遍历:

<2>中序遍历

<3>后序遍历

<4>层次遍历

非递归算法:

<1>先序遍历:

【思路】:访问T->data后,将T入栈,遍历左子树;遍历完左子树返回时,栈顶元素应为T,出栈,再先序遍历T的右子树。

<2>中序遍历

<3>后序遍历

<4>层次遍历

即按照层次访问,通常用队列来做。访问根,访问子女,再访问子女的子女(越往后的层次越低)(两个子女的级别相同)

3、二叉树查找

查找树的创建(createTree)

首先选定4为root,然后遍历剩下的数字,如果大于等于4则放到4的右侧,小于4放到4的左侧,最后构建成的树:所有的左孩子都小于父节点,所有的右孩子都大于等于父节点。如下图:

1357968482_3066.jpg

2.      遍历查找树(displayTree)

按照左中右的顺序遍历树,结果为:1,3,4,6,12,21,23,45,78,345,遍历的结果就是已经排好序的数字。

3.      查找树中的节点(searchTree)

从根节点开始,如果大于等于根节点,则查找根节点的右侧;如果小于根节点,则查找根节点的左侧,直到查找到节点。

比如要查找12:

比4大,往右走;

比45小,往左走;

比23小,往左走;

找到12

4、二叉排序树

转载地址:http://qlvqa.baihongyu.com/

你可能感兴趣的文章
【运维囧事】显卡而引起的事故
查看>>
Oracle10G的性能优化之AWR生产实践一
查看>>
Oracle排错工具oerr
查看>>
CentOS 6.4下Squid代理服务器的安装与配置
查看>>
java三大特性之封装
查看>>
爱创课堂每日一题第五十八天-javascript对象的几种创建方式
查看>>
keepalived设置master故障恢复后不重新抢回VIP配置
查看>>
2018-06-25笔记(LAMP环境搭建)
查看>>
msyql主从畚份
查看>>
[学习笔记]上下界网络流
查看>>
小知识点随手记
查看>>
如何实现一个搜索引擎
查看>>
vue写出放大镜的效果
查看>>
JVM(五)回收机制
查看>>
reactjs弹幕视频播放
查看>>
linux dns
查看>>
线段上格点的个数
查看>>
上线前网页性能及体验的检查
查看>>
LoadRunner脚本编写(转)
查看>>
java泛型
查看>>