第三章:查找与排序(下)----------- 3.15基础学习_树、二叉树、堆排序

使用Eggjs做服务端获取微信小程序云开发数据库的access_token 最近自己想写了一个微信小程序,恰巧里面有个云开发,恰巧里面有个数据库,那懒人的我,就直接用云开发里面的数据库了,做测试或者正式也好,对于刚开始来说,免费的配额是够用的。 后来想到在小程序云开发上面的数据怎么看才方便?刚好微信小程序有一个服务端API,那就方便很多了,那就直接敲个服务端来获取云开发上数据库的数据出来到自己的后台上面,那以后管理起来也方便很多。 看了一下服务端api之后,发现有三个重要... 阅读详情

树、二叉树、堆排序:

对于二叉树:

①、i 的子节点: 2i+1, 2i+2;

②、i 的父节点: (i-1)/2 。

先序:根、左、右

中序:左、根、右

后序:左、右、根

N个节点的完全二叉树:树的高度:log2(N)取下整+1。(PS:根节点为第1层)

#include<iostream>
using namespace std;

int length;

//先序 
void preOrder(int arr[],int i){
	if(i>=length) return;
	cout<<arr[i]<<" ";//先输出根节点 
	preOrder(arr,i*2+1);//输出左子树 
	preOrder(arr,i*2+2);//输出右子树 
}

//中序 
void inOrder(int arr[],int i){
	if(i>=length) return;
	inOrder(arr,i*2+1);//递归输出左子树
	cout<<arr[i]<<" ";//输出根节点
	inOrder(arr,i*2+2);//递归输出右子树 
} 

int main(){
	int arr[]={78,56,34,43,4,1,15,2,23};
	length= 9;
	preOrder(arr,0);
	cout<<endl;
	cout<<"========================"<<endl;
	inOrder(arr,0);
	
	return 0;
} 

结果:

中国土地市场网爬取 实习期间老板需要对土地数据进行爬取,想来想去就Google到了.应该算是种类最齐全的土地数据了。Github地址:https://github.com/AnTi-anti/china_land/tree/master。 阅读详情

相关推荐

TPAMI 2025新作LRFormer复现笔记:我的Windows 11 + RTX 4090配置全流程

本文详细记录了在Windows 11系统下使用RTX 4090显卡复现TPAMI 2025顶会论文LRTransformer的完整流程,包括硬件配置、系统优化、Python环境搭建及模型训练中的常见问题解决方案。特别针对Windows平台特有的路径管理、CUDA版本冲突和显存优化等关键技术细节提供了实用指南,帮助开发者高效完成环境搭建和模型训练。

weixin_29094301的博客 414

数据结构 | 详解二叉树——堆与堆排序

2.再向下调整(大的上小的下),这样调整后的堆顶元素必为调整范围内的最大值,经过下一轮的首尾元素交换后,就可以放入调整完的区域内。可以看出:节点少的层向上调整得少,节点多的层向上调整得多。可以看出:节点少的层向下调整得多,节点多的层向下调整得少。第一层,2^0个节点,需要向下调整h-1层。第二层,2^1个节点,需要向下调整h-2层。第三层,2^2个节点,需要向下调整h-3层。第h层,2^h个节点,需要向下调整h-1层。第h层,2^h个节点,需要向下调整0层。第三层,2^2个节点,需要向下调整2层。

mooridy的博客 2513

避开PSRR仿真三大坑:用Cadence psspxf分析分频器时,这些设置错了白忙活

本文深入探讨了使用Cadence psspxf工具进行分频器PSRR仿真时常见的三大技术陷阱,包括扰动信号参数设置、收敛性优化和后处理信号提取。通过详细的参数推荐和实战技巧,帮助工程师避免仿真误差,提升PSRR分析效率与准确性,特别适用于16分频器等数字-模拟混合电路设计。

weixin_29258297的博客 302

数据结构-二叉树以及堆和堆排序

树在数据结构中是一种很重要的存储结构,而树的种类有很多,例如:二叉树,哈夫曼树,b树,红黑树等等,而二叉树在数据结构中算是一种比较简单的树,而我们今天要了解的就是二叉树。

weixin_48344647的博客 654

Arm CCA架构:硬件级机密计算与安全隔离技术解析

机密计算(Confidential Computing)通过硬件级隔离技术构建可信执行环境(TEE),是当前云安全和数据隐私保护的核心方案。Armv9-A引入的CCA架构采用物理地址空间隔离和Granule保护表(GPT)机制,实现4KB颗粒度的内存访问控制。该技术通过标准化的RMI/RSI接口规范,为虚拟化环境和安全敏感应用提供硬件级保护,特别适用于金融交易、医疗数据处理等需要严格隔离的场景。相比传统TEE方案,Arm CCA在隔离等级和动态权限管理方面具有显著优势,其Realm World设计为机密计算

weixin_30905133的博客 566

学习笔记( 11 ) - 解决:finalshell连接虚拟机(ubuntu)超时,主机ping不通虚拟机,主机没有VMnet8网卡, Connection refused: connect

解决:finalshell连接虚拟机(ubuntu)超时,主机ping不通虚拟机,主机没有VMnet8网卡, Connection refused: connect

烟溪彭于晏的博客 2万+

二叉树 堆与堆排序的实现(附有TOP-K问题)

目录 二叉树概念及结构 满二叉树与完全二叉树 二叉树的性质 堆的概念及结构 堆的实现 堆的创建 堆的销毁 交换函数 堆的打印 堆的插入 向上调整算法 堆的删除 向上调整算法详解图: 向下调整算法 向下调整算法详解图: 获取堆顶元素 获取堆的数据个数 堆的判空 完整代码 Heap.h Heap.c test.c TopK问题 堆排序 具体思想: 堆排序详解图: 二叉树概念及结构 形如下图结构的被称为二叉树。 二叉树特点: 1、...

m0_57249790的博客 671

SAP 生产订单归档简介

通常在使用了几年的SAP后,系统中会产生非常多的数据在系统中,特别是制造业的生产订单,常年的累积会存在很多的订单在系统中,这个时候就可以使用归档的功能,对生产订单进行处理。标记DLFL的前提是需要完成生产订单的差异结算,DLFL标记可以清除掉生产订单的相关需求和预留。6、在执行CO78选择删除,前面的操作相当于我们把需要归档的数据写入了数据库中,现在正式进行数据的归档删除。然后我们co03在去看生产订单,可以看到生产订单中多了删除的状态和标记的状态。我这里直接执行的程序PPARCHP1,效果其实是一样的。

我小时候很黑的博客 2287

数据结构:二叉树及堆排序

二叉树初阶及堆排序

m0_64240499的博客 819

【Bug已解决】Codex CLI 报错 You‘ve hit your usage limit 解决方案

Codex CLI 密集使用时触发 You've hit your usage limit 限流报错,本质是订阅套餐额度机制在正常发挥作用。文中给出等待滚动重置、拆分大任务、主动管理上下文、升级套餐、团队排队机制等完整解决方案。

博客 1万+

C2000ware介绍

C2000的下载安装指南C2000目录。

小柚子的博客 2798

二叉树和堆排序

二叉树的性质总结,并利用二叉树的性质实现堆排序

谁家的喵 548

CATIA二次开发一一一获取属性的几种方法

这些方法覆盖了CATIA CAA开发中属性操作的典型场景,开发者可通过类型判断实现递归遍历、跨文档关联等复杂逻辑。此方法用于遍历对象的所有属性,获取属性键后可通过类型判断选择后续处理方式。适用于处理嵌套对象或关联对象的场景(如几何特征关联制造特征)。适用于简单属性值的直接读取(如版本号、状态标识等)。用于处理多值属性(如多选参数、装配体子件列表等)。用于处理跨文档引用(如零件关联图纸文件)。

工业软件开发 432

堆排序(C语言)

堆排序(C语言)

weixin_56223966的博客 1万+

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

【数据结构】第15-16周练习题 查找排序 选择题

2-1 用二分查找从100个有序整数中查找某数,最坏情况下需要比较的次数是:(3分) 7 10 50 99 作者: DS课程组 单位: 浙江大学 题目详情 A。 2的7次方 64 > 100/2 2-2 在下列查找的方法中,平均查找长度与结点个数无关的查找方法是:(3分) 顺序查找 二分法 利用哈希(散列)表 利用二叉搜索树 作者: DS课程组 单位: 浙江大...

韩旭051的博客 9321

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

排序算法--堆排序

其实堆排序已经涉及到一个叫做“树”的数据结构了,它不同于链表、栈、队列等,它是一种非线性的数据结构。那么我们今天不说太多,后面自然会仔细讲解的,今天我们就学会一些基础的概念就行。

Stark的博客 1413

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

note_15:平衡AVL树

平衡AVL树 参考: 《C++数据结构与程序设计》R.L.K和A.J.R著,钱丽萍译,清华大学出版社 《2019年数据结构考研复习指导》王道论坛·组编,电子工业出版社 博客园:二叉搜索树的深度与搜索效率 博客园:AVL树学习(平衡二叉树) 文章目录平衡AVL树1. 查找效率和二叉排序树的形态(1)最坏情况(2)最好情况2. AVL树(1)AVL树的定义(2)平衡因子的定义(3)旋转① LL...

Blog 1012

第六章.数据结构与算法基础

目录第六章.数据结构与算法基础(重点)第一节.数组与矩阵数组稀疏矩阵第二节.数据结构的定义第三节.线性表链表详解顺序存储与链式存储对比队列与栈第四节.广义表第五节.树与二叉树树的概念二叉树的分类二叉树的重要特性二叉树的遍历反向构造二叉树树转二叉树查找(排序)二叉树最优二叉树(哈夫曼树)线索二叉树平衡二叉树第六节.图图的基本概念图的存储-邻接矩阵(用的比较少,浪费空间,O(n2)O(n^{2})O(n2))图的存储-邻接表(用的最多)图的遍历拓扑排序图的最小生成树普里姆算法克鲁斯卡尔算法第七节.算法基础算法的

努力的小白马 1万+

【三万字 树据大全】(二叉树,线索二叉树,赫夫曼树,二叉排序树)

创建一个二叉树 public class BinaryTree { TreeNode root; public TreeNode getRoot() { return root; } public void setRoot(TreeNode root) { this.root = root; } } 创建树节点 public class TreeNode { int value; TreeNode leftNode

qq_46489085的博客 896

3 分钟理解完全二叉树、平衡二叉树、二叉查找树

完全二叉树是一种特殊的二叉树,满足以下要求:所有叶子节点都出现在 k 或者 k-1 层,而且从 1 到 k-1 层必须达到最大节点数;第 k 层可以不是满的,但是第 k 层的所有节点必须集中在最左边。 需要注意的是不要把完全二叉树和“满二叉树”搞混了,完全二叉树不要求所有树都有左右子树,但它要求:任何一个节点不能只有左子树没有右子树叶子节点出现在最后一层或者倒数第二层,不能再往上用一张图对比下“完全二叉树”和“满二叉树”:当我们用数组实现一个完全二叉树时,叶子节点可以按从上到下、从左到右的顺序依次添加到数组

2401_85835698的博客 1055

【数据结构】数据结构练习题5——查找+排序

一、选择题 1.顺序查找法适合于存储结构为哪一种存储方式的线性表。(A) A 顺序存储或链接存储 B 散列存储 C 压缩存储 D 索引存储 2.对线性表进行二分查找时,要求线性表必须(A) A 以顺序方式存储,且结点按关键字有序排序 B 以顺序方式存储 C 以链接方式存储 D 以链接方式存储,且结点按关键字有序排序 3.对于查找表的查找过程中,若被查找的数据元素不存在,则把该数据元素插入到集合中。这种方式主要适合于(A) A 动态查找表 B 静态查找表 C 静态查找表与动态查找表 D 两种表都不适合 4.采

要像蜗牛一样一步一步往上爬! 7816

【数据结构】—— 树和二叉树

树和二叉树、堆(顺序结构)、二叉树链式结构

ElvInR的博客 3165

python中堆排序_堆排序(python实现)

堆排序是利用最大最或最小堆,废话不多说:先给出几个概念:二叉树:二叉树是每个节点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”完全二叉树:除最后一层外,每一层上的节点数均达到最大值;在最后一层上只缺少右边的若干结点。满二叉树:除最后一层无任何子节点外,每一层上的所有结点都有两个子结点。堆:堆是一种数据结构,类似树根结构,如图,但是不一定是二叉树。二叉堆:...

weixin_39672296的博客 301

树型结构1 堆排序 线索二叉树 huffman

(1).堆排序: 使用了数组结构进行堆排序。输入一组数,输出排序后的数列。 结构如下: struct node{     elemtype key; }A[maxn]; 主要函数:void PushDown(int first,int last); //整理堆,维护堆的性质   void Sort(int n); //排序总函数 思路及原理:首先把数组建立为初始堆,然后把堆顶元素与

Velocity_light 1088

堆排序算法的Java实现与分析

1、堆排序算法的简单介绍 顾名思义哈,堆排序算法就是使用堆这种数据结构设计的一种排序算法,关于堆排序算法网上能找到太多的的资料讲解,但我是为了自己学习自己理解来写的博客,所以我呢只在我的博客中记录关键的一些知识点。 堆排序算法的关键知识点: 时间复杂度:在最好、最坏、平均情况下的时间复杂度都是O(nlogn); 稳定性:是一种不稳定的排序算法 堆分为大根堆和小根堆,相应的堆排序算法分...

weixin_30335353的博客 186

数据结构期末考试【含答案】

一、单选题(共30题)1.含n个叶结点的哈夫曼树,其总结点个数为( B )。 A.2n B.2n-1 C.n+2 D.2n+22.空格串是指( A )。 A.一个或多个空格组成的串 B.长度为0的串 C.用“φ”表示的串 D.零个字符的串3.下面二叉树中一定是完全二叉树的是( B )。 A.哈夫曼树 B.满二叉树 C.单枝二叉树 D.二叉排序树4.一棵有27结点的完全二叉树,对它按层编号,则对编号为8的结点X,它的双亲结点及右孩子结点的编号分别为( C  )。 A.4,14 B.2,15 C.4,

是小雷同学的博客 3万+
上一篇: 第三章:查找与排序(下)----------- 3.14 逆序对个数
下一篇: 第三章:查找与排序(下)----------- 3.16堆的概念及堆排序思路
Estrellas_
博客等级 码龄9年 273粉丝 233原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值