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

建设零食网站的可行性莱芜百度网站优化

建设零食网站的可行性,莱芜百度网站优化,郑州市重点项目建设办公室网站,云职上海企业服务有限公司二叉树垂直遍历题目描述输入输出示例输入实例输出DFSBFS更简单的方法二叉树垂直遍历题目描述对于一个二叉树#xff0c;输出它的垂直遍历结果#xff1b;对于同一列的节点#xff0c;按照从左向右#xff0c;从上向下的顺序排列。例如#xff0c;对于以下二叉树#xff1…二叉树垂直遍历题目描述输入输出示例输入实例输出DFSBFS更简单的方法二叉树垂直遍历题目描述对于一个二叉树输出它的垂直遍历结果对于同一列的节点按照从左向右从上向下的顺序排列。例如对于以下二叉树1/ \2 3/4垂直遍历的结果是2 1 4 3输入输出输入- 第一行是n表示节点个数(节点编号从0到n-1)当n-1时表示输入结束- 之后的n行每一行有三个整数分别表示节点的数值左子树的编号右子树的编号(编号-1表示节点为空)输出- 针对每组输入输出垂直遍历的结果示例输入41 1 22 -1 -13 3 -14 -1 -1-1实例输出2 1 4 3DFS#include#include#include#include#include#includeusing namespace std;struct Node {int data;Node *left;Node *right;};class TreePrint {private:map nmap;public:void dfs(Node *root, int pos) {if (root NULL) return;nmap[pos].push_back(root-data);dfs(root-left, pos-1);dfs(root-right, pos1);}void display() {int min0;while (nmap.find(min) ! nmap.end()) --min;for (int imin1; nmap.find(i) ! nmap.end(); i)for (vector::iterator it nmap[i].begin();it ! nmap[i].end(); it)printf(%d , *it);printf(\n);}};int main() {ifstream in(../input.txt);int n;in n;while (n ! -1) {Node *tree new Node[n];for (int i0; iint tmp, left, right;in tmp left right;tree[i].data tmp;if (left ! -1) tree[i].left tree[left];else tree[i].left NULL;if (right ! -1) tree[i].right tree[right];else tree[i].right NULL;}TreePrint tp;tp.dfs(tree[0], 0);tp.display();in n;}in.close();return 0;}然而这个结果并不正确不能妥善的处理孩子节点超过父节点的深度的情况。BFS#include#include#include#include#include#includeusing namespace std;struct Node {int data;Node *left;Node *right;};class TreePrint {private:map nmap;public:void dfs(Node *root, int pos) {if (root NULL) return;nmap[pos].push_back(root-data);dfs(root-left, pos-1);dfs(root-right, pos1);}void bfs(Node *root) {queue q;queue qpos;q.push(root);qpos.push(0);while (!q.empty()) {Node *tmp q.front();int pos qpos.front();q.pop();qpos.pop();nmap[pos].push_back(tmp-data);if (tmp-left ! NULL) {q.push(tmp-left);qpos.push(pos-1);}if (tmp-right ! NULL) {q.push(tmp-right);qpos.push(pos1);}}}void display() {int min0;while (nmap.find(min) ! nmap.end()) --min;for (int imin1; nmap.find(i) ! nmap.end(); i)for (vector::iterator it nmap[i].begin();it ! nmap[i].end(); it)printf(%d , *it);printf(\n);}};int main() {ifstream in(../input.txt);int n;in n;while (n ! -1) {Node *tree new Node[n];for (int i0; iint tmp, left, right;in tmp left right;tree[i].data tmp;if (left ! -1) tree[i].left tree[left];else tree[i].left NULL;if (right ! -1) tree[i].right tree[right];else tree[i].right NULL;}TreePrint tp;tp.bfs(tree[0]);tp.display();in n;}in.close();return 0;}更简单的方法由于输入的时候就是BFS遍历所以输入的时候就可以进行排序#include#include#include#includeusing namespace std;struct Node {int data;int id;int colum;};bool compareTo(Node l, Node r) {if (l.colum r.colum) return l.id r.id;else return l.colum r.colum;}int main() {ifstream in(../input.txt);int n;in n;while (n ! -1) {queue q;q.push(0);Node *tree new Node[n];tree[0].colum 0;for (int i0; iint tmp, left, right;in tmp left right;tree[i].data tmp;tree[i].id i;int pos q.front();q.pop();if (left ! -1) {tree[left].colum pos - 1;q.push(pos-1);}if (right ! -1) {tree[right].colum pos 1;q.push(pos1);}}sort(tree, treen, compareTo);for (int i0; iprintf(%d , tree[i].data);}printf(\n);in n;}in.close();return 0;}
http://www.lebaoying.cn/news/63351.html

相关文章:

  • 网站怎样做谷歌推广开发网站设计公司
  • 天津最好的网站建设公司wordpress仿简书主题
  • 企业网站源码 企业网站管理系统wordpress自动发帖
  • 做钓鱼网站视频教程建筑工程网站模板
  • 滨州做网站的科技公司asp.net开发网站和优势
  • 外贸有限公司英文网站有没有装修做团购的网站
  • 网站建设的技术标准我的网站怎么不能搜索
  • 网站改版设计注意事项做一个门户网站要多少钱
  • 做网站框架阳江招聘网兼职
  • 网站做好后怎么更新内容品牌注册查询系统
  • 上海人才引进网站湖南it网站建设mxtia
  • 企业网站营销策划合肥网站建设首选众龙
  • 长宁移动网站建设沈阳建设工程城乡建设厅
  • 网站购买域名吗外贸网站有哪些平台
  • 怎么把自己的网站推广网站策划搭建方案
  • 网站开发研究论文网店代运营店铺
  • iis做的网站提示500建设银行反钓鱼网站
  • 陕西省建设监理工程协会网站怎么直接做免费网站吗
  • 学网站开发工作好找吗凡科做网站好吗
  • 赣州大余做网站建设有哪几个平台做网站
  • 网站后台登陆不进去一个软件是怎么做出来的
  • sae 网站备案wordpress功能强大的主题
  • 网站怎么创建论坛网站建设外地便宜
  • 网站开发项目比赛自己制作一个网站怎么制作
  • 仿木鱼网络网站如何做一个网页界面
  • 做lgoo的网站一般有哪些印尼网站建设费用
  • 广州设计网站建设重庆地推团队外包
  • 阳江网站建设推广argo wordpress主题
  • 自己做的网站怎么发布wordpress传输失败
  • 网站备案到哪里成都专门做网站的公司