20162328蔡文琛 大二week07
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的更多相关文章
- 20162328蔡文琛 大二 十二周课上测试 hash
- 20162328蔡文琛 大二week01
教材学习内容总结 算法+程序机构=程序 渐进复杂度称为算法的阶. 算法分析是计算机科学的基础课题. 增长函数显示了与问题大小相关的时间或空间的利用率. 算法的阶由算法增长函数的主项决定. 算法的阶给出 ...
- 20162328蔡文琛 week09 大二
20162328蔡文琛 大二week09 教材学习内容总结 堆是一棵完全二叉树,其中每个元素大于等于其所有子节点的值. 向堆中添加一个元素的方法是,首先将这个元素添加为叶节点然后将其向上移动到合适的位 ...
- 20162328蔡文琛 week05 大二
20162328 2017-2018-1 <程序设计与数据结构>第5周学习总结 教材学习内容总结 集合是收集元素并组织其他对象的对象. 集合中的元素一般由加入集合的次序或元素之间的某些固有 ...
- 20162328蔡文琛 week11 大二
20162328 2017-2018-1 <程序设计与数据结构>第十一周学习总结 教材学习内容总结 在无向图中,表示边的顶点对是无序的. 如果图中的两个顶点之间有边链接,则称它们是领接的. ...
- 20162328蔡文琛 week10 大二
20162328 2017-2018-1 <程序设计与数据结构>第十周学习总结 教材学习内容总结 理解图与有向图.无向图 理解带权图 会应用带权图 理解图的广度优先遍历和深度优先遍历 掌握 ...
- 20162328蔡文琛 week06 大二
20162328 2017-2018-1 <程序设计与数据结构>第6周学习总结 教材学习内容总结 队列元素按FIFO的方式处理----最先进入的元素最先离开. 队列是保存重复编码k值得一种 ...
- 20162328蔡文琛week07
学号 2016-2017-2 <程序设计与数据结构>第X周学习总结 教材学习内容总结 多态引用在不同的时候可以指向不同类型的对象. 多态引用在运行时才将方法调用用于它的定义绑定在一起. 引 ...
- 20162328蔡文琛week04
学号 20162328 <程序设计与数据结构>第4周学习总结 教材学习内容总结 本周学习了第四章和第七章,第四章中的内容已经有了初步定的掌握,布尔表达式的运用,是条件和循环语句的基础及数组 ...
随机推荐
- C# lambda表达式参数的正确使用姿势
C#的lambda表达式的好用就不多说了,中午吃饭的时候突然想到一个以前(有年头了,难道屌丝上岁数了就回忆这个么...)和同事争执的坑.. 列个demo吧.. 先是一个类,这个类的对象就是为了吃堆内存 ...
- 修改Ubuntu从文本界面登录
1, 编辑grup文件 #sudo vim /etc/default/grup //找到这行 GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" / ...
- centos安装telnet
安装环境:CentOS 6.4 上篇已经讲述了memcached的安装,现在要测试Memcached功能的时候,需要使用到telnet服务.于是就有了本篇. 一.安装telnet 1.检测t ...
- 使用iometer测试
对国产机进行测试 1.win7上安装测试 下载: 点击打开链接 双击安装即可. 2.ubuntu下配置: OS: Ubuntu 12.04LTS x86_64Kernel: 3.5.0-26-gene ...
- MySQL 卸载
第一步:先查看 mysql 服务是否停止 没有停止就停止 第二步:用 管理员身份 运行 命令提示符 查看mysql 服务是否停止 : net stop mysql 卸载 : mysqld remo ...
- 使用promis串行化异步操作
该代码可在chrome下运行,对于低版本浏览器可以引入Q库 function async1() { var defer = Promise.defer() setTimeout(function(){ ...
- 获取当前页面的所有链接的四种方法对比(python 爬虫)
''' 得到当前页面所有连接 ''' import requests import re from bs4 import BeautifulSoup from lxml import etree fr ...
- Python distribute到底使用package_data还是MANIFEST.in?
今天看Flask的文档,里面提到如何通过distribute发布你自己的Python包.讲包含文件的时候,提到要用MANIFEST.in并将include_package_data设置为True. 由 ...
- 关于Memcached 你了解多少?
好久没有写博客了,自从年后到现在要么就是加班 要么还是在加班 基本都是到夜里1点多 通宵的干,事情太多,项目太急 .难得今天闲暇一段时间来,看看书,写一写博客,没事就再重新的研究一下关于Memcac ...
- Jmeter+ant+jenkins接口自动化测试 平台搭建(二)
一.依赖文件配置 1.在ant目录C:\apache-ant-1.10.5下新建一个demo文件夹,并将jmeter测试脚本放在该文件夹中 2.将\apache-jmeter-3.3\extras下面 ...