- 博客(8)
- 收藏
- 关注
原创 OO第四单元——UML图总结&课程总结
第一单元解析表达式。我认为第一次结构还算清晰,尤其是Parser,Lexer分工明确,Expr,Term和Var为运算单元,配合较好。算法主要是借鉴了公众号推送的递归下降算法,将Expr分拆为若干Term,再将Term分拆为若干Var,运算后层层递归回去,使得解析表达式实现起来十分容易。但是在后期迭代的部分没有想明白就开写了,使得后续迭代复杂度越来越高。尤其是在新增求导时新建一个类,专门求导,而不是将这个功能放到每个类里,是一次功能齐全但面向对象思想很差的迭代。
2023-06-18 23:29:10 2333
原创 OO第三单元——无向图总结
本单元以无向图算法、JML规格和测试为重点,依据给定的接口,实现具体的类。需要按照给定的规格实现具体的功能。其中无向图部分是本单元难点,实现起来不难,但是想要性能更优,运算时间小于15秒实在是需要很多硬核的算法知识!
2023-05-19 18:31:37 2060
原创 OO第二单元——多线程总结
本章的任务是建立一个多线程的电梯系统,在保证电梯各自正确运行的基础上,也要尽量使电梯的运行时间和运行的楼层数更少。多线程是程序的一个设计方法。它可以开启多个不同的线程,使程序”同时“处理多个任务。相比于单线程,它使得程序运行效率大幅提高,在操作系统、网页等众多场合都有着广泛应用。问题在于,多线程引入了”线程不安全“这个隐患。以往的单线程程序,只有一个进程改变变量的值。无论何时一个语句调用变量的值,这条语句以上的程序已经修改好了变量,所以语句得到的必然是正确的值;
2023-04-14 22:18:05 366
原创 函数调用关系——数据结构栈类型题
栈是数据结构当中最为简单易懂又实用的数据结构,凭借着“后入后出"的特点实现许多功能。今天的题目用来模拟函数调用关系,还是有一定难度的,正好能够巩固对堆栈的认识。
2022-06-05 22:23:41 862 2
原创 网络打印机选择——数据结构树练习题
大家好,学过树之后,大家一定对树的操作十分熟练了吧!今天就来分享一道树的练习题,相信大家一定会对树的构造、遍历等等操作有一个更熟练的掌握程度。
2022-06-03 13:17:41 446
原创 BUAA数据结构作业——基于Huffman码的文件解压工具
上一篇文章我们进行文章的Huffman码的文件压缩。那么根据Huffman码的原理,我们自然也能写出一段解压缩的代码,功能特别实用!
2022-05-26 20:08:22 699
原创 BUAA数据结构作业——基于Huffman码的文件压缩工具
今天给大家分享一道Huffman码的实战应用题。Huffman码来源于Huffman树,假设二叉树有m个叶结点,给每个叶结点分别赋予一个权值,可以求出他的路径长度,那么最小带权路径长度的二叉树就是著名的Huffman树了。Huffman码有很多具体的生成方法,我们就来看一看这道题,实际操作一下。
2022-05-26 15:34:00 1290 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人