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

北京做胃镜哪好德胜门网站Iseo推广优化平台

北京做胃镜哪好德胜门网站I,seo推广优化平台,济南住宅网签查询,哪里可以做购物网站修改一下深度优先算法和广度优先算法,标出每一个节点相对于遍历起始位置的层级,遍历起始起点为第一层,和第一层相连的节点为第二层,以此类推 定义一个新的结构 struct NodeWithLevel {TreeNode* node;int level;NodeWithLevel(T…

修改一下深度优先算法和广度优先算法,标出每一个节点相对于遍历起始位置的层级,遍历起始起点为第一层,和第一层相连的节点为第二层,以此类推

定义一个新的结构

struct NodeWithLevel {TreeNode* node;int level;NodeWithLevel(TreeNode* n, int l) : node(n), level(l) {}
};

深度优先搜索(DFS)

class Solution {
public:vector<NodeWithLevel> dfsWithLevel(TreeNode* root) {vector<NodeWithLevel> result;dfsHelper(root, 1, result);return result;}private:void dfsHelper(TreeNode* node, int level, vector<NodeWithLevel>& result) {if (node == nullptr) {return;}// 将当前节点及其层级添加到结果中result.push_back(NodeWithLevel(node, level));// 递归处理左子树,层级加1dfsHelper(node->left, level + 1, result);// 递归处理右子树,层级加1dfsHelper(node->right, level + 1, result);}
};

DFS算法的工作原理:

  1. 我们使用一个辅助函数 dfsHelper,它接受当前节点、当前层级和结果vector作为参数。
  2. 如果当前节点为空,我们直接返回。
  3. 我们将当前节点和其层级添加到结果中。
  4. 然后我们递归地处理左子树和右子树,每次递归时层级加1。

广度优先搜索(BFS): 

class Solution {
public:vector<NodeWithLevel> bfsWithLevel(TreeNode* root) {vector<NodeWithLevel> result;if (root == nullptr) {return result;}queue<NodeWithLevel> q;q.push(NodeWithLevel(root, 1));while (!q.empty()) {NodeWithLevel current = q.front();q.pop();// 将当前节点及其层级添加到结果中result.push_back(current);// 如果左子节点存在,将其加入队列,层级加1if (current.node->left) {q.push(NodeWithLevel(current.node->left, current.level + 1));}// 如果右子节点存在,将其加入队列,层级加1if (current.node->right) {q.push(NodeWithLevel(current.node->right, current.level + 1));}}return result;}
};

这个BFS算法的工作原理:

  1. 我们创建一个队列来存储 NodeWithLevel 对象。
  2. 我们从根节点开始,将其作为第一层加入队列。
  3. 当队列不为空时,我们取出队首元素,将其添加到结果中。
  4. 然后我们检查当前节点的左右子节点,如果存在,就将它们加入队列,层级为当前节点的层级加1。
  5. 重复这个过程直到队列为空。

这两种算法都会返回一个 vector<NodeWithLevel>,其中包含了树中所有节点及其对应的层级。DFS 通常会以前序遍历的顺序返回节点,而 BFS 会按照层序遍历的顺序返回节点。

http://www.mmbaike.com/news/46095.html

相关文章:

  • 黑白网站设计seo技术蜘蛛屯
  • 做网站用html还是python好seo没什么作用了
  • 基于web的资源共享网站开发视频网站设计公司苏州
  • 陕西建设网官方网站如何引流推广产品
  • 服务类型网站开发需要哪些技术网站排名靠前的方法
  • 网络营销工具的特点湖州seo排名
  • 网站栏目代码如何在百度搜索排名靠前
  • 关于推进网站集约化建设的讲话营销软文500字范文
  • java电商网站开发开题报告朋友圈推广广告
  • 铜陵app网站做营销招聘代发软文
  • 资源专业网站优化排名俄罗斯搜索引擎
  • 网络科技有限公司网站免费网站生成器
  • 珠江网站建设云浮网站设计
  • 深圳那家做APP网站的最好提供seo顾问服务适合的对象是
  • 邢台论坛贴吧关键词排名seo
  • 小视频做网站怎么赚钱独立站推广
  • 2021年4月重大新闻事件摘抄seo页面链接优化
  • 花都移动网站建设免费永久个人域名注册
  • 四川省建设工程质量安全监督总站网站网站开发公司哪家好
  • 河南新乡做网站公司nba篮网最新消息
  • 在国外做热情网站的风险长沙官网seo收费标准
  • 如何做论坛网站 知乎网上永久视频会员是真的吗
  • 配置 tomcat 做网站百度网址大全官网
  • 郑州上街网站建设公司衡阳seo优化报价
  • 做网站宁波网站推广的平台
  • 我的世界做皮肤的网站google官网浏览器
  • 深圳做电商网站怎样推广自己的商城
  • 微信公众账号申请注册广州seo推广公司
  • 深圳布吉最新消息seo代运营
  • 自己做网站的劣势淘宝运营主要做些什么