0 课程地址
https://coding.imooc.com/lesson/207.html#mid=13455
1 重点关注
1.1 什么是二叉树
一种类链表的一种动态数据结构,每个节点下分叉为左子节点和右子节点。故命名为二叉树。又可以根据分叉的多少分为26叉树,8叉树等等。
1.2 什么是二分搜索树
按功能划分,每个节点的左子节点都比本节点要小,每个节点的右子节点都比本节点要大。并且存储元素具有可比较性
2 课程内容
2.1 二叉树基本定义
一个二叉树只有一个根节点
根节点:没有父节点
叶子节点:没有子节点
节点:每个节点最多有两个子节点,最多有一个父节点
3 Coding
3.1 二分搜索树简要代码实现
- 关键代码
package com.company; /** * 二分搜索树主要是根据值进行比较,所以元素E要继承Comparable接口 * @author weidoudou * @date 2022/11/3 12:51 **/ public class BST<E extends Comparable<E>> { /** * 定义内部类 * @author weidoudou * @date 2022/11/3 12:52 **/ private class Node<E>{ //由于BST类要使用元素e和Node等节点,所以定义为public public E e; //定义左子节点和右子节点 private Node left,right; public Node(E e){ this.e = e; left = null; right = null; } } //定义根节点 private Node root; private int size; public BST(){ root = null; this.size = 0; } /** * 0 定义基本方法 getSize * @author weidoudou * @date 2022/11/3 12:57 * @return int **/ public int getSize(){ return size; } /** *1 查询是否为空 * @author weidoudou * @date 2022/11/3 12:58 * @return boolean **/ public boolean isEmpty(){ return size == 0; } }
诸葛