zoukankan      html  css  js  c++  java
  • 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)

  • 相关阅读:
    理解css中min-width和max-width,width与它们之间的区别联系
    html实现时间轴_纯css实现响应式竖着/垂直时间抽布局效果
    web页面的重构和回流【转载】
    介绍web开发中实现会话跟踪的常用技术方法
    web标签语义化的理解_web语义化是什么意思
    从浏览器地址栏输入url到显示页面的步骤(以HTTP为例)
    H5调用手机的相机/摄像/录音等功能 _input:file的capture属性说明
    相邻元素之间的margin合并问题
    HTML连载33-背景定位
    Java连载22-for循环
  • 原文地址:https://www.cnblogs.com/Cai77/p/7788267.html
Copyright © 2011-2022 走看看