数据结构与算法(十)
来源:互联网 发布:淘宝内衣代理 编辑:程序博客网 时间:2024/05/19 18:43
二叉树的基本概念
一. 树
1. 为什么要使用树
有序数组插入数据项和删除数据项太慢;
链表查找数据太慢;
在树中能非常快速的查找、插入和删除数据项。
2. 树的结构
二. 树的基本概念
1. 路径
顺着连接节点的边从一个节点到另一个节点,所经过的节点顺序排列称为路径。
2. 根
树最上面的节点称为根结点。一棵树只有一个根。而且从根到任何结点有且只有一条路径。
3. 父结点
每个结点都有一条边向上连接到另一个结点,这个结点就称为是下面这个结点的父结点。
4. 子结点
每个结点都有一条边向下连接到另一个结点,下面的结点就是该节点的子结点。
5. 叶子结点
没有子结点的结点称为叶子结点。
6. 子树
每个结点都可以作为一个子树的跟,它和它所有的子结点以及子结点的子结点组合在一起就是一个子树。
7. 访问
访问一个结点是为了在这个结点上执行一些操作,如查看结点的数据项。但是如果仅仅是经过一个结点,不认为是访问了这个结点。
8. 层
一个结点的层数是指从根开始到这个结点有多少代。
三. 二叉树
树的每个结点最多只能有两个子结点的树称为二叉树。
二叉树结点
/* * 二叉树结点 */public class Node {//数据项private long data;//左子结点private Node leftChild;//右子结点private Node rightChild;/* * 构造函数 */public Node(long data){this.data=data;}}
二叉树类
/* * 二叉树类 *//* * 为什么要使用树 * * 有序数组插入数据项和删除数据项太慢 * 链表查找数据太慢 * 在树中能非常快速的查找数据项、删除数据项和插入数据项 */public class Tree {//根结点private Node root;/* * 插入结点 */public void insert(long value){}/* * 查找结点 */public void find(long value){}/* * 删除结点 */public void delete(long value){}}
0 0
- 数据结构与算法(十)
- 直通BAT--数据结构与算法十(排列组合)
- 数据结构与算法·实验十
- 【数据结构与算法】统治世界的十大算法
- 算法与数据结构(十) 二叉排序树的查找、插入与删除
- 数据结构与算法之基础排序(冒泡/插入/选择)<十>
- Java数据结构与算法分析《十》二叉树
- Java数据结构与算法《二十》最小生成树
- 数据结构实验十 排序算法
- 数据结构与算法-基础数据结构(链表)
- 数据结构与算法(七):常见数据结构与算法概括
- 数据结构与算法(二)
- 数据结构与算法(一)
- 数据结构与算法(序)
- 数据结构与算法(绪论)
- 数据结构与算法(单链表)
- 数据结构与算法(一)
- 数据结构与算法(五)
- Linux运维笔记-文档总结-永久更改文件SELINUX安全上下文和管理SELINUX布尔值
- json解析
- 微信小程序『侧边栏滑动』特效
- 微指创始人任春雷携好机友踏入微商领域
- [HDU 1565]方格取数(1):状压DP
- 数据结构与算法(十)
- 推荐算法概览
- maven搭建私服
- facebook的Android调试工具Stetho的简单使用
- ORACLE11G建临时表空间>建表空间>建用户>给用户授权
- 欢迎使用CSDN-markdown编辑器
- 机器学习之神经网络
- android百度地图,路线规划增加没有路的虚线。
- 基于 Django1.10 文档的深入学习(33)—— Using the Django authentication system 之login_required和LogiRequiredMixin