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

公司做网站能够带来的好处seo工作是什么意思

公司做网站能够带来的好处,seo工作是什么意思,wordpress自定义统计,网站文件目录结构说在前面 🎈二叉树大家应该都很熟了吧,那二叉树的这五种遍历方式你们都会了吗? 以这一二叉树为例子,我们来看看不同遍历方式返回的结果都是怎样的。 前序遍历 前序遍历的顺序是:首先访问根节点,然后递归地…

说在前面

🎈二叉树大家应该都很熟了吧,那二叉树的这五种遍历方式你们都会了吗?

以这一二叉树为例子,我们来看看不同遍历方式返回的结果都是怎样的。

前序遍历

前序遍历的顺序是:首先访问根节点,然后递归地遍历左子树,最后递归地遍历右子树。

var preorderTraversal = function(root) {const res = [];const traversal = (r)=>{if (r === null) return;res.push(r.val); // 访问根节点traversal(r.left); // 遍历左子树traversal(r.right); // 遍历右子树};traversal(root);return res;
};
  • 输出结果
[3,9,20,15,7]

中序遍历

中序遍历的顺序是:首先递归地遍历左子树,然后访问根节点,最后递归地遍历右子树。

var inorderTraversal = function(root) {const res = [];const traversal = (r)=>{if (r === null) return;traversal(r.left); // 遍历左子树res.push(r.val); // 访问根节点traversal(r.right); // 遍历右子树};traversal(root);return res;
};
  • 输出结果
[9,3,15,20,7]

后序遍历

后序遍历的顺序是:首先递归地遍历左子树,然后递归地遍历右子树,最后访问根节点。

var postorderTraversal = function(root) {const res = [];const traversal = (r)=>{if (r === null) return;traversal(r.left); // 遍历左子树traversal(r.right); // 遍历右子树res.push(r.val); // 访问根节点};traversal(root);return res;
};
  • 输出结果
[9,15,7,20,3]

层序遍历

层序遍历按照从上到下、从左到右的顺序访问二叉树的所有节点。

以广度优先策略遍历节点的方法:

  • 使用队列作为辅助数据结构。
  • 按照节点的深度层次访问二叉树,从根节点开始,逐层向下。
var levelOrderTraversal = function(root) {const res = [];const queue = [root];if(!root) return [];while(queue.length > 0){const node = queue.shift();res.push(node.val);node.left && queue.push(node.left);node.right && queue.push(node.right);}return res;
};
  • 输出结果
[3,9,20,15,7]

垂序遍历

对位于 (row, col) 的每个结点而言,其左右子结点分别位于 (row + 1, col - 1) 和 (row + 1, col + 1) 。树的根结点位于 (0, 0) 。

二叉树的 垂序遍历 从最左边的列开始直到最右边的列结束,按列索引每一列上的所有结点,形成一个按出现位置从上到下排序的有序列表。如果同行同列上有多个结点,则按结点的值从小到大进行排序。

在层序遍历的基础上记录每个数据所在的位置再重新进行排序即可。

var verticalTraversal = function (root) {const nodeList = [];const q = [{ node: root, row: 0, col: 0 }];//获取二叉树节点集合while (q.length) {const { node, row, col } = q.shift();nodeList.push({ val: node.val, row: row, col });if (node.left) q.push({ node: node.left, row: row - 1, col: col + 1 });if (node.right) q.push({ node: node.right, row: row + 1, col: col + 1 });}//对二叉树节点进行排序nodeList.sort((a, b) => {if (a.row === b.row && a.col === b.col) {return a.val - b.val;}return a.row - b.row;});//对二叉树节点进行分组const res = [[nodeList[0].val]];for (let i = 1; i < nodeList.length; i++) {if (nodeList[i].row !== nodeList[i - 1].row) {res.push([]);}res[res.length - 1].push(nodeList[i].val);}return res;
};
  • 输出结果
[[9],[3,15],[20],[7]]

公众号

关注公众号『前端也能这么有趣』,获取更多有趣内容。

说在后面

🎉 这里是 JYeontu,现在是一名前端工程师,有空会刷刷算法题,平时喜欢打羽毛球 🏸 ,平时也喜欢写些东西,既为自己记录 📋,也希望可以对大家有那么一丢丢的帮助,写的不好望多多谅解 🙇,写错的地方望指出,定会认真改进 😊,偶尔也会在自己的公众号『前端也能这么有趣』发一些比较有趣的文章,有兴趣的也可以关注下。在此谢谢大家的支持,我们下文再见 🙌。

http://www.hkea.cn/news/162380/

相关文章:

  • 动态网站开发语言有哪些大学生创新创业大赛
  • 关键词推广公司网站网络排名优化方法
  • 福州移动网站建设网络营销推广工具有哪些
  • win2008sr怎么用iis做网站国外网站加速
  • 合肥++网站建设磐石网站seo
  • 万网主机怎么上传网站如何在百度上投放广告
  • 做网站时如何给文字做超链接全球疫情最新数据消息
  • 四川省住建厅官方网站3分钟搞定网站seo优化外链建设
  • 做网站阳泉巨量千川广告投放平台
  • 温岭哪里有做网站的如何自制网站
  • 知道创于 wordpress搜索引擎优化宝典
  • 乌兰县wap网站建设公司有效获客的六大渠道
  • 微信网站开发教程视频教程百度一下主页官网
  • 网站开发专业前景关键词挖掘排名
  • 网站开发属于什么职位类别seo查询站长工具
  • wordpress postmetaseoul national university
  • 商务网站的主要存在形式杭州百度快照优化公司
  • 个人备案网站做购物网站可以不班级优化大师免费下载电脑版
  • 贸易网站建设互联网广告代理加盟
  • 深圳网站建设网络公司河北关键词排名推广
  • 在工商网上怎么注册公司seo优化博客
  • 免费的小程序怎么赚钱历下区百度seo
  • 河北石家庄最新疫情最新消息优化防疫政策
  • 一站式做网站哪家强新闻小学生摘抄
  • 江西南昌网站建设公司哪家好谷歌google 官网下载
  • 公司网站用什么开发百度指数怎么用
  • 建站主机 wordpress济南网站万词优化
  • 哈尔滨app开发seo自学网官网
  • 网站答辩ppt怎么做全网关键词云在哪里看
  • 网站建设 视频seo关键词词库