数据结构算法演示(Windows版)使用手册一、功能简介本课件是一个动态演示数据结构算法执行过程的辅助教学软件,它可适应读者对算法的输入数据和过程执行的控制方式的不同需求,在计算机的屏幕上显示算法执行过程中数据的逻辑结构或存储结构的变化状况或递归算法执行过程中栈的变化状况。
整个系统使用菜单驱动方式,每个菜单包括若干菜单项。
每个菜单项对应一个动作或一个子菜单。
系统一直处于选择菜单项或执行动作状态,直到选择了退出动作为止。
二、系统内容本系统内含84个算法,分属13部分内容,由主菜单显示,与《数据结构》教科书中自第2章至第11章中相对应。
各部分演示算法如下:1.顺序表(1)在顺序表中插入一个数据元素(ins_sqlist)(2)删除顺序表中一个数据元素(del_sqlist)(3)合并两个有序顺序表(merge_sqlist)2.链表(1)创建一个单链表(Crt_LinkList)(2)在单链表中插入一个结点(Ins_LinkList)(3)删除单链表中的一个结点(Del_LinkList)(4)两个有序链表求并(Union)(5)归并两个有序链表(MergeList_L)(6)两个有序链表求交(ListIntersection_L)(7)两个有序链表求差(SubList_L)3.栈和队列(1)计算阿克曼函数(AckMan)(2)栈的输出序列(Gen、Perform)(3)递归算法的演示汉诺塔的算法(Hanoi)解皇后问题的算法(Queen)解迷宫的算法(Maze)解背包问题的算法(Knap)(4)模拟银行(BankSimulation)(5)表达式求值(Exp_reduced)4.串的模式匹配(1)古典算法(Index_BF)(2)求Next函数值(Get_next)和按Next函数值进行匹配(Index_KMP(next))(3)求Next修正值(Get_nextval)和按Next修正值进行匹配(Index_KMP(nextval))5.稀疏矩阵(1)矩阵转置(Trans_Sparmat)(2)快速矩阵转置(Fast_Transpos)(3)矩阵乘法(Multiply_Sparmat)6.广义表(1)求广义表的深度(Ls_Depth)(2)复制广义表(Ls_Copy)(3)创建广义表的存储结构(Crt_Lists)7.二叉树(1)遍历二叉树二叉树的线索化先序遍历(Pre_order)中序遍历(In_order)后序遍历(Post_order)(2)按先序建二叉树(CrtBT_PreOdr)(3)线索二叉树二叉树的线索化生成先序线索(前驱或后继)(Pre_thre)中序线索(前驱或后继)(In_thre)后序线索(前驱或后继)(Post_thre)遍历中序线索二叉树(Inorder_thlinked)中序线索树的插入(ins_lchild_inthr)和删除(del_lchild_inthr)结点(4)建赫夫曼树和求赫夫曼编码(HuffmanCoding)(5)森林转化成二叉树(Forest2BT)(6)二叉树转化成森林(BT2Forest)(7)按表达式建树(ExpTree)并求值(CalExpTreeByPostOrderTrav)8.图(1)图的遍历深度优先搜索(Travel_DFS)广度优先搜索(Travel_BFS)(2)求有向图的强连通分量(Strong_comp)(3)有向无环图的两个算法拓扑排序(Toposort)关键路径(Critical_path)(4)求最小生成树普里姆算法(Prim)克鲁斯卡尔算法(Kruscal)(5)求关节点和重连通分量(Get_artical)(6)求最短路径弗洛伊德算法(shortpath_Floyd)迪杰斯特拉算法(shortpath_DIJ)9.存储管理(1)边界标识法(Boundary_tag_method)(2)伙伴系统(Buddy_system)(3)紧缩无用单元(Storage_compaction)10.静态查找(1)顺序查找(Search_Seq)(2)折半查找(Serch_Bin)(3)插值查找(Search_Ins)(4)斐波那契查找(Searc
2025/4/23 10:46:30 3.17MB 数据结构 演示 软件 c
1
失球状态关于尝试复制“行为,但。
发布于去做季后赛时间表实时处理季后赛数据计划页面获取Twitter帐户和按钮将未来的时间表纳入魔幻数字单元测试覆盖率报告将数据库api代码提取到单独的库中将项目移至github上针对blaseball的特定帐户减少午睡期间的API调用计划的发布时间表v0.0.1狂野/轻度联赛数据切换刷新时实时提取数据(感谢!)数学背后的游戏v0.0.2数据加载指示器和数据填充赢魔术数字派对时间魔术数字克林奇计算v0.0.3在浏览器中自动刷新数据保存上一个视图关于和信息页面v0.0.4新的季后赛出生规则按分组分组切换正确计算玩过的游戏在季节中自动执行静态数据更新v0.0.5季后赛预测百分比v0.0.6季后赛内容将表情符号添加到团队行在全视图中显示完整的团队名称
2025/4/23 4:18:35 61KB Dart
1
项目名称:基于Spark的PSO并行计算编程语言:scala项目内容:将粒子群算法pso实现的了并行,并成功集成了bencmark的测试函数,可以利用该标准的测试函数,来验证算法的性能.测试结果:在benchmark的20个测试函数当中有9个超过decc-g的测试结果注意:本算法会因机器的性能,函数的特性不同执行的效率也不一样,本程序还有很大的改进空间,希望大家可以继续完善.
2025/4/23 0:25:47 149KB PSO spark
1
南开大学数字图像处理方面的精品研究!!!附有长达几十页的文档和调试通过的完整程序。
执行exe程序后,自动打开摄像头,手拿目标物体在视野中经过,便可跟踪并识别,借此控制鼠标在屏幕上的移动,达到用手指悬空玩电脑游戏的目的。
作者呕心沥血完成该设计,毕设论文水平。
技术方面,使用了camshift技术进行运动物体的跟踪与识别,使得跟踪非常流畅。
实现方面,基于VC6.0+MFC,使用了OpenCV库。
2025/4/22 22:39:38 1.98MB 运动物体 跟踪 识别 camshift
1
该网速检测器基于python编写,拥有半透明的椭圆形界面。
是电脑可执行文件哦。
2025/4/21 21:37:11 11.24MB tkinter
1
webcrack是一款路由器密码暴力破解器,当有些时候你把路由器密码忘掉了,又不想重新设置就可以用这款软件来破解路由器密码。
webcrack使用说明:第一步:打开IE浏览器访问路由器的管理地址,出现管理帐户及密码登录界面。
第二步:打开我们下载的路由器密码破解(WebCrack)4.0.0.72中文免费版,运行该程序,这时会弹出软件主界面。
第三步:在软件主界面中有一个COMMAND1的按钮,我们点该按钮。
第四步:最后我们再次把鼠标点到管理界面用户名和密码登录处,这里我们可以假定用户名已经知道,毕竟不是admin就是root,而有的设备根本不需要用户名,然后把光标放到密码输入对话框中即可。
第五步:接下来我们的小工具就开始了暴力破解数字密码的工作,登录界面提示密码错误也不用担心,软件会自动确认并尝试下一个数字。
每次尝试都是之前的数字加1,所有暴力破解操作直到密码成功破解顺利登录为止,我们进入到管理界面后再执行密码修改或配置备份工作即可。
2025/4/21 21:13:48 743KB Webcrack 字典 暴力破解
1
代码简介:本代码使用纯C实现语音的合成(女声,话质可以),可以在windwos和linux下直接使用。
编译生成可执行程序(修改初始文本位置、生成位置即可)
2025/4/21 12:15:21 6KB 语音合成 C C++
1
用VHDL语言写的DS18B20的温度读写程序,可执行
2025/4/20 22:29:09 707KB DS18B20 温度读写
1
介绍了各种典型的数据结构,以及递归、查找和排序的方法很好的学习资料===========================================》【第1章】绪论数据结构的基本概念抽象数据类型和软件构造方法算法和算法的时间复杂度【第2章】线性表线性表抽象数据类型顺序表单链表循环单链表循环双向链表静态链表设计举例【第3章】堆栈和队列堆栈堆栈应用队列队列应用优先级队列【第4章】串串的基本概念和C语言的串函数串的存储结构动态数组实现的顺序串串的模式匹配算法——BF算法【第5章】数组数组的基本概念动态数组特殊矩阵稀疏矩阵【第6章】递归算法递归的概念递归算法的执行过程递归算法的设计方法递归过程和运行时栈递归算法的效率分析设计举例【第7章】广义表广义表的概念广义表的存储结构广义表的操作实现【第8章】树和二叉树树二叉树二叉树设计二叉树遍历线索二叉树哈夫曼树等价问题树与二叉树的转换树的遍历【第9章】图图的基本概念图的存储结构图的实现图的遍历最小生成树最短路径拓扑排序关键路径【第10章】排序图的基本概念图的存储结构图的实现图的遍历最小生成树最短路径拓扑排序关键路径【第11章】查找查找的基本概念静态查找表动态查找表哈希表
2025/4/20 13:34:08 2.2MB 数据结构 C语言 4版 朱战立
1
互斥缓存-Python一个小型实用程序库,用于基于缓存键动态创建互斥体。
用例假设您正在实现一个graphql服务器,其对象字段彼此独立地异步解析。
多个字段执行相同的操作,因此应使用互斥锁和一些基本缓存来确保数据库查询最多发生一次。
如果您有这些对象的数组,则它们突然都使用相同的互斥量,这可能会降低性能。
动态创建多个短期的互斥对象,而不是使用一个互斥对象来全部统治它们,每个对象可以独立于其他解析对象使用。
通过为互斥锁使用与用于缓存检查相同的缓存键,几乎可以透明地使用动态创建的互斥锁,而不必担心互斥锁的性能或分配/取消分配。
使用互斥锁,如果已经存储了与缓存键关联的互斥锁,则将其返回。
否则,将以静默方式创建新的互斥锁,将其存储以备将来使用并返回。
安装pip3installmutexcache用法MutexCache.get()返回threading.Lock对
2025/4/19 19:37:03 8KB Python
1
共 1000 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡