盐城网站推广网站不备案有什么影响

diannao/2026/1/19 8:16:21/文章来源:
盐城网站推广,网站不备案有什么影响,wordpress 去优酷广告插件,全球华设计大赛堆的概念 如果有一个关键码的集合K{k0,k1,k2,…,kn-1},把它的所有元素按完全二叉树的顺序存储方式存储再一个一维数组中#xff0c;并满足:KiK2i1且KiK2i1(Ki K2i1 且 Ki K2i2),i0,1,2,3…。则称为小堆(或大堆)。将根结点最大的堆叫做最大堆或大根堆#…堆的概念 如果有一个关键码的集合K{k0,k1,k2,…,kn-1},把它的所有元素按完全二叉树的顺序存储方式存储再一个一维数组中并满足:KiK2i1且KiK2i1(Ki K2i1 且 Ki K2i2),i0,1,2,3…。则称为小堆(或大堆)。将根结点最大的堆叫做最大堆或大根堆根结点最小的堆叫做最小堆或小根堆 堆的性质 堆中某个节点的值总是不大于或不小于其父节点的值堆总是一棵完全二叉树。 堆的向下调整算法 顺序存储的完全二叉树 已知[parent] [left] 2*[parent]1; [right] 2*[parent]2;已知[child] 无论左右 [parent] ([child]-1)/2基本步骤 建立小堆 要调整root所在结点前提:root的左右结点子树已经满足堆的性质如果root所在结点已经是叶子结点调整结束找到左右孩子中最小的一个minif (array[root] array[min])。调整结束else: swap(array[root],array[min]) ; [min] [root] ; 再回到1重复这几个步骤 代码实现 void AdjustDown(int array[], int size, int root) {//判断 root 是否是叶子结点//因为 堆是完全二叉树所以没有左孩子一定没有右孩子//又因为堆是顺序存储的//所以找到左孩子的下标如果左孩子的下标越界了则没有左孩子while (1){int left 2 * root 1;if (left size){//越界了就是叶子结点return;}//走完上面一定有左孩子判读是否有右孩子//找到左右孩子最小的一个int right 2 * root 2;int min left;//最开始就认为最小的值为左孩子if (right size array[right] array[left]){//没有越界,就有右孩子如果右孩子的值小于左孩子的值min right;}//比较array[min] array[root]if (array[root] array[min]){return;}//调整,交换值int t array[root];array[root] array[min];array[min] t;//需要继续向下调整以min作为结点root min;} }测试 void PrintArray(int array[], int size) {for (int i 0; i size; i){printf(% d, array[i]);}printf(\n); }void TestAdjustDown() {int array[] { 27, 15, 19, 18, 28, 34, 65, 49, 25, 37 };int size sizeof array / sizeof(int);PrintArray(array, size);AdjustDown(array, size, 0);PrintArray(array, size); }时间复杂度(logn) 建堆 循环变量i从最后一个非叶子节点开始到0结束在这之间不断的做向下调整 最后一个非叶子节点 最后一个结点的双亲结点( size-1) ((size-1)-1)/2 代码实现 //建堆 void CreateHeap(int array[], int size) {for (int i (size - 2) / 2; i 0; i--){//不断的向下调整AdjustDown(array, size, i);} }测试 时间复杂度O(n) void TestCreateHeap(){int array[] { 15, 37, 2, 45, 63, 9, 18, 7, 16, 13 };int size sizeof(array) / sizeof(int);CreateHeap(array, size);PrintArray(array, size); }堆的初始化 //初始化 void HeapInit(Heap *heap, int array[], int size){memcpy(heap-array, array, size*sizeof(int));heap-size size;CreateHeap(heap-array, size); }堆的删除 只能删除堆顶元素删其他位置没有意义拿数组中最后一个元素覆盖掉数组第一个元素也就是堆顶元素然后向下调整 代码实现 //删除 void HeapPop(Heap *heap) {heap-array[0] heap-array[heap-size - 1];AdjustDown(heap-array, heap-size - 1,0);heap-size--; }堆的插入 往数组中最后一个位置插入然后向上调整 //向上调整 /* array 数组 size 数组的长度 child 要向上调整的结点下标 *///小堆的情况 void AdjustUp(int array[], int size, int child) {while (1){//已经到堆顶位置if (child 0){return;}int parent (child - 1) / 2;//父结点的值比孩子的值小的就不用调整if (array[parent] array[child]){return;}//交换int t array[parent];array[parent] array[child];array[child] t;child parent;} }/插入操作 void HeapPush(Heap *heap, int val){heap-array[heap-size] val;AdjustUp(heap-array, heap-size, heap-size - 1); }堆排序 堆排序不能找最小的放到最前要不然堆的结构会被破坏 堆排序的注意事项 排升序建大堆排降序建小堆原因是重新调整回堆的成本更小(向下调整(O(logn)) 建堆(O(n))) i的意义是被选出的最大的数的个数 for(i size-1){//一次循环找出一个最大的数放到最后swap(array[0],array[size-1-i])AdjustDown(array,size-1-i); }代码实现 //大堆的情况void AdjustDown222(int array[], int size, int root) {//判断 root 是否是叶子结点//因为 堆是完全二叉树所以没有左孩子一定没有右孩子//又因为堆是顺序存储的//所以找到左孩子的下标如果左孩子的下标越界了则没有左孩子while (1){int left 2 * root 1;if (left size){//越界了就是叶子结点return;}//走完上面一定有左孩子判读是否有右孩子//找到左右孩子最小的一个int right 2 * root 2;int min left;//最开始就认为最小的值为左孩子if (right size array[right] array[left]){//没有越界,就有右孩子如果右孩子的值小于左孩子的值min right;}//比较array[min] array[root]if (array[root] array[min]){return;}//调整,交换值int t array[root];array[root] array[min];array[min] t;//需要继续向下调整以min作为结点root min;} } void AdjustUp222(int array[], int size, int child) {while (1){//已经到堆顶位置if (child 0){return;}int parent (child - 1) / 2;//父结点的值比孩子的值小的就不用调整if (array[parent] array[child]){return;}//交换int t array[parent];array[parent] array[child];array[child] t;child parent;} }//堆排序 //升序建大堆void HeapSort(int array[], int size) {CreateHeap(array, size);//i 表示被找出的最大的数的个数for (int i 0; i size - 1; i){//每次循环会找出最大的一个数放到最后int t array[0];array[0] array[size - i - 1];array[size - i - 1] t;//进行向下调整数据规模是size-1-i;AdjustDown222(array, size - 1 - i, 0);} }测试 void TestHeapSort() {int array[] { 39, 129, 12, 38, 27, 9, 33, 2, 14 };int size sizeof(array) / sizeof(int);HeapSort(array, size);PrintArray(array, size); }测试堆排序与冒泡排序的速度 #define SIZE 50000void TestSortSpeed(){srand(20190104);int array[SIZE] ;for (int i 0; i SIZE; i){array[i] rand() % 10 * 10000;}int s time();HeapSort(array, SIZE);int e time();printf(%d\n, e - s);}堆排序速度 冒泡排序速度 TopK问题 在海量数据中(n100*10000),找最大的k10个数 /* 类似伪代码实际中size是海量的内存中放不下需要借助文件操作 */ void TopK(int array[], int size, int k){int *heap (int *)malloc(sizeof(int)*k);for (int i 0; i k; i){heap[i] array[i];}//针对heap建小堆CreateHeap(heap, k);for (int j k; j size; j){if (array[j]heap[0]){heap[0] array[j];AdjustDown(heap, k, 0);}} }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/90403.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

快普网站怎么做采购退货建设银行交学费网站2018

实验参考: 使用l2_multi模块寻找最短路径实验 实验步骤: comming soon... 转载于:https://www.cnblogs.com/ptolemy/p/11256021.html

深圳网站搜索排名vmware做网站步骤

OpenSBI初始化分析 OpenSBI初始化启动流程:主要涉及三个阶段 OpenSBI底层初始化 OpenSBI初始化 启动流程:主要涉及三个阶段 .S汇编阶段,主要是Opensbi的底层初始化阶段,为C准备执行环境;设备初始化阶段,此…

潍坊网站收录内容管理网站

最近一段时间公司的社区垃圾帖数量陡然上涨,以至于社区首页的推荐版块满满都是垃圾帖的身影,为了进一步解决垃圾帖问题我们整整花了1天时间删垃圾贴,清除不良用户,删的手都酸了,可见垃圾帖的数量之多!可耻的…

用电脑做网站的历史在哪里找凯新认证北京有限公司

环境搭建 源码链接如下所示 https://gitee.com/openbaijia/baijiacms 安装至本地后 直接解压到phpstudy的www目录下即可 接下来去创建一个数据库用于存储CMS信息。(在Mysql命令行中执行) 接下来访问CMS,会默认跳转至安装界面 数据库名称和…

品牌网站建设d小蝌蚪网站流量下降

单页面应用(SPA)作为一种现代化的Web应用程序架构,在当今互联网时代越来越受到开发者和用户的欢迎。它通过在加载应用程序时只加载一次页面,实现页面内容的动态更新,带来了许多优势和挑战。本文将深入探讨SPA的优点和缺…

惠安 网站建设公司网站建设实训作业

近期在做船仅仅识别方面的事情,须要大量的正样本来训练adaboost分类器。于是到marinetraffic这个站点上下载船仅仅图片。写个爬虫来自己主动下载显然非常方便。 站点特点 在介绍爬虫之前首先了解一下marinetraffic这个站点的一些特点: 1. 会定期检測爬虫…

怎么做网站的域名解析长沙新型网络营销

Xbox下载速度慢的问题通常是由于网络环境或微软服务器的问题。以下是一些提升Xbox下载速度的方法: 使用加速器:如果您的网络环境不稳定或存在其他问题,可以使用加速器来优化网络环境,从而提高下载速度。检查网络连接:…

廊坊网站建设方案seo分析报告

在本文中,我们将了解不同的事件,ASP.NET 应用程序的生命周期以浏览器向 Web 服务器(对于 ASP.NET 应用程序,通常为 IIS)发送请求为起点,直至将请求结果返回至浏览器结束。在这个过程中,首先我们…

做磁力链网站4a网站建设公司

学习目标: 计算机网络 1.掌握计算机网络的基本概念、基本原理和基本方法。 2.掌握计算机网络的体系结构和典型网络协议,了解典型网络设备的组成和特点,理解典型网络设备的工作原理。 3.能够运用计算机网络的基本概念、基本原理和基本方法进行…

织梦网站专题模板门户网站开发模板

目录 1、 结构体的内存对齐 1.1、对齐规则 1.2、练习1、练习2(演示对齐规则1、2、3、4) 2、为什么存在内存对齐 2.1、平台原因(移植原因) 2.2、性能原因 2.3、那么如何即满足对齐,又要节省空间呢? …

网站要怎么建立网页制作流程图片

我一直试图通过将包含我目录名称的log.i字符串值添加到数组中,然后使用数组适配器通过listView打印它们,来在listView中的目录中打印项目.但是,当我尝试运行该应用程序时,它将打印包含目录名称的日志,但不会在listView上打印任何内容.有什么帮助吗?这是我的代码&…

不忘初心网站建设网站设计方案谁写

1.前言 在9.0的系统产品定制化开发中,在进行一些定制开发中,对于一些app需要通过属性来控制禁止安装,比如adb install也不允许安装,所以就需要 熟悉adb install的安装流程,然后来禁用adb install安装功能,接下来分析下adb 下的安装流程 2.禁用adb install 安装app功能的…

网站开发qq头像做类似3d溜溜的网站

今天写uni-app的项目 设置uni-app扩展组件的样式 使用穿透/deep/ 发现小程序没有效果 h5有效果 //小程序无效 h5生效 /deep/ .uni-list-item .uni-list-item__container .uni-list-item__content .uni-list-item__content-title{color: #333333;font-size: 32upx;}加入一下代…

做优化网站能以量取胜么网站建设的流程视频

在我们以往和企业的沟通过程中,我们发现还是有相当多的一部分企业对于商业智能 BI 了解不多,或者对商业智能 BI 的理解仅停留在花花绿绿的可视化页面上,要么就是提出以下类似问题: 财务部门:BI 的财务分析指标也就是三…

手机网站开发成appwordpress怎么获取在线ip

您可以从项目中创建debian包.据我所知,你想创建一个用于分发的包,所以我建议你从你的项目中创建一个debian包.Here是Debian Packaging系统的介绍.在文章中,他们在某些时候描述了如何创建一个“规则”文件,它是构建过程的核心.以下是我通常用于Qt / KDE项目的示例:#!…

免费自助建站网站一览自助建网站网站关键词先后

安装下载地址:https://dev.mysql.com/downloads/mysql/​dev.mysql.com双击.msi文件开始安装,采用Custom安装方式。配置安装完毕弹出配置,或者安装路径下bin文件夹下MySQLInstanceConfig.exe运行可以进行配置。采用Detailed Configuration-》…

网站建设花费网站宣传的方式

之前做过电商网站倒计时的效果,今天在倒计时的基础上,把代码修改了一下,改为计时器效果,实现了以下功能: 1.点击“开始”后,按秒计时且“开始”文字变为“停止”; 2.点击“停止”,计…

做家具的网站有哪些建设企业学习网站

前端下载文件有哪些方式 在前端,最常见和最常用的文件下载方式是: 使用 标签的 download 属性: 创建一个 标签,并设置其 href 属性为文件的 URL,然后使用 download 属性指定下载的文件名。 这种方式简单直接&…

知乎 上海做网站的公司手机笑话网站源码

文章目录 一、Web应用,架构搭建二、web应用环境架构类三、web应用安全漏洞分类总结 一、Web应用,架构搭建 #网站搭建前置知识 域名,子域名,dns,http/https,证书等 二、web应用环境架构类 理解不同web应用组成角色功能架构 开发…

企业电子商务网站建设问题上海网站建站建设

最近在学习MySQL优化方面的知识。本文就数据类型和schema方面的优化进行介绍。1. 选择优化的数据类型MySQL支持的数据类型有很多,而如何选择出正确的数据类型,对于性能是至关重要的。以下几个原则能够帮助确定数据类型:更小的通常更好应尽可能…