当前位置: 首页 > news >正文

网站开发软件排名优化网络软件

网站开发软件排名,优化网络软件,携程网站票面价含机场建设费吗,河南安阳市有几个县提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言二叉堆(Binary Heap)没什么神秘,性质比二叉搜索树 BST 还简单。其主要操作就两个,sink(下沉&#xf…

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
    • `二叉堆(Binary Heap)没什么神秘,性质比二叉搜索树 BST 还简单。其主要操作就两个,sink(下沉)和 swim(上浮),用以维护二叉堆的性质。其主要应用有两个,首先是一种排序方法「堆排序」,第二是一种很有用的数据结构「优先级队列」`
  • 一、二叉堆


前言

二叉堆(Binary Heap)没什么神秘,性质比二叉搜索树 BST 还简单。其主要操作就两个,sink(下沉)和 swim(上浮),用以维护二叉堆的性质。其主要应用有两个,首先是一种排序方法「堆排序」,第二是一种很有用的数据结构「优先级队列」

一、二叉堆

public class MaxPQ<Key extends Comparable<Key>> {// 存储元素的数组private Key[] pq;// 当前 Priority Queue 中的元素个数private int size = 0;public MaxPQ(int cap) {// 索引 0 不用,所以多分配一个空间pq = (Key[]) new Comparable[cap + 1];}/* 返回当前队列中最大元素 */public Key max() {return pq[1];}/* 插入元素 e */public void insert(Key e) {...}/* 删除并返回当前队列中最大元素 */public Key delMax() {...}/* 上浮第 x 个元素,以维护最大堆性质 */private void swim(int x) {...}/* 下沉第 x 个元素,以维护最大堆性质 */private void sink(int x) {...}/* 交换数组的两个元素 */private void swap(int i, int j) {Key temp = pq[i];pq[i] = pq[j];pq[j] = temp;}/* pq[i] 是否比 pq[j] 小? */private boolean less(int i, int j) {return pq[i].compareTo(pq[j]) < 0;}/* 还有 left, right, parent 三个方法 */public class MaxPQ <Key extends Comparable<Key>> {// 为了节约篇幅,省略上文给出的代码部分...private void swim(int x) {// 如果浮到堆顶,就不能再上浮了while (x > 1 && less(parent(x), x)) {// 如果第 x 个元素比上层大// 将 x 换上去swap(parent(x), x);x = parent(x);}}public class MaxPQ <Key extends Comparable<Key>> {// 为了节约篇幅,省略上文给出的代码部分...private void sink(int x) {// 如果沉到堆底,就沉不下去了while (left(x) <= size) {// 先假设左边节点较大int max = left(x);// 如果右边节点存在,比一下大小if (right(x) <= size && less(max, right(x)))max = right(x);// 结点 x 比俩孩子都大,就不必下沉了if (less(max, x)) break;// 否则,不符合最大堆的结构,下沉 x 结点swap(x, max);x = max;}}public class MaxPQ <Key extends Comparable<Key>> {// 为了节约篇幅,省略上文给出的代码部分...public void insert(Key e) {size++;// 先把新元素加到最后pq[size] = e;// 然后让它上浮到正确的位置swim(size);}public class MaxPQ <Key extends Comparable<Key>> {// 为了节约篇幅,省略上文给出的代码部分...public Key delMax() {// 最大堆的堆顶就是最大元素Key max = pq[1];// 把这个最大元素换到最后,删除之swap(1, size);pq[size] = null;size--;// 让 pq[1] 下沉到正确位置sink(1);return max;}
}}}}}
http://www.ds6.com.cn/news/108601.html

相关文章:

  • 做外贸怎么上国外网站整合营销策略
  • 网站如何在百度搜索到短视频精准获客
  • 西宁网站制作费用是多少钱郑州网站制作工具
  • 萝岗门户网站建设微博推广方案
  • 所有的购物平台大全seo优化推广技巧
  • 网站推广由什么样的人来做竞价推广的基本流程
  • 酒类网站建设方案东莞关键词seo优化
  • 安徽网站建设微信开发cpm广告联盟平台
  • 小说网站建设多少钱班级优化大师使用心得
  • 现在网站开发哪个语言好网站平台有哪些
  • 微企业网站模板免费广告网络营销
  • seo搜索铺文章长沙网站seo公司
  • 优秀的网站建设托管投放广告的渠道有哪些
  • 安防公司手机网站企业营销策划公司
  • 佛山网站建设seo优化sem竞价广告
  • 郑州网站建设q.479185700棒搜狗权重查询
  • 可以做商城网站的公司搜索引擎优化原理
  • 万江营销型网站建设seo顾问什么职位
  • 如何做网站优化的内容代写平台
  • 网站服务器租用一年多少钱啊手机建站平台
  • 网站建设 南通百度人工客服电话24小时
  • 常用分类信息网站网站引流推广
  • 得有店小程序官网seo最强
  • 做a图片视频在线观看网站网络平台营销
  • 计算机网站模板推广自己的产品
  • 海外网络推广方案北海seo快速排名
  • 西安专业做网站建设站长工具seo综合查询问题
  • 西宁好的网站建设软件开发培训多少钱
  • 微信优惠群怎么做网站网站优化资源
  • 达内网站开发学习培训谷歌浏览器手机版免费官方下载