zoukankan      html  css  js  c++  java
  • 第二次实验报告

    2017-2018-1 20162306 实验二 树 实验报告

    实验一:树-1-实现二叉树

    • 实验要求:
      参考教材p375,完成链树LinkedBinaryTree的实现(getRight,contains,toString,preorder,postorder)

    用JUnit或自己编写驱动类对自己实现的LinkedBinaryTree进行测试,提交测试代码运行截图,要全屏,包含自己的学号信息

    课下把代码推送到代码托管平台

    • 实验过程:
      1、contain方法:判断树中是否有该元素,用find方法实现该方法,存在就返回true,不存在就返回false。
      代码如下:
    
    public boolean contains (T target) {
    if (root.find(target) == null)
                return false;
            else
                return true;
        }
    

    2、isEmpty方法:判断树中是否为空,为空则返回true,不为空则返回false。

    
    public boolean isEmpty() {
            return (size() == 0);
        }
    

    3、getRight方法:与getLeft相同,返回右结点值。

    
    public LinkedBinaryTree<T> getRight() throws EmptyCollectionException {
            if (root == null)
                throw new EmptyCollectionException("Get left operation "
                        + "failed. The tree is empty.");
    
            LinkedBinaryTree<T> result = new LinkedBinaryTree<T>();
            result.root = root.getRight();
    
            return result;
        }
    

    4、preorder()和postorder()方法:树的前序遍历和后序遍历

    • 实验截图

    • 代码链接

    LinkedBinaryTree
    LinkedBinaryTreeTest

    实验二:树-2-中序先序序列构造二叉树

    • 实验要求:
      基于LinkedBinaryTree,实现基于(中序,先序)序列构造唯一一棵二㕚树的功能,比如教材P372,给出HDIBEMJNAFCKGL和ABDHIEJMNCFGKL,构造出附图中的树

    用JUnit或自己编写驱动类对自己实现的功能进行测试,提交测试代码运行截图,要全屏,包含自己的学号信息

    课下把代码推送到代码托管平台

    • 实验过程:
      这个实验起初没有什么下手点,参考了网才得以实现上的资料,才得以实现。

    • 实验截图:

    • 代码链接

    TreeNode

    实验三:树-3-决策树

    • 实验要求:
      完成PP16.6

    提交测试代码运行截图,要全屏,包含自己的学号信息

    课下把代码推送到代码托管平台

    • 实验过程:
      这个实验比较简单,代码书上都已基本实现,主要在于逻辑要合理。

    • 实验截图:

    • 代码链接

    BackPainAnalyzer
    BackPainExpert

    实验五:树-5-二叉查找树

    • 实验要求:
      完成PP17.1

    提交测试代码运行截图,要全屏,包含自己的学号信息

    课下把代码推送到代码托管平台

    • 实验过程:
      这个实验相对也是比较容易,主要任务是实现findMax和findMin方法,来查找最大或最小的元素

    • 实验截图:

    • 代码链接

    LinkedBinarySearchTreeTest
    LinkedBinarySearchTree

  • 相关阅读:
    DSP28335 烧写到RAM和FLASH方法
    脉冲提取
    基于飞秒光频梳的正弦相位调制干涉绝对距离测量方法研究 -张世华
    DSP28335 IO口寄存器
    DSP28335 使用技巧
    freertos、UCos这种实时操作系统和Linux、Windows这种系统的 本质区别
    stm32的定时器输入捕获 与输出比较
    五大常用算法--回溯
    Dijkstra算法
    字典树-Trie
  • 原文地址:https://www.cnblogs.com/guominxiaocao/p/7751975.html
Copyright © 2011-2022 走看看