尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
数组转换为完全二叉树的二叉链表表示
建树有两种方式深度优先和广度优先代码如下#includeiostream#includevector#includestack#includedequeusingnamespacestd;structBinaryTree{intdata;BinaryTree*leftnullptr;BinaryTree*rightnullptr;BinaryTree(intd):data(d){}};BinaryTree*buildDFS(vectorintinput){structStackNode{BinaryTree*cur;size_t arrary_index;size_t process_flag0;StackNode(BinaryTree*c,size_t a):cur(c),arrary_index(a){}};stackStackNodework_stack;BinaryTree*rootnewBinaryTree(input[0]);work_stack.push(StackNode(root,1));while(work_stack.empty()false){if(work_stack.top().process_flag0){size_t temp0;if((temp2*work_stack.top().arrary_index)input.size()){work_stack.top().cur-leftnewBinaryTree(input[temp-1]);work_stack.push(StackNode(work_stack.top().cur-left,temp));}else{work_stack.top().process_flag2;}}elseif(work_stack.top().process_flag1){size_t temp0;if((temp2*work_stack.top().arrary_index1)input.size()){work_stack.top().cur-rightnewBinaryTree(input[temp-1]);work_stack.push(StackNode(work_stack.top().cur-right,temp));}else{work_stack.top().process_flag2;}}else{work_stack.pop();if(work_stack.empty()false){if(work_stack.top().process_flag0){work_stack.top().process_flag1;}else{work_stack.top().process_flag2;}}}}returnroot;}boolisCompeleteBinaryTree(BinaryTree*root){enumFlag{NO_EMPTY,EMPTY}flagNO_EMPTY;dequeBinaryTree*work_queue;work_queue.push_back(root);while(work_queue.empty()false){BinaryTree*curwork_queue.front();work_queue.pop_front();if(flagNO_EMPTY){if(cur-left!nullptr){work_queue.push_back(cur-left);if(cur-right!nullptr){work_queue.push_back(cur-right);}else{flagEMPTY;}}else{if(cur-right!nullptr){returnfalse;}else{flagEMPTY;}}}elseif(flagEMPTY){if(cur-left!nullptr){returnfalse;}elseif(cur-right!nullptr){returnfalse;}}}returntrue;}BinaryTree*buildBFS(vectorintinput){structDequeNode{BinaryTree*cur;size_t arrary_index;DequeNode(BinaryTree*c,size_t a):cur(c),arrary_index(a){}};dequeDequeNodework_queue;BinaryTree*rootnewBinaryTree(input[0]);work_queue.push_back(DequeNode(root,1));while(work_queue.empty()false){size_t temp0;DequeNode twork_queue.front();work_queue.pop_front();if((temp2*t.arrary_index)input.size()){t.cur-leftnewBinaryTree(input[temp-1]);work_queue.push_back(DequeNode(t.cur-left,temp));if((temp)input.size()){t.cur-rightnewBinaryTree(input[temp-1]);work_queue.push_back(DequeNode(t.cur-right,temp));}}}returnroot;}intmain(){vectorintinput{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20};BinaryTree*rootDFSbuildDFS(input);BinaryTree*rootBFSbuildBFS(input);if(isCompeleteBinaryTree(rootDFS)){coutDFS建树成功!endl;}else{coutDFS建树失败!endl;}if(isCompeleteBinaryTree(rootBFS)){coutBFS建树成功!endl;}else{coutBFS建树失败!endl;}}
RELATED

相关推荐

二叉树层次序序列和度数创建子女右兄弟链表示

二叉树层次序序列和度数创建子女右兄弟链表示

最近在准备考研,阅读王道数据结构单科书时看到一个问题,问题是给定一棵树(不一定是二叉树)所有节点的层次次序序列和度数,创建该树的子女右兄弟链表示 书中给出的参考答案略显繁琐,所以自己考虑了一个算法,运用层次次序…

📅 2026/9/17 16:59:43
Windows资源管理器已停止工作?详解explorer.exe崩溃排查与修复

Windows资源管理器已停止工作?详解explorer.exe崩溃排查与修复

简介:Windows 资源管理器频繁报错“已停止工作”,多与系统文件损坏、第三方插件异常或软件安装冲突有关。资源内的docx操作笔记专门讲解如何借助Windows 7/8自带的“可靠性监视器”来排查该问题,适用范围明确,适合普通用户、电脑维…

📅 2026/9/16 6:24:35
Wand-Enhancer 完整指南:3 步给 Wand(WeMod)解锁 Pro 与手机远程控制

Wand-Enhancer 完整指南:3 步给 Wand(WeMod)解锁 Pro 与手机远程控制

Wand-Enhancer 完整指南:3 步给 Wand(WeMod)解锁 Pro 与手机远程控制 【免费下载链接】Wand-Enhancer Advanced UX and interoperability extension for Wand (WeMod) app 项目地址: https://gitcode.com/GitHub_Trending/we/Wand-Enhancer…

📅 2026/10/7 12:48:04
MORE NEWS

更多资讯

📰

大厂电工证报名网址全流程办理指南 通过率揭秘

大厂电工证报名网址全流程办理指南 通过率揭秘 怕考不过白交培训费?特种作业证不是随便考的,尤其是大厂电工证报名网址一搜一大把,但真正能帮你顺利通过的不多。特别是济源的在职建筑工人,很多人因为不了解报名流程和考试内容,最后花了钱还拿不到证,白…

📰

廊坊建筑电工证审证怎么过?上岗必备这些干货别错过

廊坊建筑电工证审证怎么过?上岗必备这些干货别错过 怕考不过白交培训费?廊坊建筑电工证审证其实没那么难,关键是要掌握对的方法和流程。今天从郑州水利工程一线过来的老电工,给你掏心窝子说说,上岗必备的那些事,别再走弯路了。…

📰

电工证复审难吗现在 多久拿证流程全知道

电工证复审难吗现在 多久拿证流程全知道 之前考的证在外省能不能转过来?这个问题困扰了不少在外地工作、想回老家发展的电工。现在你终于可以放心了, 电工证复审难吗现在 ,其实并不难,只要掌握好流程, 多久拿证…

📰

建设工程特种工治理证怎么考?郑州报考避坑指南来了

建设工程特种工治理证怎么考?郑州报考避坑指南来了 学历不高怕报不上名?其实报考建设工程特种工治理证并不看学历,重点看有没有实际操作经验。郑州的小伙伴特别注意,别被培训机构忽悠了,跟着我这个老学员的亲身经历走,少走弯路。…

📰

找工作必须的电工证怎么报名?保姆级教程教你搞定大厂电工证报名网址

找工作必须的电工证怎么报名?保姆级教程教你搞定大厂电工证报名网址 别再等了,特种作业证就是你找工作最关键的敲门砖!尤其是电工证,现在各行各业都缺人手,但没证根本进不了门。今天就手把手教你搞定【大厂电工证报名网址】,还有保姆级教程,让你一次搞…

📰

电焊需要电工证多少钱千万别踩坑,工地太忙根本没时间复习考试

电焊需要电工证多少钱千万别踩坑,工地太忙根本没时间复习考试 工地太忙根本没时间复习考试,你是不是也这样?每天扛着电焊机满工地跑,脑子里全是图纸和现场问题,哪还有空去琢磨电工证怎么考?但你知道吗, 电焊需要电工证多少钱…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬