• 因为现在这个水平还用不到树和图,所有之后放弃树和图的学习,直接进入排序的学习,现在学到排序树的删除部分,还没学完删除


    package tree;

    /**
    * 排序树
    *
    * @author Administrator
    *
    */
    public class SortedTree {
    private Node root;

    public void insert(int i) {
    Node newNode = new Node(i);
    // 第一次插入
    if (root == null) {
    root = newNode;
    } else {
    Node current = root;
    Node father = null;
    while (current != null) {
    father = current;

    if (current.value >= i) {// 添加到左节点
    current = current.left;
    } else {// 添加到右节点
    current = current.right;
    }
    }
    // 插入数据
    if (father.value >= i) {// 添加到左节点
    father.left = newNode;
    } else {// 添加到右节点
    father.right = newNode;
    }
    }

    }

    /**
    * 中根遍历
    */
    public void midOrder() {
    doMidOrder(root);
    }

    private void doMidOrder(Node node) {
    // 先遍历左子树
    if (node.left != null) {
    doMidOrder(node.left);
    }
    // 再遍历根节点
    System.out.print(node.value + " ");
    // 最后遍历右子树
    if (node.right != null) {
    doMidOrder(node.right);
    }
    }

    /**
    * 后根遍历
    */
    public void lastOrder() {
    doLastOrder(root);
    }

    private void doLastOrder(Node node) {
    // 先遍历左子树
    if (node.left != null) {
    doLastOrder(node.left);
    }

    // 再遍历右子树
    if (node.right != null) {
    doLastOrder(node.right);
    }
    // 最后遍历根节点
    System.out.print(node.value + " ");
    }

    private class Node {
    Node left;// 左儿子
    int value;// 节点值
    Node right;// 右儿子
    int layerNo;// 层数

    private Node(int value) {
    this.value = value;
    }
    }
    }

  • 相关阅读:
    什么是tomcat集群?
    cmd黑客入侵命令大全
    Linix基本命令
    Windows CMD命令大全
    python 函数1
    Python 集合(set)使用
    python 数据字典应用
    python 数据运算
    python 数据类型(元组(不可变列表),字符串
    python 数据类型(列表)学习笔记
  • 原文地址:https://www.cnblogs.com/wanjn/p/8433661.html
Copyright © 2020-2023  润新知