zoukankan      html  css  js  c++  java
  • 20172312 2018-2019-1 《程序设计与数据结构》第六周学习总结

    20172312 2018-2019-1 《程序设计与数据结构》第六周学习总结

    教材学习内容总结

    第七章

    数据结构——树

    1.树是一个n(n>=0)个结点的有序合集

    2.名词理解

    结点:指树中的一个元素;
    结点的度:指结点拥有的子树的个数,二叉树的度不大于2;
    数的度:指树中的最大结点度数;
    叶子:度为0的结点,也称为终端结点;
    高度:叶子节点的高度为1,根节点高度最高;
    层:根在第一层,以此类推;

    3.四种遍历

    先序遍历:根->左子树->右子树
    中序遍历:左子树->根->右子树
    后序遍历:左子树->右子树->根
    层级遍历:根->下层

    二叉树

    1.二叉树定义:由一个结点和两颗互不相交、分别称为这个根的左子树和右子树的二叉树构成(递归定义)

    2.二叉树的第h层上至多有2^(h-1)个结点

    3.高度度为h的二叉树,至多有2^h-1个结点

    4.满二叉树:叶子节点一定要在最后一层,并且所有非叶子节点都存在左child和右child;

    5.二叉树操作

    getRoot              返回指向二叉树根的引用
    isEmpty              判定该树是否为空
    size                 判定树中的元素数目
    contains             判定指定目标是否在该树中
    find                 如果找到指定元素,返回指向其的引用
    toString             返回树的字符串表示
    iteratorInOrder      为树的中序遍历返回一个迭代器
    iteratorPreOrder     为树的前序遍历返回一个迭代器
    iteratorPostOrder    为树的后序遍历返回一个迭代器
    iteratorLevelOrder   为树的层序遍历返回一个迭代器

    完全二叉树

    1.完全二叉树:从左到右、从上到下构建的二叉树;

    2.结点 h 的子结点为2h和 2h+1(前提是都小于总结点数)

    3.结点 h 的父结点为 h/2

    教材学习中的问题和解决过程

    • 问题1:关于完全二叉树已知结点数n,求层数h,叶子结点数n0。
    • 问题1解决方案:完全二叉树除h层外,1~h-1层均为一个父节点对应两个子节点(满二叉树),所以对n进行计算log2n,计算得数向上取整即为h。

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

    • 无(除了代码太长太多之外)

    码云链接

    结对及互评

    本周结对学习情况

    • 20172315
    • 20172318

    结对学习内容

    • pp10.4 pp10.5
    • 完全二叉树

    学习进度条

     代码行数(新增/累积)博客数量(新增/累积)学习时长(新增/累积)
    目标 5000行 30篇 400小时  
    第一周 22/22 1/1 12/12  
    第二周 203/225 2/3 25/37  
    第三周 574/799 1/4 15/52  
    第四周 1283/1882 2/6 20/72  
    第五周 986/2868 1/7

    20/92

    第六周 1037/3905 1/8

    25/107

    参考资料

    数据结构——树——知识点总结

  • 相关阅读:
    2018,10,19模拟赛
    培训期间做题整理(部分)
    纪中2018暑假培训day5提高b组改题记录
    纪中2018暑假培训day7提高b组改题记录
    纪中2018暑假培训day3提高a组改题记录(混有部分b组)
    纪中2018暑假培训day1提高b组改题记录
    python中的‘/’和'//'
    对于python中的join函数和+
    python中的casefold函数和lower()函数区别
    F
  • 原文地址:https://www.cnblogs.com/silver-1029/p/9852243.html
Copyright © 2011-2022 走看看