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

五合一网站建设wordpress换为中文

五合一网站建设,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/985701/

相关文章:

  • 佛山网站推广软件wordpress占用资源
  • 360免费建站可以免费又永久吗用wordpress修改现有网页
  • 北京企业网站开发公司哪家好苏州seo网络推广
  • 网站 网页数量上海个人网站建设
  • 公司网站制作流程怎么破解wordpress主题
  • 做导航网站用多大的空间手机网站可以做公众号
  • 在上阿里云做网站外贸出口建站
  • 网站栏目排序wordpress正在连接
  • 微享网络网站建设电子商务网站推广策划方案
  • 建水网站开发帮别人做网站后期维护
  • 深圳网站公司制作网站建设当前位置图标
  • 东莞网站建设规范wordpress 底部样式
  • 手游网站怎么做营销型网站建设怎么样
  • discuz做的网站怎么修改工商局网站查询入口
  • 美的集团网站建设方案书上海app开发平台
  • 网站的网站建设企业有创意的图文广告店名
  • 百度排名 网站标题wordpress 制作安装包
  • 专门做游戏攻略的网站华为云做的网站怎么样
  • 建一个图片类网站需要多少钱布吉商城网站建设哪家便宜
  • 一个人做运营网站网站建设禁止性规定
  • 推荐好的网站或网页网站商城制作费用
  • 班级网站设计涡阳网站建设哪家好
  • 阳春县建设局网站wordpress 高亮代码
  • 左右翻网站模版南京专业做网站
  • php网站链接支付宝Wordpress收起小工具
  • 做外贸在哪个网站找客户上海外贸网站推广方法
  • 密云城市建设官方网站推广网上国网的好处
  • 做网站开发背景公司网站流程和费用
  • 网站开发教案泰安seo外包公司
  • dz论坛做视频网站教程东莞市住房和城乡建设局网上办事平台