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
OA办公系统项目描述:该项目主要针企业的自动化办公,提高办公效率,减少人事理成本.让人工作方便、舒服本项目主要分为六大块:人事管理,日程管理,文档管理,消息传递,系统统管理,考勤管理人事管理:主要实现对机构部门员工增删改查,打印员工信息等操作.日程管理:实现了公司部门及个人日程的管理.运用一个简单的日历显示日程,让人一目了然,有阳历转换阴历,适合大众使用。
在以前这种技术会在闰年可能会出现错误,现在已经解决了,需要的朋友们可以学习学习。
文档管理:实现了对公司文档增删改查,及上传下载文件等操作.这里运用了,近似于window系统的一种操作
2024/6/17 18:49:48 10.43MB oa OA OA办公系统,OA源码
1
串口发送数据到本上位机,上位机将数据转换成曲线打印出来。
本压缩包包括曲线打印助手源工程文件(C#代码)完全开源,同时内含使用说明,代码清晰明了,欢迎下载。
1
并口打印机指令打印demo,无需安装打印机驱动,直接调用引用的dll即可打印。
2024/6/15 22:14:54 86KB C# 并口打印机 指令打印 demo
1
无论您刚接触电脑还是一个有经验的程序员,本书都将有助您学习使用Python语言。
目录表前言本书的读者本书的由来本书目前的状况官方网站约定条款欢迎给我反馈值得思考的一些东西1.介绍简介Python的特色概括为什么不使用Perl?程序员的话2.安装PythonLinux和BSD用户Windows®用户概括3.最初的步骤简介使用带提示符的解释器挑选一个编辑器使用源文件输出它如何工作可执行的Python程序获取帮助概括4.基本概念字面意义上的常量数字符串变量标识符的命名数据类型对象输出它如何工作逻辑行与物理行缩进概括5.运算符与表达式简介运算符运算符优先级计算顺序结合规律表达式使用表达式概括6.控制流简介if语句使用if语句它如何工作while语句使用while语句for循环使用for语句break语句使用break语句continue语句使用continue语句概括7.函数简介定义函数函数形参使用函数形参局部变量使用局部变量使用global语句默认参数值使用默认参数值关键参数使用关键参数return语句使用字面意义上的语句DocStrings使用DocStrings概括8.模块简介使用sys模块字节编译的.pyc文件from..import语句模块的__name__使用模块的__name__制造你自己的模块创建你自己的模块from..importdir()函数使用dir函数概括9.数据结构简介列表对象与类的快速入门使用列表元组使用元组元组与打印语句字典使用字典序列使用序列引用对象与引用更多字符串的内容字符串的方法概括10.解决问题——编写一个Python脚本问题解决方案版本一版本二版本三版本四进一步优化软件开发过程概括11.面向对象的编程简介self类创建一个类对象的方法使用对象的方法__init__方法使用__init__方法类与对象的变量使用类与对象的变量继承使用继承概括12.输入/输出文件使用文件储存器储存与取储存概括13.异常错误try..except处理异常引发异常如何引发异常try..finally使用finally概括14.Python标准库简介sys模块命令行参数更多sys的内容os模块概括15.更多Python的内容特殊的方法单语句块列表综合使用列表综合在函数中接收元组和列表lambda形式使用lambda形式exec和eval语句assert语句repr函数概括16.接下来学习什么?
2024/6/15 13:07:56 1.27MB Phyton 教程
1
1、代码完整,注释很详细,复制到编译器即可运行2、含有说明文字及题目要求实现思想等。
要求:1.空闲分区通过空闲区链进行管理,在内存分配时,优先考虑低地址部分的空闲区。
2.分别采用首次适应算法、最佳适应算法和最坏适应算法模拟内存空间的动态分配与回收,每次分配和回收后显示出空闲区链的详细情况(说明:在申请不成功时,需要打印当前内存的占用情况信息)。
3.进程对内存空间的申请和释放可由用户自定义输入。
4.参考请求序列如下:(1)初始状态下可用内存空间为640KB;
(2)进程1申请130KB;
(3)进程2申请60KB;
(4)进程3申请100KB;
(5)进程2释放60KB;
(6)进程4申请200KB;
(7)进程3释放100KB;
(8)进程1释放130KB;
(9)进程5申请140KB;
(10)进程6申请60KB;
(11)进程7申请50KB;
(12)进程6释放60KB。
测试用例格式如下:输入:动态分区分配算法选择可用内存空间容量序号/进程号/申请或释放操作/申请或释放的容量其中:(1)动态分区分配算法:1----首次适应,2----最佳适应。
1
用STM8控制OPT3001采集光照强度,串口打印,亲测可用。
代码,完整的工程,原理图等文件都放一起了,另外,我写了一份学习笔记,详细的说明了OPT3001的工作流程和原理,单片机如何去控制OPT3001工作都写的很清楚了,保证看完都能懂。
OPT3001采集的光照强度数值可以用查询的方式读取和计算,也可以设定上限和下限值,超出范围后会触发中断,通过中断的方式可以有效降低功耗。
这两种方式我都调通了,stm8睡眠和唤醒以及一些别的外设没有加上去,感兴趣的朋友可以和我聊聊。
2024/6/15 6:34:26 7.64MB stm8 opt3001
1
随着我国市场经济的快速发展,人事工资管理系统在企业的日常管理中发挥着越来越重要的作用。
人事工资管理系统可以进行档案管理、奖罚管理和工资管理等,方便处理企业内部员工的相关工资信息。
另外,为了更方便的查看员工的工资信息,还可以通过水晶报表对工资信息进行打印。
2024/6/15 1:58:34 1.65MB C# SQL Server 人事工资管理系统
1
通信原理第六版第七版课后答案,里面还包含课本。
扫描版,清晰可以打印!!!期末复习必备!!
2024/6/15 1:48:49 66.53MB 通信原理 第七版 课后答
1
CaiNiaoPrint(菜鸟打印组件)是一款非常实用的打印辅助软件;
它主要是专门用来针对淘宝卖家的辅助根据;
集合了丰富的面板模块,并且是电子的,软件可以自动的更新,快速的帮助用户出单,这样就不需要传统的手写快递单的过程,实用又高效;
软件使用简单,操作方便,是款非常值得信赖的软件,需要的朋友赶快将菜鸟打印控件下载来使用试试吧!
1
共 1000 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡