建设银行信用卡官网站首页网站开发所需能力

web/2025/10/1 23:58:39/文章来源:
建设银行信用卡官网站首页,网站开发所需能力,如何在网站后台找到死链接,没有版权的图片网站文章目录 前言一、Key模型二、Key/Value模型总结 前言 二叉搜索树的在现实世界的应用很广泛#xff0c;比如Key模型#xff0c;Key-Value模型就是常见的两种的模型 一、Key模型 K模型#xff1a;K模型即只有key作为关键码#xff0c;结构中只需要存储Key即可#xff0c… 文章目录 前言一、Key模型二、Key/Value模型总结 前言 二叉搜索树的在现实世界的应用很广泛比如Key模型Key-Value模型就是常见的两种的模型 一、Key模型 K模型K模型即只有key作为关键码结构中只需要存储Key即可关键码即为需要搜索到的值。即就是判断key在不在就可以了。 比如门禁系统小区车辆出入系统等等 给一个单词word判断该单词是否拼写正确具体方式如下 以词库中所有单词集合中的每个单词作为key构建一棵二叉搜索树 在二叉搜索树中检索该单词是否存在存在则拼写正确不存在则拼写错误。 我们前面文章中所完成的二叉搜索树就是key模型的二叉搜身树 二、Key/Value模型 Key/Value每一个关键码key都有与之对应的值Value即Key, Value的键值对。该种方式在现实生活中非常常见比如商场的车辆出入系统计时付费高铁实名制车票系统等 比如英汉词典就是英文与中文的对应关系通过英文可以快速找到与其对应的中文英文单词与其对应的中文word, chinese就构成一种键值对 再比如统计单词次数统计成功后给定单词就可快速找到其出现的次数单词与其出现次数就是word, count就构成一种键值对 现在就让我们来实现一个key-value模型的二叉搜索树。 #pragma oncetemplateclass K, class V struct BSTreeNode {BSTreeNode(const K key K(), const V val V()):_key(key),_val(val),_left(nullptr),_right(nullptr){}K _key;V _val;BSTreeNodeK,V* _left;BSTreeNodeK,V* _right; };templateclass K, class V class BSTree {typedef BSTreeNodeK,V Node; public:BSTree():_root(nullptr){}BSTree(const BSTreeK,V t){_root Copy(t._root);}~BSTree(){_Destory(_root);}BSTreeK,V operator(BSTreeK,V t){std::swap(_root, t._root);return *this;}bool Insert(const K key,const V val){if (_root nullptr){_root new Node(key,val);return true;}else{Node* parent _root;Node* cur _root;while (cur ! nullptr){if (cur-_key key){return false;}else if (cur-_key key){parent cur;cur cur-_left;}else{parent cur;cur cur-_right;}}cur new Node(key,val);if (parent-_key key){parent-_left cur;}else if (parent-_key key){parent-_right cur;}return true;}}void InOrder(){_InOrder(_root);}Node* Find(const K key){Node* cur _root;while (cur){if (cur-_key key){return cur;}else if (cur-_key key){cur cur-_left;}else if (cur-_key key){cur cur-_right;}}return nullptr;}bool Erase1(const K key){Node* cur _root;Node* parent nullptr;while (cur){if (cur-_key key){parent cur;cur cur-_left;}else if (cur-_key key){parent cur;cur cur-_right;}else{if (parent nullptr){if (cur-_left nullptr){_root cur-_right;delete cur;return true;}else if (cur-_right nullptr){_root cur-_left;delete cur;return true;}else{Node* leftMaxParent cur;Node* leftMax cur-_left;if (leftMax-_right nullptr){leftMax-_right cur-_right;delete cur;_root leftMax;return true;}while (leftMax-_right){leftMaxParent leftMax;leftMax leftMax-_right;}std::swap(leftMax-_key, cur-_key);std::swap(leftMax-_val, cur-_val);leftMaxParent-_right leftMax-_left;delete leftMax;leftMax nullptr;return true;}}if (parent-_left cur){if (cur-_left nullptr){parent-_left cur-_right;delete cur;return true;}else if (cur-_right nullptr){parent-_left cur-_left;delete cur;return true;}else {Node* leftMaxParent cur;Node* leftMax cur-_left;if (leftMax-_right nullptr){leftMax-_right cur-_right;delete cur;parent-_left leftMax;return true;}while (leftMax-_right){leftMaxParent leftMax;leftMax leftMax-_right;}std::swap(leftMax-_key, cur-_key);std::swap(leftMax-_val, cur-_val);leftMaxParent-_right leftMax-_left;delete leftMax;leftMax nullptr;return true;}}else{if (cur-_left nullptr){parent-_right cur-_right;delete cur;return true;}else if (cur-_right nullptr){parent-_right cur-_left;delete cur;return true;}else{Node* leftMaxParent cur;Node* leftMax cur-_left;if (leftMax-_right nullptr){leftMax-_right cur-_right;delete cur;parent-_right leftMax;return true;}while (leftMax-_right){leftMaxParent leftMax;leftMax leftMax-_right;}std::swap(leftMax-_key, cur-_key);std::swap(leftMax-_val, cur-_val);leftMaxParent-_right leftMax-_left;delete leftMax;leftMax nullptr;return true;}}}}return false;}bool Erase2(const K key){Node* cur _root;Node* parent nullptr;while (cur){if (cur-_key key){parent cur;cur cur-_left;}else if (cur-_key key){parent cur;cur cur-_right;}else{if (cur-_left nullptr){if (parent nullptr){_root cur-_right;}else if (parent-_left cur){parent-_left cur-_right;}else if (parent-_right cur){parent-_right cur-_right;}}else if (cur-_right nullptr){if (parent nullptr){_root cur-_left;}else if (parent-_left cur){parent-_left cur-_left;}else if (parent-_right cur){parent-_right cur-_left;}}else{Node* leftMax cur-_left;Node* leftMaxParent cur;while (leftMax-_right){leftMaxParent leftMax;leftMax leftMax-_right;}std::swap(cur-_key, leftMax-_key);std::swap(cur-_val, leftMax-_val);if (leftMaxParent-_left leftMax){leftMaxParent-_left leftMax-_left;}else{leftMaxParent-_right leftMax-_left;}cur leftMax;}delete cur;return true;}}}Node* FindR(const K key){return _FindR(_root, key);}bool InsertR(const K key,const V val){return _InsertR(_root, key, val);}bool EraseR(const K key){return _EraseR(_root, key);} private:Node* Copy(Node* root){if (root nullptr){return nullptr;}Node* Copyroot new Node(root-_key, root-val);Copyroot-_left Copy(root-_left);Copyroot-_right Copy(root-_right);return Copyroot;}void _Destory(Node* root){if (root nullptr){return;}_Destory(root-_left);_Destory(root-_right);delete root;root nullptr;}bool _EraseR(Node* root, const K key){if (root nullptr){return false;}if (root-_key key){return _EraseR(root-_right, key);}else if (root-_key key){return _EraseR(root-_left, key);}else{Node* del root;if (root-_left nullptr){root root-_right;}else if (root-_right nullptr){root root-_left;}else{Node* leftMax root-_left;while (leftMax-_right){leftMax leftMax-_right;}std::swap(leftMax-_key, root-_key);std::swap(leftMax-_val, root-_val);return _EraseR(root-_left, key);}delete del;return true;}}bool _InsertR(Node* root, const K key, const V val){if (root nullptr){root new Node(key, val);return true;}if (root-_key key){return _InsertR(root-_right, key, val);}else if (root-_key key){return _InsertR(root-_left, key, val);}else{return false;}}Node* _FindR(Node* root, const K key){if (root nullptr){return nullptr;}if (root-_key key){return root;}else if (root-_key key){return _FindR(root-_left, key);}else{return _FindR(root-_right, key);}}void _InOrder(Node* root){if (root nullptr){return;}_InOrder(root-_left);cout root-_key : root-_val endl;_InOrder(root-_right);} private:Node* _root; };如上就是我们的KV模型的二叉搜索树。我们可以使用如下的两个模型就是我们的这棵树的应用 void test1() {BSTreestring, string dic;dic.Insert(review, 复习);dic.Insert(product, 产品产物);dic.Insert(education, 教育);dic.Insert(interfere, 干涉);cout 请输入单词 endl;string str;while (cin str){BSTreeNodestring, string* ret dic.Find(str);if (ret){cout ret-_val endl;}else{cout 无此单词 endl;cout 请你添加单词的意思 endl;string str_val;cin str_val;dic.Insert(str, str_val);}cout 请输入单词 endl;} }如上就是一个查找单词的模型可以帮我们快速找出单词的意思如果没有可以自行添加意思 如下所示是一个水果计数的应用 void test2() {string arr[] { 苹果, 西瓜, 苹果, 西瓜, 苹果, 苹果, 西瓜,苹果, 香蕉, 苹果, 香蕉 };BSTreestring, int FruitCount;for (auto e : arr){BSTreeNodestring, int* ret FruitCount.Find(e);if (ret nullptr){FruitCount.Insert(e, 1);}else{ret-_val;}}FruitCount.InOrder();}总结 本节主要讨论了二叉搜索树的两种应用。希望能对大家带来帮助

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

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

相关文章

espcms易思企业网站网络营销渠道的概念

一、NFS 1.1 简介 NFS(Network File System,网络文件系统)是一种分布式文件系统协议,允许不同的计算机之间通过网络共享文件和目录。 NFS类似于类似于Windows文件共享 将Linux的一个目录共享到网络中,网络中的其他所有…

如何设置网站会员网站建设与优化推广方案模板

在数字时代,我们每一次上网都会留下独特的数字足迹,被称为“浏览器指纹”。为了保护这些私人信息不被滥用,指纹浏览器成为了一个重要工具。但是,并非所有的指纹浏览器都是一样的,它们各有特点,适用于不同的…

上海seo网站建设泉州中企网站做的好吗

界面控件DevExpress WPF编辑器库可以帮助用户提供直观的用户体验,具有无与伦比的运行时选项和灵活性。WPF数据编辑器提供了全面的掩码和数据验证支持,可以独立使用,也可以作为容器控件(如DevExpress WPF Grid和WPF TreeList)中的单元格编辑器…

企业建站公司排名为什么不好做威海互联网公司

文章目录1. 题目2. 解题2.1 超时解2.2 二分查找1. 题目 有个马戏团正在设计叠罗汉的表演节目,一个人要站在另一人的肩膀上。出于实际和美观的考虑,在上面的人要比下面的人矮一点且轻一点。 已知马戏团每个人的身高和体重,请编写代码计算叠罗…

定制网站建设公司有哪些新手做网站视频讲解

正题 题目链接:https://www.luogu.com.cn/problem/P3226 题目大意 1∼n1\sim n1∼n选出一些组成集合,一个集合里如果有xxx则不能有2x,3x2x,3x2x,3x。求有多少合法集合。 解题思路 我们可以构造一个矩阵 13927…2618…412…8… 这样选择一个位置后它相邻的位置就不…

大连网站建设大连电脑网站转手机版

3.2、vi的高级使用* 查找在命令模式下,输入/xxx,就可以查找到xxx* 快速切换行在命令模式下,输入:num,就可以快速切换到num行* 设置显示行号在命令模式下,输入:set nu,就可以显示行号注:设置不显…

宿迁宿城区屠园乡网站建设it培训机构排行

京东秋招简介 伴随着社会竞争越来越激烈,人们投递简历的岗位也变得越来越多元,而无论人们的选择面变成何样,那些知名度较高的企业,永远都备受关注,只要其一发布招聘公告,总有人第一时间踊跃报名。而作为这…

戴南网站建设哪家企业做网站好

scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的。 命令格式: scp [参数] [原路径] [目标路径]从本地服务器复制到远程…

网站中的动态统计图如何做wordpress好看的自定义页面模版

​🌈个人主页:Sarapines Programmer🔥 系列专栏:《机组 | 模块单元实验》⏰诗赋清音:云生高巅梦远游, 星光点缀碧海愁。 山川深邃情难晤, 剑气凌云志自修。 ​ 目录 🌺 一、 实验目的…

网站的规划与创建什么装修网站做的好的

蓝图 使用场景 如果代码非常多,要进行归类。不同的功能放在不同的文件,把相关的视图函数也放进去。 蓝图也就是对flask的目录结构进行分配(应用于小,中型的程序) 当然对于大型项目也可以通过 url_prefix 加前缀的…

如何建立公司网站链接手机立体房屋设计软件

spring和spring在初始化应用程序上下文时,Spring在遇到带有Transactional标记的类时会创建代理。 Transactional可以应用于类级别或方法级别。 在类级别应用它意味着该类中定义的所有公共方法都是事务性的。 Spring创建的代理类型,即Jdk代理或CGLIB代理&…

办公门户网站模板自己做soho需要做网站吗

目录 提交验证 声明规则 特殊验证 一个特殊验证的示例 内联验证器 一个完整示例 参考文档 提交验证 根据经验,您永远不应该相信从最终用户那里收到的数据,并且应该在很好地使用这些数据之前对其进行验证。 给定一个model模型,用户输入填…

装饰公司东莞网站建设淄博阿雷网站建设

文章目录 Copy和FetchFile模块 Copy和Fetch copy和fetch模块实践 copy模块需要注意的点:在收集日志之前需要对文件先进行改名或者备份fetch模块需要注意的点:复制的源文件的路径必须是文件不能是目录建议全部使用绝对路径,别使用相对路径确保…

社区网站建设难点关键词带淘宝的网站不收录

🔗 运行环境:Matlab 🚩 撰写作者:左手の明天 🥇 精选专栏:《python》 🔥 推荐专栏:《算法研究》 🔐#### 防伪水印——左手の明天 ####🔐 💗 大家…

网站选择理由描述收录软件最多的网站

实景三维技术作为一种新兴的技术手段,正在逐渐被认为是一种新质生产力。它通过高精度的数据采集、处理和可视化,为多个行业领域提供了全新的工作方式和解决方案,从而推动了生产力的发展和创新。以下是实景三维技术作为新质生产力在不同方面的…

低价代网站淘宝客模板 wordpress

解决zblog博客Gravatar头像不显示方法一第一个,解决zblog博客Gravatar头像不显示解决方法是对其进行修复操作。造成不显示的原因主要是Gravatar头像地址错误。所以,我们需要对头像地址进行更改。1、进入自己的博客后台。2、找到现在使用的主题模板中的&a…

口碑好的企业网站建设东莞万江今天最新通知

使用 django.utils.translation.gettext_lazy() 函数,使得其中的值只有在访问时才会被翻译,而不是在 gettext_lazy() 被调用时翻译。例如:要翻译一个模型的 help_text,按以下进行:from django.utils.translation impor…

英雄联盟视频网站源码织梦模板修改网站颜色

121. 买卖股票的最佳时机 股票只能被买卖一次 dp[i][0] 持有股票所得到的最大现金, dp[i][1] 不持有股票所得的最大现金, 避免定义多个变量递推公式: dp[i][0] 可能是在之前买入, 也可能是在这次被买入 max(dp[i - 1][0],-prices[i])dp[i][1] 可能是在本次抛售, 也可能在之…

自适应网站模板怎么做做期货要看哪些网站

前端数据层高可用架构 前后端架构模式如下图 在这个架构下,客端数据可用率计算方式: 因此整体数据可用性分析表如下: 只有在客端和 BFF 都正常的情况下数据才能可用,而这种情况占比不是很高,因此整体的用户体验就不是很好。 本次建设目标 本文的设计方案就是要解决…

合肥企业网站建设软件产品如何做网站推广

一、说明 每天,人类在执行诸如过马路之类的任务时都会做出被动预测,他们估计汽车的速度和与汽车的距离,或者通过猜测球的速度并相应地定位手来接球。这些技能是通过经验和实践获得的。然而,由于涉及众多变量,预测天气或…