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

做网站需要架构师吗大良营销网站建设信息

做网站需要架构师吗,大良营销网站建设信息,如何免费制作网站?,好看的wordpress博客主题修改一下深度优先算法和广度优先算法,标出每一个节点相对于遍历起始位置的层级,遍历起始起点为第一层,和第一层相连的节点为第二层,以此类推 定义一个新的结构 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.yayakq.cn/news/530962/

相关文章:

  • 中山做网站建设联系电话玄武模板网站制作点击查看
  • 网站开发用什么写得比较好网站开发好做还是平面好做
  • 上海建工网站南京博学建设集团网站
  • 网站开发标书做我韩国连续剧网站
  • 广州网站建设 易企建站网站开发流程博客
  • 企业展示网站开发wordpress 文章格式化
  • 金融企业网站建设公司wordpress 导入幻灯片
  • 产地证哪个网站做舆情监测
  • 有哪些好的做兼职网站有哪些做新媒体和网站
  • 注册域名 不建网站官网seo是什么
  • 网站模版下载网络营销 企业网站
  • 建设部招标网 官方网站手机商城+手机网站建设多少钱
  • 洛阳网站建设 恒凯科技襄阳最新消息
  • 织梦网站程序模板无锡网站建设 app 微信
  • 用插件做的炫酷网站网站制作资质
  • 电子招标投标平台网站建设wordPress登不上数据库
  • 大型营销型网站建设舟山建设银行纪念币预约网站
  • 知页怎么转换wordpress我们做的网站是优化型结构
  • 网站模版建站wordpress菜单图标美化
  • 医院网站建设安全协议深圳 网页设计公司
  • 哪些网站可以做平面设计挣钱中国电力建设协会网站
  • 做服装必须看的十大网站杭州软件开发培训学校
  • 广西 网站开发前端简历
  • 中国好公司网站建设网站正在建设中 模板 下载
  • 建设企业银行网站哪里有做设备的
  • 网页设计制作网站模板图片wordpress修改头像
  • 发布网站需要备案吗网站建设推广价格
  • 什么网站免费制作wordpress 阿里云主机
  • 网站定制那个好长春网站开发推荐
  • 广州最发达的五个区株洲关键词优化费用