20162302 《程序设计与数据结构》第八周学习总结

20162302 2017-2018-1 《程序设计与数据结构》第八周学习总结

教材学习内容总结

实现查找二叉树

代码调试中的问题和解决过程

  • 问题1:构建findMin()方法

  • 解决方案:BSTNode中的add()方法在调用的时候会根据数据的相对大小放在左面或右面。

    public void add(T item) {
        if (item.compareTo(element) < 0)
            if (left == null)
                left = new BSTNode(item);
        else
            ((BSTNode) left).add(item);
        else
            if (right == null)
                right = new BSTNode(item);
        else
            ((BSTNode) right).add(item);
    }

所以可以根据这一属性获取最大值或最小值

    public T findMin() {
        while (root.getLeft()!=null){
            root = root.getLeft();
        }
        return root;
    }

这样会改变数据本身

所以要重新给root赋值

    public T findMin() {
        BTNode s = root;
        while (root.getLeft()!=null){
            root = root.getLeft();
        }
        T data = root.getElement();
        root = s;
        return data;
    }

这样运算结果就正常了

代码托管

结对及互评

  • 博客中值得学习的或问题:
    • 结对伙伴暂时未提交博客

本周结对学习情况

  • 20162329

  • 结对学习内容:
    没有进行系统的结对学习

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 0/0 1/1 10/10
第二周 ??/?? 1/2 15/25
第三周 465/465 1/3 15/40
第五&六周 443/908 3/7 40/80
第七周 528/1436 2/9 20/100
第八周 881/2317 2/11 15/115

参考资料

posted @ 2017-10-29 23:04  20162302  阅读(143)  评论(0编辑  收藏  举报