22下半年下午题

声明:哔哩哔哩视频笔记

源地址

第一大题题目

第一大题解答

第一小问

22下半年下午题_第1张图片
根据0层数据流图来找,看数据流向和相应的处理模块匹配。并且这个第一问,肯定是能在说明中找到对应短语作为答案的。

第二小问

搞清楚具体存储数据的信息名字,可以在后面加上 一个 字, 就可以作为答案了。

22下半年下午题_第2张图片

第三小问

数据流知识:
22下半年下午题_第3张图片

  1. 数据流的起点和终点必须有一个是加工,至少有一个是加工。
  2. 上下两个图要平衡,上下文数据流图系统交互具有的数据流,0层数据流图也要有对应的数据流。
  3. 每一个加工至少有一个输出数据流和输入数据流
  4. 数据守恒,说明和数据流图的描述一致,不会凭空出现和消失。
  5. 这一步需要细细的分析才行

22下半年下午题_第4张图片

第四小问

这个题目跟着自己的感觉走

22下半年下午题_第5张图片

第二大题题目

22下半年下午题_第6张图片

第二大题解答

第一小问

像这个样子的实体是一个子实体,就是某个一般实体的特殊实体。

子实体
先在试卷上画一下结果,确认好再画到答题卡上。

22下半年下午题_第7张图片

22下半年下午题_第8张图片

第二小问

22下半年下午题_第9张图片

第三小问

这一问不要想太多,切合题目结合实际,按着感觉走。

22下半年下午题_第10张图片

第三大题,分值分别是4,8,3,题目

第一小问

用例一般是动词加上名词

22下半年下午题_第11张图片

第二小问,一分一个类名

22下半年下午题_第12张图片

第三小问

设计模式选对1.5分,解释原因1.5分

策略设计模式

22下半年下午题_第13张图片


22下半年下午题_第14张图片


22下半年下午题_第15张图片

第四大题题目

22下半年下午题_第16张图片
22下半年下午题_第17张图片

大顶堆

大顶堆(Max Heap)是一种特殊的二叉堆(Binary Heap),它是一种用于实现优先队列的数据结构。大顶堆具有以下特性:

  1. 堆属性:在一个大顶堆中,对于每个父节点P,P的值大于或等于其子节点的值。这意味着堆的根节点始终包含最大的元素。

  2. 结构属性:大顶堆通常是一棵完全二叉树,这意味着除了最底层,其他层的节点都是满的,而在最底层,节点从左到右填充,不留空。

大顶堆通常用于实现一些算法和数据结构,如堆排序、Dijkstra算法、Prim算法等,这些算法需要在运行时高效地找到最大值或进行优先级处理。在大顶堆中,最大的元素总是位于根节点,因此可以快速找到并移除最大元素。

大顶堆可以通过插入和删除操作来维护其属性,确保堆的结构属性和堆属性一直得到满足。在插入元素时,通常会将新元素添加到堆的底部,然后逐级向上调整,以确保堆属性保持不变。在删除元素时,通常会删除根节点,并将堆的底部元素移到根的位置,然后逐级向下调整以保持堆属性。

小顶堆(Min Heap)与大顶堆相反,其中每个父节点的值都小于或等于其子节点的值。它们在解决不同类型的问题时都有广泛的应用。

第一小问,堆排序给我整懵逼了,算法有点难搞

22下半年下午题_第18张图片

第二小问

堆排序的时间复杂度

22下半年下午题_第19张图片

22下半年下午题_第20张图片

22下半年下午题_第21张图片
22下半年下午题_第22张图片

第三小问

两种作答形式皆可,但是推荐第一种画图。
22下半年下午题_第23张图片
将第一个元素脱离,再调整成大顶堆后的数组为:

22下半年下午题_第24张图片
但是这里,第一个元素只是逻辑上脱离,但是物理上仍然存储在数组之中,这里还是要将第一个元素写上。

22下半年下午题_第25张图片
这一题可以在编译器运行代码测试一下。

第五大题题目,选做,需要填涂,默认小题号

22下半年下午题_第26张图片

22下半年下午题_第27张图片

第一小问

  1. 接口中的空找实现这个接口的类,寻找具体的方法。
  2. 相应的修饰符和参数写清楚写对,一般 修饰符最好不要省略。
  3. 构造方法按照方法的参数来传参。

22下半年下午题_第28张图片

对于冗余的修饰符,只要不会使程序报错,一般会给分,但是既然是冗余的,不写当然也可以。
22下半年下午题_第29张图片

第六大题

因为我主要学习的是Java,这里就是题目和答案

22下半年下午题_第30张图片
22下半年下午题_第31张图片

解答

22下半年下午题_第32张图片

你可能感兴趣的:(java,软件工程)