- 博客(15)
- 收藏
- 关注
原创 算法导论实验八:图搜索BFS算法及存储优化
数据集,选择合适的存储方式(邻接矩阵或邻接表),进行存储并完成图的广度优先遍历,输出遍历所用时间。:邻接矩阵更适合稠密图(边较多的图),能够直接通过二维数组快速判断两节点是否连接,简化操作逻辑。数据规模较大,初始实现因内存不足或时间过长失败,后优化邻接表的存储和 BFS 的逻辑解决问题。:邻接表更适合稀疏图,因其存储只需为每个节点记录实际连接的节点列表,节省内存。起初对邻接矩阵和邻接表的优缺点理解不深,导致存储方式选择不合理,性能欠佳。数据,选择一种存储方式(邻接矩阵或邻接表)进行存储,并对无向图从节点。
2024-12-14 16:45:05
423
原创 算法导论实验七:最佳调度问题的回溯算法
本实验要求实现一个回溯算法,解决。假设有n个任务,k台机器,每个任务的执行时间已知,任务可以并行执行,目的是找到一种任务调度方案,使得所有任务完成的总时间最短。输出最短完成时间及对应的任务调度方案。
2024-12-14 16:41:58
917
原创 算法导论实验六:Huffman编码问题
编程实现 Huffman 编码算法,对文件中的大小写字母、数字及标点符号进行 Huffman 编码,输出编码后的 01 序列并统计压缩率。:生成table.txt文件,文件内容包括字符、出现频率及对应的 Huffman 编码。控制台打印定长编码和 Huffman 编码的长度及压缩率。:通过文件输入,字符种类及频率会影响 Huffman 树结构和编码长度。Huffman 编码是一种基于字符出现频率的最优前缀编码算法。
2024-12-14 16:40:08
356
原创 算法导论实验五:最长公共子序列(LCS)
本实验实现了最长公共子序列(LCS)问题的解决方案,涵盖了不同的空间复杂度优化策略:O(mn) 的空间复杂度用于存储完整的dp表;O(2 * min(m, n)) 的空间复杂度通过滚动数组优化;O(min(m, n)) 的空间复杂度通过进一步优化为一维数组。这些优化极大地提高了程序的效率和内存使用。通过回溯,我们成功地找到了 LCS 字符串并输出其长度。
2024-12-14 16:38:12
712
原创 算法导论四:区间树上重叠区间的查找算法
本次实验要求对红黑树进行修改,使其成为一颗区间树,并实现区间树上重叠区间的查找算法。具体任务是:实现一个基于红黑树的区间树结构。提供重叠区间查找功能,允许通过控制台输入待查询区间,并返回与之重叠的区间。程序的输入是一个区间集合,来源于insert.txt文件。文件的第一行是区间个数,后续每行包含一个区间。程序的输出是控制台打印查找结果,即与输入查询区间重叠的所有区间。
2024-12-14 16:35:16
470
原创 算法导论实验三:红黑树插入算法
本实验实现了红黑树的插入算法,包含节点的插入、树的自平衡以及不同遍历方式的输出。通过将数据从文件读取到红黑树中,并使用先序、中序和层次遍历将树的结构输出到不同的文件中。
2024-12-14 16:33:22
657
原创 算法导论实验二:平面上 n 个顶点的最近点对问题
本实验旨在实现分治法求解平面上 n 个顶点的最近点对问题。给定一个包含顶点编号及其坐标的文件data.txt,程序将计算并输出距离最近的一对顶点的编号及其距离值。
2024-12-14 16:20:46
452
原创 算法导论实验一:快速排序算法及其优化
优化后的快速排序通过引入三数取中法、插入排序和聚集元素法,使其在性能上有显著提升,特别是在处理大规模数据时优势明显。
2024-12-14 15:53:22
870
原创 在VScode2022中使用Openssl全过程记录
Openssl苦本人久矣,遂决定记录在Visual Studio 2022中调用openssl外部库的流程。
2024-10-17 00:42:00
2937
原创 如何将 C 语言的加密解密代码打包成 JavaScript
将 C 语言的加密解密代码打包成 JavaScript,通常使用 Emscripten 进行转换。以下是将 SM4 加密解密的 C 代码转为 JavaScript 的一般步骤和示例。
2024-10-09 22:12:47
367
原创 Microsoft Edge 浏览器插件开发教程
要为Edge浏览器开发一个SM4插件,你需要遵循WebExtension API的标准。以下是一个简单的SM4加密插件的示例结构,包括基本的HTML、JavaScript和manifest文件。请根据需要扩展功能。
2024-10-09 21:55:53
756
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人