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;
    }


}

 

posted on 2022-11-03 14:10  菜鸟乙  阅读(21)  评论(0编辑  收藏  举报