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
1.掌握自顶向下语义分析中语义子程序的添加过程;
2.掌握“拉链”、“回填”操作的原理及实现;
3.根据MiniC的上下文无关文法,对赋值语句、算术表达式、关系表达式、if-else语句、while语句、布尔表达式(选作内容)等语法结构添加语义子程序;
4.针对测试代码,输出四元式序列。
5.以文件流的形式读入要分析的C语言程序;
6.使用四元式类,将四元式对象放置在四元式线性表(如:ArrayList)中;
7.自行测试多组本次实习语法结构(赋值语句、普通表达式、关系表达式、if-else语句、while语句),将四元式序列输出到文件中。
2024/6/16 14:40:03 10KB 编译原理 javacc 语义分析
1
能读取词法分析结果进行语法分析,在语法分析的同时进行语义分析,生成中间代码;
采用LR分析法的实现
2024/6/6 21:03:02 34KB 布尔表达式
1
这是AssetStore下载的CSG编辑器扩充/建模工具,里面含有实例和说明文档,亲测非常好用。
2024/5/21 16:11:16 3.29MB CSG
1
数据结构中栈的一个功能,主要有进行中缀转后缀表达式和后缀表达式的求值运算
2024/5/3 11:47:41 199KB C++ 数据结构
1
通过zmnl方法,完成了对瑞丽杂波,威布尔杂波,对数正态分布杂波以及K杂波的建模仿真,并对功率谱以及杂波幅度概率分布进行分析仿真
2024/5/1 6:36:47 10KB ZMNL杂波
1
使用C++实现的布尔表达式的递归下降得到推导过程词法分析以及逆波兰式
2024/3/4 22:44:32 7KB 编译原理 布尔表达式 递归下降
1
采用c#和activiz.net。
用鼠标进行二维勾画,然后进行布尔运算进行运算,功能类似3Dslicer的剪刀功能,目前只能针对dicom序列图像。
选择文件夹就可以。
2024/2/29 21:47:07 89.48MB c#VTK体绘制切割
1
燕十八布尔商城教学视频源代码
2024/2/16 22:22:57 1.54MB 燕十八 布尔商城 源代码
1
书名:《LabVIEW虚拟仪器从入门到测控应用130例》(电子工业出版社.李江全.任玲.廖结安.温宝琴)PDF格式扫描版,全书分为13章,共486页。
2013年4月出版。
内容简介本书从实际应用出发,通过130个典型实例系统地介绍了LabVIEW语言的程序设计方法及其测控应用技术,入门基础篇包括第0~10章,主要内容有LabVIEW基础、数值型数据、布尔型数据、字符串数据、数组数据、簇数据、数据类型转换、程序结构、变量与节点、图形显示和文件I/O;
测控应用篇包括第11~13章,主要内容有PC通信与单片机测控、远程YO模块与PLC测控及LabVIEW数据采集。
提供的实例由实例说明、设计任务和任务实现等部分组成,并有详细的操作步骤。
注:原书没有书签。
为了方便阅读,本人在上传前添加了完整详细的书签。
目录入门基础篇第0章LabVIEW基础0.1LabVIEW概述0.2LabVIEW的编程环境0.3LabVIEW的基本概念0.4前面板对象设计基础0.5数据类型及其运算0.6VI调试方法第1章数值型数据实例基础数值型数据概述实例1数值输入与显示实例2时间标识输入与显示实例3滑动杆输出实例4旋钮与转盘输出实例5滚动条与刻度条实例6数值算术运算实例7数值常量第2章布尔型数据实例基础布尔型数据概述实例8开关与指示灯实例9数值比较实例10数值逻辑运算实例11真常量与假常量实例12确定按钮实例13停止按钮实例14单选按钮实例15按钮的快捷键设置第3章字符串数据实例基础字符串数据概述实例16计算字符串的长度实例17连接字符串实例18截取字符串实例19字符串大小写转换实例20替换子字符串实例21搜索替换字符串实例22格式化日期/时间字符串实例23格式化写入字符串实例24搜索/拆分字符串实例25选行并添加至字符串实例26匹配字符串实例27匹配真/假字符串实例28组合框第4章数组数据实例基础数组数据概述实例29初始化数组实例30创建数组实例31计算数组大小实例32求数组最大值与最小值实例33删除数组元素实例34数组索引实例35替换数组子集实例36提取子数组实例37数组插入实例38拆分一维数组实例39一维数组排序实例40搜索一维数组实例41二维数组转置实例42数组元素算术运算第5章簇数据实例基础簇数据概述实例43捆绑实例44解除捆绑实例45按名称捆绑实例46按名称解除捆绑实例47创建簇数组实例48索引与捆绑簇数组第6章数据类型转换实例基础数据类型转换概述实例49字符串至路径转换实例50路径至字符串转换实例51数值至字符串转换实例52字符串至数值转换实例53字节数组至字符串转换实例54字符串至字节数组转换实例55数组至簇转换实例56簇至数组转换实例57布尔数组至数值转换实例58数值至布尔数组转换实例59布尔值至0,1转换第7章程序结构实例60For循环结构实例61While循环结构实例62条件结构实例63层叠式顺序结构实例64平铺式顺序结构实例65定时循环结构实例66定时顺序结构实例67事件结构实例68禁用结构第8章变量与节点实例69局部变量实例70全局变量实例71公式节点实例72反馈节点实例73表达式节点实例74属性节点实例75子程序设计实例76菜单设计第9章图形显示实例77波形图表实例78波形图实例79XY图实例80强度图第10章文件I/O实例基础文件I/O概述实例81写入文本文件实例82读取文本文件实例83写入二进制文件实例84读取二进制文件实例85写入波形至文件实例86从文件读取波形实例87写入电子表格文件实例88读取电子表格文件测控应用篇第11章PC通信与单片机测控实例89PC与PC串口通信实例90PC双串口互通信实例91PC与单个单片机串口通信实例92PC与多个单片机串口通信实例93单片机模拟电压采集实例94单片机模拟电压输出实例95单片机开关信号输入实例96单片机开关信号输出实例97单片机温度测控实例98单台智能仪器温度检测实例99多台智能仪器温度检测实例100短信接收与发送实例101网络温度监测第12章远程I/O模块与PLC测控实例102远程I/O模块模拟电压采集实例103远程I/O模
2024/2/14 17:29:51 63.19MB LabView
1
共 111 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡