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

教材学习内容总结

树是非线性结构,其元素组织为一个层次结构。
树的度表示树种任意节点的最大子节点数。
有m个元素的平衡n叉树的高度是logn^m.
树的遍历有4 种方法。
进行层次遍历时可用队列来储存树中的元素。
使用数组实现二叉树时,位于位置n的元素的左孩子在(2
n+1)的位置,其右孩子在(2*(n+1))的位置。
树的基于数组的储存链实现方法可以占据数组中的连续位置,不管树是不是完全树。
如何在一般二叉树中添加及删除元素,要取决于树的用途。
使用决策树可以设计专家系统。
二叉查找树是一棵二叉树,对于其中的每一个点,左子树上的元素的小于父结点的值,而右子树啥漫画的元素大于等于父结点的值。
最有效的二叉树查找树是平衡的,所以每次比较是可以排除一半的元素。
如果没有其他操作,二叉查找树的树形有元素的添加次序来决定 。
当从二叉查找树中删除元素时要考虑三种情形,其中的两种比较简单。
情形1 如果被删结点是叶节点,可以简单的删除。
情形2 如果被删结点有一个子节点,则用他的子节点替代他。
如果被删节点有两个子节点,再输的更低层找到一个合适的节点替代它。别删节点的子节点成为替代节点的子节点。
当从二叉查找树中删除有两个子结点的结点时,比较好的办法是用它的中序后继来取代它。
可以对二叉查找树进行旋转以恢复平衡。

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

在实现LinkedBinaryTree时不理解调用的Iterator类,产看了JDK还是不懂迭代器的概念

解决方法

使用ArrayList类来代替Iterator类

代码托管

20162328蔡文琛 大二week07的更多相关文章

  1. 20162328蔡文琛 大二 十二周课上测试 hash

  2. 20162328蔡文琛 大二week01

    教材学习内容总结 算法+程序机构=程序 渐进复杂度称为算法的阶. 算法分析是计算机科学的基础课题. 增长函数显示了与问题大小相关的时间或空间的利用率. 算法的阶由算法增长函数的主项决定. 算法的阶给出 ...

  3. 20162328蔡文琛 week09 大二

    20162328蔡文琛 大二week09 教材学习内容总结 堆是一棵完全二叉树,其中每个元素大于等于其所有子节点的值. 向堆中添加一个元素的方法是,首先将这个元素添加为叶节点然后将其向上移动到合适的位 ...

  4. 20162328蔡文琛 week05 大二

    20162328 2017-2018-1 <程序设计与数据结构>第5周学习总结 教材学习内容总结 集合是收集元素并组织其他对象的对象. 集合中的元素一般由加入集合的次序或元素之间的某些固有 ...

  5. 20162328蔡文琛 week11 大二

    20162328 2017-2018-1 <程序设计与数据结构>第十一周学习总结 教材学习内容总结 在无向图中,表示边的顶点对是无序的. 如果图中的两个顶点之间有边链接,则称它们是领接的. ...

  6. 20162328蔡文琛 week10 大二

    20162328 2017-2018-1 <程序设计与数据结构>第十周学习总结 教材学习内容总结 理解图与有向图.无向图 理解带权图 会应用带权图 理解图的广度优先遍历和深度优先遍历 掌握 ...

  7. 20162328蔡文琛 week06 大二

    20162328 2017-2018-1 <程序设计与数据结构>第6周学习总结 教材学习内容总结 队列元素按FIFO的方式处理----最先进入的元素最先离开. 队列是保存重复编码k值得一种 ...

  8. 20162328蔡文琛week07

    学号 2016-2017-2 <程序设计与数据结构>第X周学习总结 教材学习内容总结 多态引用在不同的时候可以指向不同类型的对象. 多态引用在运行时才将方法调用用于它的定义绑定在一起. 引 ...

  9. 20162328蔡文琛week04

    学号 20162328 <程序设计与数据结构>第4周学习总结 教材学习内容总结 本周学习了第四章和第七章,第四章中的内容已经有了初步定的掌握,布尔表达式的运用,是条件和循环语句的基础及数组 ...

随机推荐

  1. GCD死锁,及同步、异步、串行和并行队列组合情形

      一.概述 1)队列用来存储代码任务,线程用来运行代码任务: 2)main()函数作为程序入口,整个程序默认运行在主线程中,程序代码任务默认存放在主队列中: 3)以下所谓阻塞线程是针对主线程而言(子 ...

  2. iOS与硬件通讯(socket,data拼接,发送指令,解析指令)

    最近项目中用到了iPad驱动硬件来工作,也就是智能硬件的实现.下面简单说下原理,详细说下socket,wifi通信,数据处理接收,发送,以及数据解析代码. 首先,来说下通信.因为硬件部件比较多,我们采 ...

  3. .net 读取Excel 数据时出现 “外部表不是预期的格式”的解决办法

    参考网上的资料有以下2种情况: 第一:excel本身的格式不正确,用记事本打开文件,如果显示乱码证明文件没有问题,如果是html那就证明文件格式不正确. 第二:由excel版本版本导致,例如:2003 ...

  4. pc端js常用方法

    var common = {}; /** * [pageMask ajax统一请求] * @return {[type]} [description] */ common.pageMask = fun ...

  5. MongoDB Python官方驱动 PyMongo 的简单封装

    最近,需要使用 Python 对 MongodB 做一些简单的操作,不想使用各种繁重的框架.出于可重用性的考虑,想对 MongoDB Python 官方驱动 PyMongo 做下简单封装,百度一如既往 ...

  6. 十七、S3C2440 音频解码芯片WM8976声卡驱动移植、madplay测试

    学习目标:1. WM9876接口和工作原理:2. WM9876驱动移植:3. WM9876应用测试:4. 问题总结 1. WM9876接口和工作原理  本节使用了JZ2440开发板移植WM9876驱动 ...

  7. JavaWeb基础—MVC与三层架构

    一.MVC的概念 MVC模式(Model–view–controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model).视图(View)和控制器(Controller ...

  8. 【FJOI2016】建筑师

    安利另外一篇\(blog\) 密码泥萌都知道 题面 题解 为了描述方便,这里将建筑称作\(zsy\) 高度为\(n\)的\(zsy\)无论如何都能从左右两侧看到.剩下的部分,从左边看到的是前缀\(ma ...

  9. GNS3 jungle newsfeed 隐藏

    windows 7 windows 8.1 1.开始---运行 输入(没有引号):“%appdata%” 2.修改---GNS3/gns3_gui.ini 的两行参数 "default_lo ...

  10. 在Docker中安装和部署MongoDB集群

    此文已由作者袁欢授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 在Docker中安装mongodb 采用的mongodb镜像:https://registry.hub.doc ...