科技公司网站案例做 在线观看免费网站

news/2025/9/22 15:53:13/文章来源:
科技公司网站案例,做 在线观看免费网站,平面设计好学吗?没有基础,软件工程学科评估引言 在数据结构和算法的世界里#xff0c;平衡二叉搜索树#xff08;Balanced Binary Search Tree, BST#xff09;是一种非常重要的数据结构。AVL树#xff08;Adelson-Velsky和Landis发明的树#xff09;就是平衡二叉搜索树的一种#xff0c;它通过自平衡来维护其性质…引言 在数据结构和算法的世界里平衡二叉搜索树Balanced Binary Search Tree, BST是一种非常重要的数据结构。AVL树Adelson-Velsky和Landis发明的树就是平衡二叉搜索树的一种它通过自平衡来维护其性质任何节点的两个子树的高度差至多为1。这一特性使得AVL树在插入、删除和查找操作中都能保持相对稳定的性能。 一、AVL树的基本概念 AVL树是一种自平衡的二叉搜索树它的每个节点都包含四个属性键值、左子树指针、右子树指针和高度。高度是从该节点到其任一叶子节点的最长路径上边的数量。 二、AVL树的性质 二叉搜索树性质对于任意节点N其左子树上所有节点的键值都小于N的键值而右子树上所有节点的键值都大于N的键值。平衡性质对于任意节点N其左子树和右子树的高度差至多为1。 三、AVL树的旋转操作 当在AVL树中插入或删除节点时可能会破坏其平衡性质。为了恢复平衡我们需要进行旋转操作。旋转操作包括四种情况右旋转RR、左旋转LL、左右旋转LR和右左旋转RL。 右旋转RR当某个节点的右子树的高度比左子树高2时需要进行右旋转。左旋转LL当某个节点的左子树的高度比右子树高2时需要进行左旋转。左右旋转LR当某个节点的左子树的右子树高度过高时需要先进行左旋转再进行右旋转。右左旋转RL当某个节点的右子树的左子树高度过高时需要先进行右旋转再进行左旋转。 四、C实现AVL树 在C中我们可以使用类和结构体来实现AVL树。以下是一个简化的AVL树节点结构定义和旋转操作的伪代码实现。 templateclass T struct AVLTreeNode {AVLTreeNode(const T data T()): _pLeft(nullptr), _pRight(nullptr), _pParent(nullptr), _data(data), _bf(0){}AVLTreeNodeT* _pLeft;AVLTreeNodeT* _pRight;AVLTreeNodeT* _pParent;T _data;int _bf; // 节点的平衡因子 };// AVL: 二叉搜索树 平衡因子的限制 templateclass T class AVLTree {typedef AVLTreeNodeT Node; public:AVLTree(): _pRoot(nullptr){}// 在AVL树中插入值为data的节点bool Insert(const T data) private:// 右单旋void RotateR(Node* pParent)// /// 左单旋void RotateL(Node* pParent);// \// 右左双旋void RotateRL(Node* pParent);// // 左右双旋void RotateLR(Node* pParent);// private:Node* _pRoot; }; 1增加 bool Insert(const T data){Node* newnode new Node(data);if (_pRoot nullptr){_pRoot newnode;return true;}else{Node* parent nullptr;Node* cur _pRoot;while (cur){if (cur-_data data){parent cur;cur cur-_pRight;}else if (cur-_data data){parent cur;cur cur-_pLeft;}else{return false;}}if (parent-_data data){parent-_pRight newnode;}else{parent-_pLeft newnode;}newnode-_pParent parent;//更新平衡因子cur newnode;while (parent){if (cur parent-_pLeft){parent-_bf;}else{parent-_bf--;}if (parent-_bf 0){break;}else if (parent-_bf 1 || parent-_bf -1){cur parent;parent parent-_pParent;}else if (parent-_bf 2 || parent-_bf -2){if (parent-_bf 2 cur-_bf 1){RotateR(parent);}else if (parent-_bf -2 cur-_bf -1){RotateL(parent);}else if (parent-_bf 2 cur-_bf -1){RotateLR(parent);}else{RotateRL(parent);}break;}else{assert(false);}}return true;}} 2右旋转 // 右单旋void RotateR(Node* pParent)// /{Node* pchild pParent-_pLeft;Node* pchildr pchild-_pRight;Node* grandfather pParent-_pParent;if (pchildr){pchildr-_pParent pParent;}pParent-_pLeft pchildr;pParent-_pParent pchild;pchild-_pRight pParent;if (pParent _pRoot){_pRoot pchild;pchild-_pParent nullptr;}else{if (grandfather-_pLeft pParent){grandfather-_pLeft pchild;}else{grandfather-_pRight pchild;}pchild-_pParent grandfather;}pParent-_bf pchild-_bf 0;} 3.右左双旋 // 右左双旋void RotateRL(Node* pParent)// {Node* pchild pParent-_pRight;Node* pchildl pchild-_pLeft;int bf pchildl-_bf;RotateR(pchild);RotateL(pParent);pchildl-_bf 0;if (bf 1){pParent-_bf 0;pchild-_bf -1;}else if (bf -1){pchild-_bf 0;pParent-_bf 1;}else{pParent-_bf pchild-_bf 0;}} 五、AVL树的应用 AVL树在需要频繁进行插入、删除和查找操作的场景中非常有用。例如在数据库索引、文件系统的目录树等地方AVL树都能提供高效的数据访问能力。 六、总结 AVL树作为一种平衡二叉搜索树在维护其平衡性质的同时也保证了高效的查找、插入和删除操作。通过旋转操作AVL树能够在插入或删除节点后迅速恢复其平衡状态。在C中我们可以使用类和结构体来方便地实现AVL树并将其应用到各种需要高效数据访问的场景中。

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

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

相关文章

网站建设是用自己的服务器重庆室内设计

第1周:SQL入门 学习SQL语句的书写语法和规则从零学会SQL:入门​www.zhihu.com 第2周:查询基础 Select查询语句是SQL中最基础也是最重要的语句,这周我们就来利用Select来对表中的数据进行查询。从零学会SQL:简单查询​w…

福建建设局网站无锡市建设银行总行网站

puppeteer 文档:puppeteer.js中文文档|puppeteerjs中文网|puppeteer爬虫教程 Puppeteer本身依赖6.4以上的Node,但是为了异步超级好用的async/await,推荐使用7.6版本以上的Node。另外headless Chrome本身对服务器依赖的库的版本要求比较高,c…

做网站能用本地的数据库嘛商业空间设计案例网站

1月11日,由零售圈主办、20零售连锁协会协办、30零售行业媒体支持的中国零售圈大会暨2024未来零售跨年盛典在西安落下帷幕,在这个零售行业盛典中,第七在线凭借其高精尖产品和卓越的服务质量成功入选,并荣获了“百灵奖 Buylink Awar…

虚拟主机网站建设网站开发文档范文

11服务: 功能:控制MCU进行重启,重启分为硬重启和软重启,11服务一般代表软重启,虽然它里面有个子服务是硬件重启,这里需要注意下;硬重启在日常工作中一般代表B重启。命令格式(请求&am…

做网站犯法了 程序员有责任吗江干网站建设

一、背景 近年来由于危险河道管理措施不到位,调峰电站泄水风险长期存在,信息通报制度缺失以及民众安全警觉性不高等因素导致的水电站在泄洪时冲走下游河道游客以及人民财产的事故频发。 二、系统介绍 水电站智能监测泄洪预警系统是一种集成了物联网、云…

超前探展!2025 云栖大会朋友圈晒图必备

2025 云栖大会来了! 从基础设施、大模型到 Agent 和具身智能 全景呈现 AI 技术演进与产业落地 尽在 9.24-9.26 杭州云栖小镇! 2025 云栖大会将持续三天,来自 50 余个国家的 2000 多位演讲嘉宾将齐聚杭州,通过云栖前…

古蔺中国建设银行网站改变网站的域名空间

其实这篇文章不是这里的,只是,后台很傻B地进不了了。也不知道是什么乱七八糟的问题。先写在这里,当做这么久没更新的偷懒好了。(而且,挑出来的这些都是精华呢!),大家各取所需吧: 1. …

html5 公司网站盘锦网站推广

611. 有效三角形的个数 给定一个包含非负整数的数组,你的任务是统计其中可以组成三角形三条边的三元组个数。 示例 1: 输入: [2,2,3,4] 输出: 3 解释: 有效的组合是: 2,3,4 (使用第一个 2) 2,3,4 (使用第二个 2) 2,2,3注意: 数组长度不超过1000。数组里整数的范…

杭州好的做网站公司阿里云申请域名做网站

当提到C的时候,很多人会觉得语法复杂、学习曲线陡峭,并且好像与C语言还有点"纠缠不清"。尽管如此,C仍然是当今世界上最受欢迎和最有影响力的编程语言之一。特别是在当今快速发展的人工智能(AI)领域&#xff…

衡量网站质量的标准工信部官网查询系统查询手机

微软发布了Entity Framework Core2.1,为EF开发者带来了很多期待已久的特性。EF Core 2.1增加了对SQL GROUP BY的支持,支持延迟加载和数据种子等。EF Core 2.1的第一个重要新增特性是将GroupBy操作符翻译成包含GROUP BY子句的SQL。缺乏这种支持被认为是EF…

织梦响应式茶叶网站模板php网站开发技术

文章目录 📖 介绍 📖🏡 演示环境 🏡📒 实现方案 📒📝 操作步骤📝 注意事项⚓️ 相关链接 ⚓️📖 介绍 📖 小米设备的广告一直是用户头疼的问题,无论是开屏广告、应用内广告还是系统广告,都影响了用户体验。本文将详细介绍如何通过小米路由器实现去除广告…

凯里建设网站专注WordPress网站建设开发

在buildAdmin的表格中,通过按钮来选中和取消某一行 这种情况,只适合表格行的单选 在elementplus是这样说的 我们所使用的就是这个方法 看一下buildAdmin中的用法 highlight-current-row 是element-plus 中表格的属性 因为 buildadmin 中的table是对 el…

AutoCAD 2025 CAD 安装包中文永久免费免激活破解版下载及详细安装教程

一、CAD2025软件下载链接 软件名称:CAD2025 软件大小:2.69GB 安装环境:Win10以及以上 下载链接:(建议手机保存后到电脑端打开,下载解压无需任何密码) 夸克网盘:https://pan.quark.cn/s/9e4f2565ec22 迅雷网盘:…

做搜狗手机网站点做建网站

🚀 前端字段名和后端不一致?解锁 JSON 映射的“隐藏规则” 🌟 嘿,技术冒险家们!👋 今天我们要聊一个开发中常见的“坑”:前端传来的 JSON 参数字段名和后端对象字段名不一致,会发生…

报表神器Stimulsoft再升级!Stimulsoft Reports、Dashboards 和 PDF Forms 2025.4 即将发布!

报表神器Stimulsoft 即将推出 2025.4 新版本,本次更新带来了多项全新功能和优化修复,将为开发者与企业用户带来更高效、更灵活的报表与可视化体验。全球知名的报表解决方案服务商 Stimulsoft 即将推出 Stimulsoft Re…

题解:AT_agc027_e [AGC027E] ABBreviate

题意:很简单了,不再赘述。 做法: 我们先考虑最后的串会被更新成什么样子,发现应该是一段区间会缩起来成为一个字符,那么我们考虑一段怎么样的区间会变成 a 或 b。 我们考虑一个能缩的区间会缩成什么或者不能缩,首…

【PostgreSQL 17】11 窗口函数

直接这么写会报错,缺少GROUP BY SELECTemployee_id,first_name,last_name,salary,AVG(salary) FROM employees ;添加OVER() SELECTemployee_id,first_name,last_name,salary,AVG(salary) OVER() FROM employees ;定义…

网站添加链接如何创建微信公众号要钱吗

Threejs文字与css2d/css3d技术 学习ThreeJS的捷径学习之前先搞清楚自己想要什么样的效果贴图文字准备一张带文字的png贴图使用sprite来进行贴图实现2D始终面朝相机的文字使用planeGeometry来贴图实现3D文字使用planeGeometry来贴图实现伪3D文字动态贴图文字html2Canvas 文字几何…

网络公司品牌推广哈尔滨网站优化对策

下面是我翻译的关于帮助理解抽象类的例子。 这是一个例子帮助我们理解抽象类。在我看来这是一个非常简单的方法。让我们一起来看看下面的代码&#xff1a; <?php class Fruit { private $color; public function eat() { //chew } publi…

百度右侧相关网站西安做网站的公司哪家好

在Spring Cloud中&#xff0c;Gateway可以通过配置文件来实现负载均衡。以下是一个简单的配置示例&#xff0c;它演示了如何将请求代理到名为service-instance的服务的两个不同实例。 spring:cloud:gateway:routes:- id: service-instance-routeuri: lb://service-instancepre…