声明:哔哩哔哩视频笔记


根据0层数据流图来找,看数据流向和相应的处理模块匹配。并且这个第一问,肯定是能在说明中找到对应短语作为答案的。
搞清楚具体存储数据的信息名字,可以在后面加上 一个 表 字, 就可以作为答案了。

数据流知识:


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


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

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



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


用例一般是动词加上名词


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





大顶堆(Max Heap)是一种特殊的二叉堆(Binary Heap),它是一种用于实现优先队列的数据结构。大顶堆具有以下特性:
堆属性:在一个大顶堆中,对于每个父节点P,P的值大于或等于其子节点的值。这意味着堆的根节点始终包含最大的元素。
结构属性:大顶堆通常是一棵完全二叉树,这意味着除了最底层,其他层的节点都是满的,而在最底层,节点从左到右填充,不留空。
大顶堆通常用于实现一些算法和数据结构,如堆排序、Dijkstra算法、Prim算法等,这些算法需要在运行时高效地找到最大值或进行优先级处理。在大顶堆中,最大的元素总是位于根节点,因此可以快速找到并移除最大元素。
大顶堆可以通过插入和删除操作来维护其属性,确保堆的结构属性和堆属性一直得到满足。在插入元素时,通常会将新元素添加到堆的底部,然后逐级向上调整,以确保堆属性保持不变。在删除元素时,通常会删除根节点,并将堆的底部元素移到根的位置,然后逐级向下调整以保持堆属性。
小顶堆(Min Heap)与大顶堆相反,其中每个父节点的值都小于或等于其子节点的值。它们在解决不同类型的问题时都有广泛的应用。

堆排序的时间复杂度




两种作答形式皆可,但是推荐第一种画图。

将第一个元素脱离,再调整成大顶堆后的数组为:

但是这里,第一个元素只是逻辑上脱离,但是物理上仍然存储在数组之中,这里还是要将第一个元素写上。

这一题可以在编译器运行代码测试一下。



对于冗余的修饰符,只要不会使程序报错,一般会给分,但是既然是冗余的,不写当然也可以。

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


