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

龙胜网站建设公司个人网站如何做推广

龙胜网站建设公司,个人网站如何做推广,吉安网站设计,山西seo排名厂家前记上周我投递出了简历#xff0c;岗位是后端开发工程师。这周腾讯面试官给我进行了视频面试。面试过程中他问了二叉树的问题。二叉树相关算法题#xff0c;在面试中出现的次数非常非常多#xff0c;所以我面试之前也有所准备。今天结合面试问题详细讲一讲二叉树#xff0…前记上周我投递出了简历岗位是后端开发工程师。这周腾讯面试官给我进行了视频面试。面试过程中他问了二叉树的问题。二叉树相关算法题在面试中出现的次数非常非常多所以我面试之前也有所准备。今天结合面试问题详细讲一讲二叉树结合实例分析二叉树的存储结构的建立方法和遍历过程。面试官面试问题面试官大佬看你的简历上写熟悉数据结构谈谈二叉树遍历的方式我(这可难不倒我)先序遍历先访问根节点后依次访问左孩子和右孩子递归算法void PreOrder1(BTREE bt) //递归先根遍历 {if (bt){if (bt-data ! #){printf( %c, bt-data);//结点不空 打印结点值 }PreOrder1(bt-lchild);//依次访问左右节点 PreOrder1(bt-rchild);}}复制代码非递归算法void PreOrder2(BTREE p)//非递归先根遍历 ,先访问根节点后依次访问左孩子和右孩子 {int top -1;node *Q[N];while (p ! NULL || top ! -1){while (p ! NULL){if (p-data ! #){printf( %c, p-data);}Q[top] p;p p-lchild;}if (top ! -1){p Q[top--];p p-rchild;}}}复制代码中序遍历先访问左孩子后依次访问根节点和右孩子递归算法void InOrder1(BTREE bt)//递归中序遍历{if (bt){InOrder1(bt-lchild);//先访问左节点 if (bt-data ! #){printf( %c, bt-data);//结点不空 打印结点值 }InOrder1(bt-rchild);//先访问右节点 }}复制代码非递归算法void InOrder2(BTREE p)//非递归中序遍历先访问左孩子然后访问根节点后访问右孩子{int top -1;node *Q[N];while (p ! NULL || top ! -1){while (p ! NULL){Q[top] p;p p-lchild;}if (top ! -1){p Q[top--];if (p-data ! #){printf( %c,p-data);}p p-rchild;}}}复制代码后序遍历先访问左孩子孩子后依次访问右孩子和根节点递归算法void PostOrder1(BTREE bt)//后序遍历 {if (bt){PostOrder1(bt-lchild);//先访问左右孩子节点 PostOrder1(bt-rchild);if (bt-data ! #){printf( %c, bt-data);//后访问根节点 }}}非递归算法void PostOrder2(BTREE p)//非递归后序遍历 先访问左孩子然后访问右孩子后访问根节点 {int top -1;node *Q[N];int flag[N] { 0 };while (p ! NULL || top ! -1){while (p ! NULL){top;Q[top] p;flag[top] 1;p p-lchild;}while (top ! -1 flag[top] 2){if (Q[top]-data ! #){printf( %c, Q[top]-data);top--;}}if (top ! -1){flag[top] 2;p Q[top]-rchild;}}}复制代码面试题目面试官大佬你回答得很好还有其他遍历方式吗我……沉默了几秒我(这可难不倒我)还有一种层序遍历层序遍历从根开始依次向下对于每一层从左向右遍历//层序遍历 void Sequense(BTREE bt)//建立栈依次将根节点左孩子右孩子压栈 并打印栈顶元素 {node *Q[N];node *p;int front 0, top 0;if (bt ! NULL){Q[top] bt;//将根节点压栈while (front top) //遍历栈 {p Q[front];if (p-data ! #){printf( %c, p-data);//打印栈顶元素 }if (p-lchild){Q[top] p-lchild;//将左孩子压栈}if (p-rchild){Q[top] p-rchild;//将右孩子压栈}}}}遍历算法总结面试题目面试官大佬如何判断是否完全二叉树呢我(这可难不倒我)判断完全二叉树按层遍历二叉树, 从每层从左向右遍历所有的结点如果当前结点有右孩子, 但没有左孩子, 那么不是完全二叉树如果当前结点有左孩子但无右孩子, 那么它之后的所有结点都必须为叶子结点否则不是完全二叉树如果当前结点有左孩子和右孩子, 继续遍历int Compnode(BTREE G)//判断是否是完全二叉树 {node *D[N], *p; //建立一个队列D[N]int front 0, last 0; //front是队头指针,last是队尾指针int tree_signal 1;//tree_signal是判断是否为完全二叉树的标志int odd_signal 1;//odd_signal是判断是否存在无左孩子的节点的标志if (G ! NULL){last;D[last] G; //将根节点压入队尾while (front ! last){front;p D[front];if (p-lchild NULL ||(p-lchild)-data #) //*p节点没有左孩子{odd_signal 0;if (p-rchild ! NULL (p-rchild)-data ! #) //没有左孩子但有右孩子不是完全二叉树tree_signal 0; }else //*p节点有左子树{if (odd_signal 1) //目前不存在无左孩子的节点{last; //左孩子进队D[last] p-lchild;if (p-rchild NULL || (p-rchild)-data #) //*p有左孩子但没有右孩子{odd_signal 0;}else{last; //右孩子进队D[last] p-rchild;}}else //目前存在有左孩子的节点不是完全二叉树{tree_signal 0; }}}}else{tree_signal 0;//假设空树不是完全二叉树}return tree_signal;}总结咱们玩归玩闹归闹别拿面试开玩笑。二叉树的遍历虽然简单但遍历方式多样也有递归算法和非递归算法之分。一旦问到了大家一定要回答全面不要丢三落四回答到点上。二叉树相关算法题在面试中出现的次数非常非常多大家面试前要把二叉树等数据结构的基础打牢。
http://www.zqtcl.cn/news/794937/

相关文章:

  • 做设计找素材的 网站有哪些网站建设实训个人总结
  • 浙江省建设厅继续教育官方网站网站做vr的收费
  • 建造网站 备案苏州手机网站设计
  • 做外贸卖小商品是哪个网站手机首页设计
  • 大连网站制作公司营销策划公司有哪些职位
  • 2019深圳网站设计公司排名网站设计的思想
  • 试客那个网站做的好seo管理平台
  • 增加网站关键词库网盟推广合作
  • 企业门户网站内容建设濮阳网络培训基地
  • 做亚马逊运营要看哪些网站免费咨询电脑问题
  • 如何用html制作网站app开发要多少钱
  • 中国搜索提交网站信息网络犯罪
  • 网站服务器做下载链接分销平台系统源码
  • 网站管理助手建站沈阳专业网站建设企业
  • 企业网站开发公司大全建筑工程培训
  • 免费网站开发模板云南省网站开发软件
  • dede小游戏php网站源码广州网站vi设计报价
  • 邯郸建设局网站资质申报wordpress 前端 插件
  • 关于asp_sql网站开发的书籍小程序跳转网页方法
  • 昆明网站开发公司电话建设手机银行的网站
  • 福州建设注册中心网站怎么做公司展示网站
  • 网络营销网站建设知识平面设计初中毕业能学吗
  • 2019销售网站开发与设计现状怎么在网上卖东西赚钱
  • 做网站前后端的发布流程如何管理wordpress网站模板下载
  • 网站历史频道怎么做网站修改标题有影响吗
  • 做自己的卡盟网站做技术一般逛那些网站
  • 网站建设自学多长时间做网站原型的软件
  • 营销型的物流网站模板北京楼市最新消息
  • 宁波模版建站公司湘潭建设网站公司
  • 世界十大网站排名出炉最新军事新闻最新消息视频