1本程序在vc++6.0编译通过并能正常运行。
2主界面程序已经尽量做到操作简便了,用户只需要根据提示一步步进行操作就行了。
六思考和总结:这个课程设计的各个基本操作大部分都在我的综合性实验中实现了,所以做这个主要攻克插入和删除这两个算法!其中插入在书本上已经有了,其中的右平衡算法虽然没有给出,但通过给出的左平衡算法很容易就可以写出右平衡算法。
所以最终的点就在于删除算法的实现!做的过程中对插入算法进行了非常非常多次的尝试!花了非常多的时间,这其中很多时候是在对程序进行单步调试,运用了VC6。
0的众多良好工具,也学到了很多它的许多好的调试手段。
其中删除算法中最难想到的一点是:在用叶子结点代替要删除的非叶子结点后,应该递归的运用删除算法去删除叶子结点!这就是整个算法的核心,其中很强烈得体会到的递归的强大,递归的最高境界(我暂时能看到的境界)!其它的都没什么了。
选做的那两个算法很容易实现的:1合并两棵平衡二叉排序树:只需遍历其中的一棵,将它的每一个元素插入到另一棵即可。
2拆分两棵平衡二叉排序树:只需以根结点为中心,左子树独立为一棵,右子树独立为一棵,最后将根插入到左子树或右子树即可。
BSTreeEmpty(BSTreeT)初始条件:平衡二叉排序树存在。
操作结果:若T为空平衡二叉排序树,则返回TRUE,否则FALSE.BSTreeDepth(BSTreeT)初始条件:平衡二叉排序树存在。
操作结果:返回T的深度。
LeafNum(BSTreeT)求叶子结点数,非递归中序遍历NodeNum(BSTreeT)求结点数,非递归中序遍历DestoryBSTree(BSTree*T)后序遍历销毁平衡二叉排序树TR_Rotate(BSTree*p)对以*p为根的平衡二叉排序树作右旋处理,处理之后p指向新的树根结点即旋转处理之前的左子树的根结点L_Rotate(BSTree*p)对以*p为根的平衡二叉排序树作左旋处理,处理之后p指向新的树根结点,即旋转处理之前的右子树的根结点LeftBalance(BSTree*T)对以指针T所指结点为根的平衡二叉排序树作左平衡旋转处理,本算法结束时,指针T指向新的根结点RightBalance(BSTree*T)对以指针T所指结点为根的平衡二叉排序树作右平衡旋转处理,本算法结束时,指针T指向新的根结点Insert_AVL(BSTree*T,TElemTypee,int*taller)若在平衡的二叉排序树T中不存在和e有相同的关键字的结点,则插入一个数据元素为e的新结点,并返回OK,否则返回ERROR.若因插入而使二叉排序树失去平衡,则作平衡旋转处理布尔变量taller反映T长高与否InOrderTraverse(BSTreeT)递归中序遍历输出平衡二叉排序树SearchBST(BSTreeT,TElemTypee,BSTree*f,BSTree*p)在根指针T所指的平衡二叉排序树中递归的查找其元素值等于e的数据元素,若查找成功,则指针p指向该数据元素结点,并返回TRUE,否则指针p指向查找路径上访问的最后一个结点并返回FALSE,指针f指向T的双亲,其初始调用值为NULLDelete_AVL(BSTree*T,TElemTypee,int*shorter)在平衡二叉排序树中删除元素值为e的结点,成功返回OK,失败返回ERRORPrintBSTree_GList(BSTreeT)以广义表形式打印出来PrintBSTree_AoList(BSTreeT,intlength)以凹入表形式打印,length初始值为0Combine_Two_AVL(BSTree*T1,BSTreeT2)合并两棵平衡二叉排序树Split_AVL(BSTreeT,BSTree*T1,BSTree*T2)拆分两棵平衡二叉树}(2)存储结构的定义:typedefstructBSTNode{ TElemTypedata; intbf;//结点的平衡因子 structBSTNode*lchild,*rchild;//左.右孩子指针}BSTNode,*BSTree;
1
MathType是一个功能强大的Windows和Macintosh交互式公式编辑器,可让您为文字处理,网页,桌面出版,演示文稿,电子教学以及TeX,LaTeX和MathML文档创建数学符号。
2024/6/17 3:17:21 39.36MB MathType
1
UnityAquas2020水体插件AQUAS是一个Unity3d功能强大且功能齐全的水系统,其中包含一套12平台的水平着色器,用于各种平台,环境和游戏,它是高度可定制的,功能丰富,适合所有需求
2024/6/17 0:53:16 79.06MB unity Aquas 插件 水体
1
JBossModules是一个适用于Java的模块化(非分层)类加载以及执行环境的实现。
换句话说,不同于Java传统的使用单个类加载器载入classpath中的所有JAR文件,每一个库(library,可以理解为完成某一个功能的一系列jar的组合)成为一个module,该module仅链接其依赖的其他module,而不再依赖其它任何资源。
JBossModule实现了一个线程安全的,快速的,高并发的类加载器委派(delegating)模型,再加上一个可扩展的模块解析引擎,形成一个独特的,简单的,强大的应用程序执行和分布系统。
2024/6/16 1:23:31 260KB jboss
1
OpenCV3编程入门以当前最新版本的OpenCV最常用最核心的组件模块为索引,深入浅出地介绍了OpenCV2和OpenCV3中的强大功能、性能,以及新特性。
书本配套的OpenCV2和OpenCV3双版本的示例代码包中,含有总计两百多个详细注释的程序源代码与思路说明。
读者可以按图索骥,按技术方向进行快速上手和深入学习。
《OpenCV3编程入门》要求读者具有基础的C/C++知识,适合研究计算机视觉以及相关领域的在校学生和老师、初次接触OpenCV但有一定C/C++编程基础的研究人员,以及已有过OpenCV1.0编程经验,想快速了解并上手OpenCV2、OpenCV3编程的计算机视觉领域的专业
2024/6/15 7:18:23 7KB opencv 机器学习 计算机视觉
1
餐馆餐炊美食饭店门户网站系统源码正式版,餐炊美食网站模板下载,,餐馆餐饮美食商贸通B2B行业商务门户网站管理系统源码餐馆餐炊美食饭店门户网站系统源码正式版,餐炊美食网站模板下载,美食饭店门户网站系统正式版,美食网站源码,模板,HTML城市美食门户网站系统基于PHP+MYSQL开发,具有餐馆发布、菜式发布、信息发布、FB活动聚会和会员交流等互动功能和强大的文章发布、图片展示、下载、广告管理等网站内容管理功能。
具有灵活的会员权限控制和会员管理系统;
灵活的可视化模版引擎可满足个性化的美食门户建站需求;
支持HTML静态页面生成和多语言支持;
适于创建城市美食门户网站。
餐馆餐饮美食b2b网上商务贸易,餐炊美食行业门户网站系统源码模板生成主机环境要求:PHP4.3-5.2.xMYSQL4.1-5.0.xzendoptimizer3.2以上
2024/6/15 7:58:15 6.35MB 餐炊 PHP 美食 网站
1
Reflector8最强大的反编译工具,能一字不差地将exe或dll反编译出原始代码.附带crack工具
2024/6/14 21:50:53 9.92MB Reflector 反编译 .net redgate
1
HBuilder比eclipse拥有更加强大的界面开发的提示功能,使用也很简单,只需要解压即可,解压后双击HBuilder.exe即可运行
2024/6/14 10:18:41 217.67MB HBuild 前端开发工具
1
虽然python很强大,而且也有自己的图像处理库PIL,但是相对于OpenCV来讲,它还是弱小很多。
跟很多开源软件一样OpenCV也提供了完善的python接口,非常便于调用。
OpenCV的稳定版是2.4.8,最新版是3.0,包含了超过2500个算法和函数,几乎任何一个能想到的成熟算法都可以通过调用OpenCV的函数来实现,超级方便。
2024/6/11 7:44:50 4.8MB Python OpenCV
1
Netlogo是一个用来对自然和社会现象进行仿真的可编程建模环境。
它是由UriWilensy在1999年发起的,由链接学习和计算机建模中心(CCL)负责持续开发,其研发目的正是为科研教育机构提供一个强大且易用的计算机辅助工具。
解决大家官网下载速度过慢的烦恼
2024/6/11 3:56:15 180.94MB netlogo 安装包 Windows 64位
1
共 1000 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡