当前位置: 首页 > 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/126698.html

相关文章:

  • web网站开发介绍百度搜索风云榜下载
  • 蝶山网站建设品牌传播方案
  • 江西锦宇建设集团有限公司网站seo核心技术排名
  • 自定义图片wordpress重庆seo博客
  • 移动网站开发书籍seo整站优化方案案例
  • 淄博做网站小程序的公司宁波企业seo推广
  • 广州做网站建设哪家专业建网站要多少钱
  • 怎么在自己电脑上搭建网站深圳网络推广培训机构
  • 哪个网站做数学题赚钱网店运营入门基础知识
  • 郴州本地网站建设seo大全
  • 有什么网站可以在线做试题网络营销策划书案例
  • 宏发建设有限公司网站今天最近的新闻
  • 百度xml网站地图新闻源软文发布平台
  • 怎么把网站做的小程序nba哈登最新消息
  • 东欣建设集团网站科学新概念seo外链
  • wordpress header导航app搜索优化
  • 系部网站建设如何提高网站排名的方法
  • 东莞个人网站制作深圳百度快照优化
  • 17网一起做网站杭州产品推广服务公司
  • wordpress 站点身份seo外链怎么做能看到效果
  • 网站的规划与建设课程设计西藏自治区seo 标题 关键词优化
  • 网站建设谈业务要知道什么性价比高seo排名
  • 男女做那事视频免费网站营销公司
  • 做 58 那样的网站自己怎么给网站做优化排名
  • 企业培训机构网站源码指数网站
  • 网站引导页是什么意思国际域名注册网站
  • 建网站用站长统计app最新版本2023
  • 手机在线建网站最新引流推广方法
  • 天津网站建设维护百度竞价开户渠道
  • 网站有收录没排名必应搜索国际版