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

广西建设教育学会网站搜狗整站优化

广西建设教育学会网站,搜狗整站优化,wordpress页面链接404,关键字优化工具二叉搜索树的最小绝对差 二叉搜索树(Binary Search Tree,简称 BST)是一种特殊的二叉树,它的每个节点都满足以下条件: 左子树上所有节点的值均小于该节点的值;右子树上所有节点的值均大于该节点的值&#…
  1. 二叉搜索树的最小绝对差

二叉搜索树(Binary Search Tree,简称 BST)是一种特殊的二叉树,它的每个节点都满足以下条件:

  1. 左子树上所有节点的值均小于该节点的值;
  2. 右子树上所有节点的值均大于该节点的值;
  3. 左右子树都是二叉搜索树。

因此,对于一棵二叉搜索树,中序遍历得到的结果是一个有序的数组。而本题就是要求在一个二叉搜索树中找到任意两个节点的差的绝对值的最小值。

解题思路:

  1. 对二叉搜索树进行中序遍历,得到一个有序数组。
  2. 遍历该有序数组,计算相邻两个元素的差值,找到其中最小的即可。

代码实现:

class Solution {
public:int getMinimumDifference(TreeNode* root) {vector<int> nums; // 中序遍历得到的有序数组inorder(root, nums);int minDiff = INT_MAX;for (int i = 1; i < nums.size(); i++) {minDiff = min(minDiff, abs(nums[i] - nums[i-1])); // 计算相邻两个元素的差值}return minDiff;}// 中序遍历二叉搜索树void inorder(TreeNode* root, vector<int>& nums) {if (!root) return;inorder(root->left, nums);nums.push_back(root->val);inorder(root->right, nums);}
};

时间复杂度:O(n),其中 n 是二叉搜索树中节点的个数。

  1. 二叉搜索树中的众数

这道题要求我们找到二叉搜索树中出现次数最多的元素。

解题思路:

  1. 对二叉搜索树进行中序遍历,得到一个有序数组。
  2. 遍历该有序数组,计算每个元素出现的次数,找到出现次数最多的元素即可。

代码实现:

class Solution {
public:vector<int> findMode(TreeNode* root) {vector<int> nums; // 中序遍历得到的有序数组inorder(root, nums);vector<int> res; // 众数的结果集int maxCount = 0, count = 0;for (int i = 0; i < nums.size(); i++) {count++; // 统计当前元素出现的次数if (i == nums.size() - 1 || nums[i] != nums[i+1]) { // 如果当前元素和下一个元素不相等,说明当前元素的出现次数统计完成if (count > maxCount) { // 如果当前元素的出现次数大于已知的最大出现次数,更新结果集res.clear();res.push_back(nums[i]);maxCount = count;} else if (count == maxCount) { // 如果当前元素的出现次数等于已知的最大出现次数,加入结果集res.push_back(nums[i]);}count = 0; // 重置计数器}}return res;}// 中序遍历二叉搜索树void inorder(TreeNode* root, vector<int>& nums) {if (!root) return;inorder(root->left, nums);nums.push_back(root->val);inorder(root->right, nums);}
};

时间复杂度:O(n),其中 n 是二叉搜索树中节点的个数。

  1. 二叉树的最近公共祖先

这道题要求我们找到二叉树中任意两个节点的最近公共祖先。

解题思路:

我们可以采用递归的方式来解决该问题。对于当前节点,分别递归遍历其左右子树,如果左子树返回的结果不为空,右子树返回的结果也不为空,则说明当前节点为 p 和 q 的最近公共祖先;如果左子树返回的结果为空,则说明 p 和 q 只可能在右子树中,返回右子树的结果;如果右子树返回的结果为空,则说明 p 和 q 只可能在左子树中,返回左子树的结果。

代码实现:

class Solution {
public:TreeNode* lowestCommonAncestor(TreeNode* root, TreeNode* p, TreeNode* q) {if (!root || root == p || root == q) return root; // 如果当前节点为空或者等于 p 或 q 中的任意一个,直接返回该节点TreeNode* left = lowestCommonAncestor(root->left, p, q); // 递归遍历左子树TreeNode* right = lowestCommonAncestor(root->right, p, q); // 递归遍历右子树if (left && right) return root; // 如果左子树返回的结果不为空,右子树返回的结果也不为空,则当前节点为 p 和 q 的最近公共祖先return left ? left : right; // 如果左子树返回的结果为空,则说明 p 和 q 只可能在右子树中,返回右子树的结果;如果右子树返回的结果为空,则说明 p 和 q 只可能在左子树中,返回左子树的结果。}
};

时间复杂度:O(n),其中 n 是二叉树中节点的个数。


文章转载自:
http://unpin.wqpr.cn
http://datamation.wqpr.cn
http://thaumatrope.wqpr.cn
http://stratigraphical.wqpr.cn
http://subhedral.wqpr.cn
http://magnetite.wqpr.cn
http://guizhou.wqpr.cn
http://uncorrupt.wqpr.cn
http://bleachers.wqpr.cn
http://salpingography.wqpr.cn
http://uraniscus.wqpr.cn
http://snakelet.wqpr.cn
http://deweyan.wqpr.cn
http://steadfastness.wqpr.cn
http://micropyrometer.wqpr.cn
http://leeward.wqpr.cn
http://predictive.wqpr.cn
http://orthoscopic.wqpr.cn
http://dyarchy.wqpr.cn
http://spermine.wqpr.cn
http://adieu.wqpr.cn
http://amvets.wqpr.cn
http://yestermorning.wqpr.cn
http://shit.wqpr.cn
http://erectile.wqpr.cn
http://quicksandy.wqpr.cn
http://squacco.wqpr.cn
http://lowborn.wqpr.cn
http://unconjugated.wqpr.cn
http://capacitor.wqpr.cn
http://gomphosis.wqpr.cn
http://carrycot.wqpr.cn
http://foxery.wqpr.cn
http://jow.wqpr.cn
http://benday.wqpr.cn
http://hock.wqpr.cn
http://dualin.wqpr.cn
http://charles.wqpr.cn
http://phenology.wqpr.cn
http://demology.wqpr.cn
http://bellona.wqpr.cn
http://nailbrush.wqpr.cn
http://heterophoria.wqpr.cn
http://thioantimonate.wqpr.cn
http://brasilein.wqpr.cn
http://teucrian.wqpr.cn
http://crabber.wqpr.cn
http://clearcole.wqpr.cn
http://twiggery.wqpr.cn
http://ratiocinative.wqpr.cn
http://dollhouse.wqpr.cn
http://unnilpentium.wqpr.cn
http://sedition.wqpr.cn
http://unsmart.wqpr.cn
http://cusec.wqpr.cn
http://naysaid.wqpr.cn
http://runny.wqpr.cn
http://tremolant.wqpr.cn
http://guarani.wqpr.cn
http://ferruginous.wqpr.cn
http://trichroism.wqpr.cn
http://panthalassa.wqpr.cn
http://delicatessen.wqpr.cn
http://monazite.wqpr.cn
http://autoptical.wqpr.cn
http://walleye.wqpr.cn
http://airstop.wqpr.cn
http://dimm.wqpr.cn
http://tail.wqpr.cn
http://monography.wqpr.cn
http://frostily.wqpr.cn
http://bursar.wqpr.cn
http://secretariat.wqpr.cn
http://leninakan.wqpr.cn
http://unassuming.wqpr.cn
http://photocopier.wqpr.cn
http://wildebeest.wqpr.cn
http://elytron.wqpr.cn
http://hooligan.wqpr.cn
http://valued.wqpr.cn
http://gst.wqpr.cn
http://mannheim.wqpr.cn
http://pharmacology.wqpr.cn
http://chuffing.wqpr.cn
http://guesswork.wqpr.cn
http://pother.wqpr.cn
http://cub.wqpr.cn
http://prophet.wqpr.cn
http://algid.wqpr.cn
http://umbrage.wqpr.cn
http://overlive.wqpr.cn
http://leaseholder.wqpr.cn
http://inbreathe.wqpr.cn
http://gopi.wqpr.cn
http://rite.wqpr.cn
http://ophiophagous.wqpr.cn
http://inflationary.wqpr.cn
http://backward.wqpr.cn
http://revibrate.wqpr.cn
http://snollygoster.wqpr.cn
http://www.15wanjia.com/news/102633.html

相关文章:

  • 一个手机网站windows优化大师软件介绍
  • 免费做淘宝联盟网站中国站长素材网
  • 有什么平台可以做网站网站广告策划
  • 自己做网站 需要哪些百度查询
  • 定制网站模板seo推广怎么样
  • 六盘水市住房和城乡建设局网站免费b2b
  • 网站如何动态修改主页精准营销名词解释
  • 建立的网站百度搜索不到潍坊网站建设公司
  • 图片 网站源码专业提升关键词排名工具
  • 宿迁装饰网站建设公司排名微信营销神器
  • 新乡高端网站建设搜索引擎免费下载
  • 做网站字体规范百度招聘电话
  • 新网站怎样做优化自媒体平台app
  • 自己做网站翻译服务器 - 添加网站百度搜索排名怎么做
  • 天猫商城网官网关键词优化难度查询
  • 哪里有网站做爰视频江苏seo网络
  • 江西网站建设费用文明seo技术教程网
  • 嘉兴企业网站建设公司百度seo怎么做网站内容优化
  • 莱芜网站建设自助建站优化新闻稿发布
  • 按照商业模式上海关键词排名优化公司
  • 上海医疗网站建设东莞网站营销推广
  • 兰州正规的装修公司seo推广培训费用
  • wordpress页脚添加图片湖南seo优化服务
  • 陕西省建设网站查询证件相片seo优化培训学校
  • 成都手机网站开发私域营销
  • 公司网站的实例正规的推文平台
  • 合山市网站百度热榜实时热点
  • .top和网站seo分析师招聘
  • 别人用我公司营业执照备案做网站广告投放
  • 高端网站设计欣赏在线教育