参考资料:《数据结构》(C语言版)严蔚敏&&吴伟民&&米宁著要求选用顺序存储结构和二叉链表存储结构实现抽象数据类型二叉树的基本操作。
有个亮点是利用字符在dos界面显示二叉树的结构形态。
里面包含了完整的源程序和实验报告文档。
实验报告包含了完整的步骤包括:一.抽象数据类型二叉树的定义二.存储结构定义(包括顺序存储和二叉链表)及各基本操作的实现三.测试方案。
包括详细的测试函数四.测试结果。
对所有操作的测试过程中二叉树的变化截图。
五.二叉树各基本操作时间复杂度与存储结构特点分析及对算法的改进设想。
六.实验总结和体会实现的基本操作如下:InitBiTree(&T)DestroyBiTree(&T)CreateBiTree(&T)ClearBiTree(&T)BiTreeEmpty(T)BiTreeDepth(T)Root(T)Value(T,e)Assign(T,&e,value)Parent(T,e)LeftChild(T,e)RightChild(T,e)LeftSibling(T,e)RightSibling(T,e)InsertChild(T,p,LR,c)DeleteChild(T,p,LR)PreOrderTraverse(T,Visit())InOrderTraverse(T,Visit())PostOrderTraverse(T,Visit())LevelOrderTraverse(T,Visit())下载清单:Base.h//全局常量、公共变量、公共函数等BiTree.h//二叉链表二叉树实现BiTree_Main.cpp//二叉链表二叉树测试程序SqBiTree.h//顺序存储二叉树实现SqBiTree_Main.cpp//顺序存储二叉树测试程序抽象数据类型实现-二叉树-实验报告.doc
1
第1讲:2015-01-12(进制01)第2讲:2015-01-13(进制02)第3讲:2015-01-14(数据宽度-逻辑运算03)第4讲:2015-01-15(通用寄存器-内存读写04)第5讲:2015-01-16(内存寻址-堆栈05)第6讲:2015-01-19(EFLAGS寄存器06)第7讲:2015-01-20(JCC)第8讲:2015-01-21(堆栈图)第8讲:2015-01-21(宝马问题)第9讲:2015-01-22(堆栈图2)第10讲:2015-01-23(C语言01_后半段)第10讲:2015-01-23(C语言完整版)第11讲:2015-01-26(C语言02_数据类型)第12讲:2015-01-27(C语言03_数据类型_IF语句)第13讲:2015-01-28(C语言04_IF语句逆向分析上)第14讲:2015-01-28(C语言04_IF语句逆向分析下)第15讲:2015-01-29(C语言04_正向基础)第16讲:2015-01-30(C语言05_循环语句)第17讲:2015-02-02(C语言06_参数_返回值_局部变量_数组反汇编)第18讲:2015-02-02(2015-01-30课后练习)第19讲:2015-02-03(C语言07_多维数组)第20讲:2015-02-03(2015-02-02课后练习)第21讲:2015-02-04(C语言08_结构体)第22讲:2015-02-05(C语言09_字节对齐_结构体数组)第23讲:2015-02-06(C语言10_Switch语句反汇编)第24讲:2015-02-26(C语言11_指针1)第25讲:2015-02-27(C语言11_指针2)第26讲:2015-02-28(C语言11_指针3)第27讲:2015-02-28(C语言11_指针4)第28讲:2015-03-02(C语言11_指针5)第29讲:2015-03-03(C语言11_指针6)第30讲:2015-03-04(C语言11_指针7)第31讲:2015-03-06(C语言11_指针8)第32讲:2015-03-09(位运算)第33讲:2015-03-10(内存分配_文件读写)第34讲:2015-03-11(PE头解析_手动)第35讲:2015-03-12(PE头字段说明)第36讲:2015-03-13(PE节表)第37讲:2015-03-16(FileBuffer转ImageBuffer)第38讲:2015-03-17(代码节空白区添加代码)第39讲:2015-03-18(任意节空白区添加代码)第40讲:2015-03-19(新增节添加代码)第41讲:2015-03-20(扩大节-合并节-数据目录)第42讲:2015-03-23(静态连接库-动态链接库)第43讲:2015-03-24(导出表)第44讲:2015-03-25(重定位表)第45讲:2015-03-26(移动导出表-重定位表)第46讲:2015-03-27(IAT表)第47讲:2015-03-27(导入表)第48讲:2015-03-30(绑定导入表)第49讲:2015-03-31(导入表注入)第50讲:2015-04-01(C++this指针类上)第51讲:2015-04-01(C++this指针类下)第52讲:2015-04-02(C++构造-析构函数继承)第53讲:2015-04-03(C++权限控制)第54讲:2015-04-07(C++虚函数表)第55讲:2015-04-08(C++动态绑定-多态-上)第56讲:2015-04-08(C++动态绑定-多态-下)第57讲:2015-04-09(C++模版)第58讲:2015-04-10(C++引用-友元-运算符重载)第59讲:2015-04-13(C++new-delete-Vector)第60讲:2015-04-14(C++Vector实现)第61讲:2015-04-15(C++链表)第62讲:2015-04-16(C++链表实现)第63讲:2015-04-16(C++二叉树)第64讲:2015-04-17(C++二叉树实现)第65讲:2015-04-20(Win32宽字符)第66讲:2015-04-21(Win32事件-消息-消息处理函数)第67讲:2015-04-22(Win32ESP寻址-定位回调函数-条件断点)第68讲:2015-04-23(Win3
2024/7/27 6:10:04 79B 滴水三期 汇编 C语言 C++
1
由键盘输入一算术表达式,以中缀形式输入,试编写程序将中缀表达式转换成一棵二叉表达式树,通过对该的后序遍历求出计算表达式的值。
基本要求:a.要求对输入的表达式能判断出是否合法。
不合法要有错误提示信息。
b.将中缀表达式转换成二叉表达式树。
c.后序遍历求出表达式的值
2024/4/12 4:15:55 4KB C语言 二叉树
1
多个车子,N个箱子,用二维矩形方式进行装车。
采用二叉树实现。
java
2023/12/29 22:20:18 7KB 装箱 二维装箱 二维装箱ja
1
用C++实现的表达式计算器,二叉树实现,能进行加、减、乘、除,还支持sin,cos等运算,内含详细注释。
2023/12/8 21:14:37 10KB c++ 表达式 计算器 二叉树
1
假设以如下阐明的三元组(F、C、L/R)序列输入一棵二叉树的诸边(其中F表示双亲结点的标识,C表示孩子结点标识,L/R表示C为F的左孩子或右孩子),且在输入的三元组序列中,C是按层次顺序出现的。
设结点的标识是字符类型。
F=‘^’时C为根结点标识,若C亦为‘^’,则表示输入结束。
试编写算法,由输入的三元组序列建立二叉树的二叉链表,并以中序序列输出。
^ALABLACRBDLCELCFRDGRFHL^^L
2022/9/3 10:37:22 2KB 二叉树实现
1
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡