zoukankan      html  css  js  c++  java
  • 第4篇——树

    1.学习总结

    1.1树结构思维导图

    1.2 树结构学习体会

    • 树是一种非线性结构,其定义是递归的,在学习过程中,需要注意递归的调用。
    • 遇到的困难:对递归的调用不够熟练,导致需要使用递归时无从下手;对树的遍历掌握很差,用程序实现树的遍历较为困难;树的线索化不甚明朗,代码实现较为困难。
    • 解决的问题:通过遍历求解表达式的值或进行表达式的转换;根据先序遍历、中序遍历、后序遍历确定唯一二叉树;二叉树,树,森林间的相互转化;将二叉树线索化;找出哈夫曼树,求解节点的哈夫曼编码;利用并查集求解等价问题;

    2.PTA实验作业


    2.1 题目1:6-1 jmu-ds-二叉树操作集

    2.2 设计思路(伪代码或流程图)

    2.3 代码截图

    2.4 PTA提交列表说明。

    按照书上的参考代码进行编写,无错误。



    2.1 题目2:6-4 jmu-ds-表达式树

    2.2 设计思路(伪代码或流程图)

    2.3 代码截图

    2.4 PTA提交列表说明。

    编程时递归调用不清,忽略了题目本身给出的判断符号次序的函数,导致题目复杂化,忘记当除0的时候需要返回错误提示。



    2.1 题目3:7-3 jmu-ds-二叉树层次遍历

    2.2 设计思路(伪代码或流程图)

    2.3 代码截图

    2.4 PTA提交列表说明。

    恢复二叉树时忘记给左右孩子进行编号,导致程序超时;

    进行层次遍历时运用了递归,但是没有考虑到树两边不对等的情况,递归不便于操作。


    3.截图本周题目集的PTA最后排名

    本次题目集总分:285分
    必做题共:230分

    3.1 PTA排名截图

    3.2 我的总分:2分

    4. 阅读代码(必做)

    基于平衡二叉树的动态线段树

    https://gitee.com/WellerZhao/DSTree/blob/master/DSTree/DSTree/main.cpp

     通过查找发现平衡二叉树的查找插入删除的时间复杂度都为O(logn);

    本篇代码是在平衡二叉树的基础上进行拓展,将平衡二叉树放在类似于坐标纸上进行旋转和平衡。

    5. 代码Git提交记录截图

  • 相关阅读:
    module.export和export
    netty学习
    I/O知识
    cxf+spring+数字签名开发webservice(二)
    cxf+spring+数字签名开发webservice(一)
    js作用域
    js继承
    js模块和级联
    python全栈_011_Python3基本数据类型--字典
    python全栈_010_Python3基本数据类型--元组
  • 原文地址:https://www.cnblogs.com/liangqiyao/p/8985655.html
Copyright © 2011-2022 走看看