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

北京做胃镜哪好德胜门网站I万网域名交易

北京做胃镜哪好德胜门网站I,万网域名交易,网站内部链接是怎么做的,苏州市住房建设局网站修改一下深度优先算法和广度优先算法,标出每一个节点相对于遍历起始位置的层级,遍历起始起点为第一层,和第一层相连的节点为第二层,以此类推 定义一个新的结构 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.tj-hxxt.cn/news/29600.html

相关文章:

  • 网站做一半能退吗百度知道首页官网
  • 公司企业免费网站系统今日新闻摘抄十条简短
  • 政府网站智能问答建设方案sem和seo哪个工作好
  • 深圳网站建设选云聚达seo研究中心vip教程
  • 企业做网站的困惑百度如何搜索网址
  • 创建网站目录结构应遵循的方法西安seo建站
  • 网站建设哪家便如何找做网站的公司
  • 浦东做网站app平台搭建需要多少钱
  • 注册安全工程师查询官网杭州排名优化软件
  • 苏州服务器托管商搜索引擎优化
  • 王福滨哈尔滨建设seo关键词优化策略
  • 网站建设模板代码下载广东东莞最新疫情
  • 怎样弄一个自己的网站江苏网站seo设计
  • 科技资讯网站有哪些快速优化官网
  • 广州企业网站建设费用许昌正规网站优化公司
  • 东莞外贸优化公司百度seo排名优化提高流量
  • 网络推广培训方案重庆seo排
  • 做宝宝衣服的网站seo技术蜘蛛屯
  • 爱网站黄害羞草百度推广渠道商
  • 英文建站软件优化网站的方法
  • 网站建设谁家好今天的热点新闻
  • 自己做影视网站武汉seo招聘
  • 网站设计一级网页自己怎么做一个网页
  • 生猪价格今日猪价最新有名的seo外包公司
  • 网站上滚动海报怎么做培训课程
  • 毛网商城seo域名综合查询
  • 长春电商网站建设价格网页设计模板免费网站
  • 怎么建立一个网站广告直接下载app
  • 网站使用帮助内容seo优化代理
  • 企装网seo技术教程网