20162328蔡文琛 week09 大二
20162328蔡文琛 大二week09
教材学习内容总结
堆是一棵完全二叉树,其中每个元素大于等于其所有子节点的值。
向堆中添加一个元素的方法是,首先将这个元素添加为叶节点然后将其向上移动到合适的位置。
从堆中删除最大元素的方法是,利用最后的叶节点来取代根,然后将其向下移动到合适的位置。
堆是一棵完全二叉树,其中每个元素大于等于其所有子节点的值。 向堆中添加一个元素的方法是,首先将这个元素添加为叶节点然后将其向上移动到合适的位置。 从堆中删除最大元素的方法是,利用最后的叶节点来取代根,然后将其向下移动到合适的位置。 堆排序利用堆的基本特性对异族元素进行排序。 优先队列不是FIFO队列。它根据优先级排列元素,而不是根据它们进入队列的次序来排列 二叉查找树和堆都是越输了元素之间关系的二叉树。二叉查找树中的结点大于他的左节点,并小于等于它的右子节点,而(最大)堆中的节点大于等于他的两个子节点。
最小堆中数的最小值在树的根,而最大堆中最大值在根。所以,他们的策略和实现机制都是类似的。
将元素作为新的叶节点添加到堆中,然后让它在树中向上移动到与其他元素的大小先对合适的位置。
在(最大)堆中,用树的最后叶节点体换根,然后将该元素向下移动到与其他元素大小合适的位置,从而删除最大元素。
堆排序是一种排序算法,他先将数据添加到堆中,然后按排序的次序删除他们。
优先队列是一个队列,其元素按指定的优先级来排序,优先级相同时,按出现的先后次序排序。

教材学习中的问题和解决过程
问题:还是不太理解优先队列的概念。
解决:
优先队列是一种用来维护由一组元素构成的集合S的数据结构,其中的每一个元素都有一个相关的值,称为关键字。优先队列也分为两种:最大优先队列和最小优先队列。
一个最大优先队列支持以下操作:
•INSERT(S,x):把元素x插入集合S中;
•MAXIMUM(S):返回S中具有最大关键字的元素;
•EXTRACT_MAX(S):去掉并且返回S中的具有最大关键字的元素;
•INCREASE_KEY(S,x,k):将元素x的关键字值增加到k。
相应地,最小优先队列支持的操作包括INSERT、MINIMUM、EXTRAT_MIN和DECRESE_KEY。

[代码托管] (https://gitee.com/pdds2017/cwc20162328_JavaFoundations2nd/tree/master/src/FourArithmeticOperations)
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蔡文琛week09
学号 2016-2017-2 <程序设计与数据结构>第X周学习总结 教材学习内容总结 数据库是为了其他程序提供数据的应用软件. 关系书就哭通过唯一的标识符在不同表的记录见建立了关系. JD ...
- 20162328蔡文琛 大二week07
20162328 2017-2018-1 <程序设计与数据结构>第7周学习总结 教材学习内容总结 树是非线性结构,其元素组织为一个层次结构. 树的度表示树种任意节点的最大子节点数. 有m个 ...
- 20162328蔡文琛 大二 十二周课上测试 hash
- 20162328蔡文琛 大二week01
教材学习内容总结 算法+程序机构=程序 渐进复杂度称为算法的阶. 算法分析是计算机科学的基础课题. 增长函数显示了与问题大小相关的时间或空间的利用率. 算法的阶由算法增长函数的主项决定. 算法的阶给出 ...
- 20162328蔡文琛week04
学号 20162328 <程序设计与数据结构>第4周学习总结 教材学习内容总结 本周学习了第四章和第七章,第四章中的内容已经有了初步定的掌握,布尔表达式的运用,是条件和循环语句的基础及数组 ...
随机推荐
- ORM增删改查(django)
单表操作: 一.添加 (1)方式一 from mysite.models import * def add(request): book= Book(name="python" ...
- 面向对象之final关键字
1.1 final的概念 final是个修饰符,它可以用来修饰类,类的成员,以及局部变量.不能修饰构造方法. 问题: 继承的出现提高了代码的复用性,并方便开发.但随之也有问题,有些类在描述完之 ...
- VS2010调试和头文件路径设置
1:VS2010 release 调试C/C++ -> 常规 -> 调试信息格式, 修改为程序数据库(/Zi)C/C++ ->优化 -> 优化,修改为已禁用(/Od)链接器 - ...
- scala集合与java集合的转换应用
今天在业务开发中遇到需要Scala集合转为Java集合的场景: 因为业务全部是由Scala开发,但是也避免不了调用Java方法的场景,所以将此记录下来加深记忆: import scala.collec ...
- JavaWeb总结(一)
在学习Web应用程序客户端界面设计时,我们已经知道组成一个基本的Web应用程序需要Web服务器.Web客户端浏览器.HTTP协议以及静态HTML文件. Web服务器:接收客户端请求,然后向客户端返回一 ...
- 【BZOJ1041】[HAOI2008]圆上的整点
[BZOJ1041][HAOI2008]圆上的整点 题面 bzoj 洛谷 题解 不妨设\(x>0,y>0\) \[ x^2+y^2=r^2\\ y^2=(x+r)(x-r) \] 设\(r ...
- c#使用 HtmlAgilityPack来进行抓取和解析来获得table表格信息
项目上要用到抓取网页,最后选用了HtmlAgilityPack来进行. 官网地址:https://html-agility-pack.net/,可以看一下 基础的: // From File var ...
- [BZOJ1974][SDOI2010]代码拍卖会[插板法]
题意 询问有多少个数位为 \(n\) 的形如 \(11223333444589\) 的数位值不下降的数字在\(\mod p\) 的意义下同余 \(0\). $n\leq 10^{18} ,p\leq ...
- 利用shell连接服务器
#应用 连接timesten 数据库 host = Linux(ip, 'user', 'pwd') # 传入Ip,用户名,密码host.connect() #主机开启cdsql = host.sen ...
- 二级域名 cookie session 共享
setcookie('login','12345',0,'/','.abc.com'); session_set_cookie_params(0,'/','.abc.com');session_sta ...