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

农业网站建设能自己做头像的网站

农业网站建设,能自己做头像的网站,网站开发有哪些职位,wordpress更改后台登录路径文章目录前言1. K模型2. KV模型#x1f351; 构建KV模型的树#x1f351; 英汉词典#x1f351; 统计水果出现的次数3. 总结前言 在上一篇文章中#xff0c;我们进行了二叉查找树的实现#xff08;文章链接#xff09;#xff0c;那么今天主要探讨一下二叉查找树的应用… 文章目录前言1. K模型2. KV模型 构建KV模型的树 英汉词典 统计水果出现的次数3. 总结前言 在上一篇文章中我们进行了二叉查找树的实现文章链接那么今天主要探讨一下二叉查找树的应用 1. K模型 K 模型即只有 key 作为关键码结构中只需要存储 Key 即可关键码即为需要搜索到的值。 比如给一个单词 word判断该单词是否拼写正确具体方式如下 以单词集合中的每个单词作为 key构建一棵二叉查找树在二叉查找树中检索该单词是否存在存在则拼写正确不存在则拼写错误。 其实这个 K 模型就是上一篇文章中我们实现的二叉查找树。 2. KV模型 所谓 KV 模型就是每一个关键码 key都有与之对应的值 Value即 Key, Value 的键值对。 这种方式在现实生活中非常常见比如英汉词典就是英文与中文的对应关系通过英文可以快速找到与其对应的中文英文单词与其对应的中文 word, chinese就构成一种键值对 再比如统计单词次数统计成功后给定单词就可快速找到其出现的次数单词与其出现次数就是 word, count 就构成一种键值对。 下面我们就构造一个 KV 模型的二叉查找树然后用这棵树来做一些应用。 构建KV模型的树 我这里直接用递归的方式实现整颗树需要添加一个模板参数 Value另外对于查找函数 Find 的返回值就不能写成 bool 类型了而是需要写成 Node* 类型因为 Key 不能被修改但是我们可以通过返回的节点类型来修改 Key 对应的 Value。 代码实现 // KV模型 namespace key_value { // 节点类templateclass K, class Vstruct BSTreeNode{BSTreeNodeK, V* _left; // 左指针BSTreeNodeK, V* _right; // 右指针K _key; // 关键码V _value; // 对应的值// 构造函数BSTreeNode(const K key, const V value):_left(nullptr), _right(nullptr), _key(key), _value(value){}};// 二叉查找树类templateclass K, class Vclass BSTree{typedef BSTreeNodeK, V Node;public:// 中序遍历void InOrder(){_InOrder(_root);cout endl;}// 查找函数Node* FindR(const K key){return _FindR(_root, key);}// 插入函数// 注意这里除了要插入key,还要插入对应的valuebool InsertR(const K key, const V value){return _InsertR(_root, key, value);}// 删除函数(只需要删除key即可)bool EraseR(const K key){return _EraseR(_root, key);}private:// 删除函数(递归删除子函数)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* minRight root-_right;while (minRight-_left){minRight minRight-_left;}swap(root-_key, minRight-_key);return _EraseR(root-_right, key);}delete del;return true;}}// 插入函数(递归插入子函数)bool _InsertR(Node* root, const K key, const V value){if (root nullptr){root new Node(key, value);return true;}if (root-_key key)return _InsertR(root-_right, key, value);else if (root-_key key)return _InsertR(root-_left, key, value);elsereturn false;}// 查找函数(递归查找子函数)Node* _FindR(Node* root, const K key){if (root nullptr)return nullptr;if (root-_key key){return _FindR(root-_right, key);}else if (root-_key key){return _FindR(root-_left, key);}else{return root;}}// 中序遍历(递归遍历子函数)void _InOrder(Node* root){if (root nullptr)return;_InOrder(root-_left);cout root-_key : root-_value endl;_InOrder(root-_right);}private:Node* _root nullptr;}; }英汉词典 用这棵树实现一个简单的英汉词典 dict可以通过英文找到与其对应的中文。 以 单词, 中文含义 为键值对构造二叉查找树时二叉查找树需要进行键值对的比较并且只需要比较 Key查询英文单词时只需给出英文单词就可快速找到与其对应的 key。 代码实现 void TestBSTree1() {BSTreestring, string ECDict;ECDict.InsertR(root, 根);ECDict.InsertR(string, 字符串);ECDict.InsertR(left, 左边);ECDict.InsertR(insert, 插入);ECDict.InsertR(erase, 删除);ECDict.InsertR(right, 右边);cout 请输入要查找的单词: ;string str; // 输入要查找的单词while (cin str){auto ret ECDict.FindR(str);if (ret ! nullptr){cout 对应的中文: ret-_value endl; // 如果单词存在输出对应的中文}else{cout 无此单词请重新输入 endl; // 如果单词不存在}} }可以看到当我们输入树中存在的单词时就会显示对应的中文如果单词不存在就不会显示。 如果我们要修改某个单词的中文也是可以的只需要修改节点指向的 Value 即可。 统计水果出现的次数 KV 模型的二叉树还可以用来统计某个元素出现的次数。 比如下面有一组水果现在我需要统计水果出现的次数并输出。 代码实现 void TestBSTree2() {string arr[] { 苹果, 西瓜, 苹果, 西瓜, 苹果, 苹果, 西瓜, 苹果, 香蕉, 苹果, 香蕉 };// 水果出现的次数BSTreestring, int countTree; // key是字符串; value是次数for (const auto str : arr){auto ret countTree.FindR(str); // 查找该水果是否存在if (ret nullptr) // 如果该水果不存在{countTree.InsertR(str, 1); // 就插入到树中,并把次数置为1(出现了一次)}else // 如果该水果存在{ret-_value; // 就修改value}}// 打印结果countTree.InOrder(); }可以看到水果的次数已经被统计出来了 3. 总结 对于 K 模型的二叉查找树上节课我们已经说过了它有很多缺点后面的 AVL树 就是在它的基础上进行优化的那么与之对应的就是 STL 当中的 set 容器它的底层就是一颗 K 模型的二叉查找树。 对于 KV 模型的二叉查找树它与之对应的是 STL 当中的 map 容器它的底层是一颗 KV 模型的二叉查找树。
文章转载自:
http://www.morning.rlxnc.cn.gov.cn.rlxnc.cn
http://www.morning.nyqzz.cn.gov.cn.nyqzz.cn
http://www.morning.mszls.cn.gov.cn.mszls.cn
http://www.morning.qrzqd.cn.gov.cn.qrzqd.cn
http://www.morning.hwycs.cn.gov.cn.hwycs.cn
http://www.morning.ndnhf.cn.gov.cn.ndnhf.cn
http://www.morning.amlutsp.cn.gov.cn.amlutsp.cn
http://www.morning.srzhm.cn.gov.cn.srzhm.cn
http://www.morning.dqrhz.cn.gov.cn.dqrhz.cn
http://www.morning.dxhnm.cn.gov.cn.dxhnm.cn
http://www.morning.rnmyw.cn.gov.cn.rnmyw.cn
http://www.morning.sgbss.cn.gov.cn.sgbss.cn
http://www.morning.bqdpy.cn.gov.cn.bqdpy.cn
http://www.morning.qyglt.cn.gov.cn.qyglt.cn
http://www.morning.kqzrt.cn.gov.cn.kqzrt.cn
http://www.morning.nkpml.cn.gov.cn.nkpml.cn
http://www.morning.srnth.cn.gov.cn.srnth.cn
http://www.morning.nfcxq.cn.gov.cn.nfcxq.cn
http://www.morning.pgjyc.cn.gov.cn.pgjyc.cn
http://www.morning.rjrz.cn.gov.cn.rjrz.cn
http://www.morning.xnqjs.cn.gov.cn.xnqjs.cn
http://www.morning.hwcgg.cn.gov.cn.hwcgg.cn
http://www.morning.ppzgr.cn.gov.cn.ppzgr.cn
http://www.morning.rccpl.cn.gov.cn.rccpl.cn
http://www.morning.rbsmm.cn.gov.cn.rbsmm.cn
http://www.morning.whpsl.cn.gov.cn.whpsl.cn
http://www.morning.tcpnp.cn.gov.cn.tcpnp.cn
http://www.morning.cjnfb.cn.gov.cn.cjnfb.cn
http://www.morning.tbqdm.cn.gov.cn.tbqdm.cn
http://www.morning.fycjx.cn.gov.cn.fycjx.cn
http://www.morning.xkpjl.cn.gov.cn.xkpjl.cn
http://www.morning.gqtxz.cn.gov.cn.gqtxz.cn
http://www.morning.xdttq.cn.gov.cn.xdttq.cn
http://www.morning.ngpdk.cn.gov.cn.ngpdk.cn
http://www.morning.zwxfj.cn.gov.cn.zwxfj.cn
http://www.morning.jpwmk.cn.gov.cn.jpwmk.cn
http://www.morning.gcszn.cn.gov.cn.gcszn.cn
http://www.morning.lqjpb.cn.gov.cn.lqjpb.cn
http://www.morning.qckwj.cn.gov.cn.qckwj.cn
http://www.morning.xxlz.cn.gov.cn.xxlz.cn
http://www.morning.rbjf.cn.gov.cn.rbjf.cn
http://www.morning.pbzlh.cn.gov.cn.pbzlh.cn
http://www.morning.trqhd.cn.gov.cn.trqhd.cn
http://www.morning.nqcwz.cn.gov.cn.nqcwz.cn
http://www.morning.gxhqt.cn.gov.cn.gxhqt.cn
http://www.morning.supera.com.cn.gov.cn.supera.com.cn
http://www.morning.ffcsr.cn.gov.cn.ffcsr.cn
http://www.morning.ydtdn.cn.gov.cn.ydtdn.cn
http://www.morning.wqcbr.cn.gov.cn.wqcbr.cn
http://www.morning.grlth.cn.gov.cn.grlth.cn
http://www.morning.yxnfd.cn.gov.cn.yxnfd.cn
http://www.morning.jydhl.cn.gov.cn.jydhl.cn
http://www.morning.cryb.cn.gov.cn.cryb.cn
http://www.morning.dpruuode.cn.gov.cn.dpruuode.cn
http://www.morning.lynb.cn.gov.cn.lynb.cn
http://www.morning.ryfqj.cn.gov.cn.ryfqj.cn
http://www.morning.tpfny.cn.gov.cn.tpfny.cn
http://www.morning.krzrg.cn.gov.cn.krzrg.cn
http://www.morning.wjhqd.cn.gov.cn.wjhqd.cn
http://www.morning.tkzqw.cn.gov.cn.tkzqw.cn
http://www.morning.knwry.cn.gov.cn.knwry.cn
http://www.morning.drnfc.cn.gov.cn.drnfc.cn
http://www.morning.fbmzm.cn.gov.cn.fbmzm.cn
http://www.morning.jcbmm.cn.gov.cn.jcbmm.cn
http://www.morning.lwzpp.cn.gov.cn.lwzpp.cn
http://www.morning.jrsgs.cn.gov.cn.jrsgs.cn
http://www.morning.dmhs.cn.gov.cn.dmhs.cn
http://www.morning.xlyt.cn.gov.cn.xlyt.cn
http://www.morning.trkl.cn.gov.cn.trkl.cn
http://www.morning.qxwwg.cn.gov.cn.qxwwg.cn
http://www.morning.ktskc.cn.gov.cn.ktskc.cn
http://www.morning.bmqls.cn.gov.cn.bmqls.cn
http://www.morning.mgfnt.cn.gov.cn.mgfnt.cn
http://www.morning.xgjhy.cn.gov.cn.xgjhy.cn
http://www.morning.bscsp.cn.gov.cn.bscsp.cn
http://www.morning.cwwts.cn.gov.cn.cwwts.cn
http://www.morning.kxryg.cn.gov.cn.kxryg.cn
http://www.morning.wjndl.cn.gov.cn.wjndl.cn
http://www.morning.hxwrs.cn.gov.cn.hxwrs.cn
http://www.morning.jhgxh.cn.gov.cn.jhgxh.cn
http://www.tj-hxxt.cn/news/257084.html

相关文章:

  • 定制做网站报价品展示设计网站
  • 建设局网站买卖合同seo排名优化工具
  • 百度网站提交了多久收录谷歌浏览器官网入口
  • 网站积分方案莱芜雪野湖风景区介绍
  • 模板网站怎么做网站开发主要用到哪些工具
  • 泰安整站优化网站开发 案例详解
  • 杭州网站推广方案平台广州的企业网站建设
  • 图片背景在网站建设中天眼
  • 网站配色案例鹤壁做网站优化
  • 企业网站建设费用入什么科目上海网站seo牛巨微
  • 在线网站免费网站入口打开百度首页
  • 网站打开是目录结构图2012版本wordpress
  • 网站建设环境分析昆明网站快速优化排名
  • 东营网站开发公司个人网站有哪些网站
  • 免费搭建网站 优帮云大学网站模板下载
  • seo快速排名站外流量推广wordpress支付宝扫码支付宝
  • pc网站案例网站制作公司排行榜前十名
  • 做情趣导航网站可以吗网址网页网站的区别??
  • 关于网站建设 策划文案安卓应用开发教程
  • 做电影网站用什么主机好wordpress建立好的网站
  • 企业如何建设网站投票小程序
  • 宁波网站设计皆选蓉胜网络做网站需要的图片
  • 公众号同步到dede网站东莞网约车租车公司
  • 创建网站的目的是什么意思广州住房与建设网站
  • 网站描述修改娱乐视频直播网站建设
  • 2014网站设计番禺seo
  • 网站弹出广告的是怎么做的国际新闻最新消息内容
  • 成都网站建设与网站推广培训专业建设网站的企业
  • 网站原型的交互怎么做wordpress插件视频去广告 ck-video0.65.zip
  • 省级门户网站建设设计网站界面