计算机考研
文章平均质量分 69
柒-寒
悟已往之不谏,觉今是而昨非。实迷途其未远,知来者之可追。
展开
-
考研真题数据结构
此算法需要遍历所有顶点和边,并且使用优先队列来选择当前最短距离的顶点,所以主要时间消耗在队列的操作上。算法的基本思想是从源点开始,逐步扩展周围的顶点,通过比较选择最短路径来更新当前顶点到其他顶点的距离。- 如果通过顶点u到达顶点v的路径长度更短,更新顶点v的最短距离为新的路径长度。3. 创建一个优先队列(优先级队列),将源点加入队列,并将源点的最短距离设为0。5. 当队列为空时,dist数组中存储的就是源点到所有顶点的最短距离。2. 将源点的最短距离初始化为0,其他顶点的最短距离初始化为无穷大。原创 2023-12-15 17:16:17 · 496 阅读 · 0 评论 -
考研真题c语言
在上述代码中,我们通过遍历学生数组,比较每个学生的三门课的最高分数,找到最高分数并记录其对应的学号。最后,我们输出最高分数对应的学号和成绩。3. 在 `main` 函数中创建一个包含10个学生的数组,并调用 `findMaxScore` 函数来找到最高分数的学号和成绩。【2016年山西大学考研真题】输入10个学生三门课的成绩,用函数实现:找出最高的分数所对应的学号和成绩。2. 编写一个函数 `findMaxScore`,该函数通过遍历学生数组来找到最高分数对应的学号和成绩。// 填写剩余学生的信息。原创 2023-12-13 17:22:07 · 682 阅读 · 1 评论 -
考研真题数据结构
然后,我们通过遍历链表A、B和C,使用插入和删除操作来实现集合操作 A = (B-C) ∪ A。(3)我们的算法需要对链表A、B和C进行遍历,时间复杂度为 O(n),其中 n 是链表的长度。2. 对于链表A中的每个节点,判断是否在链表B中出现,并且不在链表C中出现。- 如果节点在B中出现且不在C中出现,将该节点从链表A中删除。3. 将链表B中的节点插入到链表A中,并保持链表A的递增有序性。// 实现集合操作 A = (B-C) ∪ A。// 将B中剩余的节点插入到A中。// 删除链表A中的节点。原创 2023-12-11 20:45:27 · 529 阅读 · 0 评论 -
考研真题数据结构
在上述代码中,我们首先定义了一个 `Node` 结构体来表示邻接表中的节点,以及一个 `Graph` 结构体来表示图。然后,我们实现了创建图、添加边和统计图中所有顶点度的函数。(3)算法的时间复杂度是 O(V+E),其中 V 是顶点数,E 是边数。【2021山西大学考研真题】设计一个算法,统计一个采用邻接表存储的具有n个顶点的无向无权图。2. 对于每个顶点,遍历其邻接表,统计其邻接点的个数即为该顶点的度。// 添加从dest到src的边(无向图)1. 遍历图中的所有顶点,统计每个顶点的度。原创 2023-12-10 19:09:42 · 455 阅读 · 0 评论 -
考研真题数据结构
然后,我们使用插入排序的思想对链表中的奇数位序子链表和偶数位序子链表分别进行排序。最后,我们使用合并两个有序链表的方法将两个排序好的子链表合并为一个有序链表。2. 遍历链表,找到链表的中间节点,并将链表划分为两个子链表,一个子链表包含奇数位序的节点,另一个子链表包含偶数位序的节点。(3)我们的算法需要对链表进行遍历和插入操作,时间复杂度为 O(n^2),其中 n 是链表的长度。O(1)且时间上尽可能高效的算法,将链表中的元素按从小到大的顺序排序。// 找到当前节点在排好序的子链表中的位置,插入该位置。原创 2023-12-09 17:24:09 · 815 阅读 · 0 评论 -
考研真题数据结构
然后,我们编写了一个递归函数 `mirrorBinaryTree`,用于实现二叉树节点交换的操作。通过递归调用,我们可以将二叉树中所有非叶节点的左右子树交换位置,并得到镜像二叉树。在 `main` 函数中,我们创建了一个测试用例,并分别输出原二叉树和镜像二叉树的结果。(1)设计一个算法,将二叉树中所有非叶节点的左右子树交换位置,从而得到原二叉树的镜像二叉树。(3)算法的时间复杂度是 O(n),其中 n 是二叉树中的节点数。算法的空间复杂度是 O(h),其中 h 是二叉树的高度。(1)给出算法的基本思想;原创 2023-12-08 20:35:33 · 703 阅读 · 0 评论 -
考研真题数据结构
(3)在上述代码中,我们首先创建了一个 `appeared` 数组来记录出现过的绝对值。在处理每个节点时,我们根据节点数据的绝对值在 `appeared` 数组中的值来判断节点是否重复出现,并进行删除操作。- 如果该节点的数据绝对值在 `appeared` 数组中对应的位置上为0,则将该位置的元素设置为1,表示该绝对值已经出现过。(4)算法的时间复杂度为 O(n),其中 n 是链表中的节点个数。- 如果该节点的数据绝对值在 `appeared` 数组中对应的位置上不为0,则将这个节点从链表中删除。原创 2023-12-07 21:11:36 · 684 阅读 · 0 评论 -
考研真题数据结构
(2)在上述代码中,我们首先判断根节点是否为空,如果为空,则返回一个足够小的值(这里使用INT_MIN)。最后,比较根节点的关键字值和左、右子树的最大关键字值,返回最大值。基本思想是比较根节点的关键字值和左子树、右子树的最大关键字值,然后返回最大值。(3)算法的时间复杂度是 O(n),其中 n 是二叉树的节点数量。因此,该算法的时间复杂度是线性的,与二叉树的规模成正比。【2020年山西大学真题】二叉树存储形式为(lchild,data,rchild),给出求二叉树的最大关键字。(1)给出算法的基本思想;原创 2023-12-06 22:07:17 · 292 阅读 · 0 评论 -
考研数据结构基础试卷练习
1.设某数据结构的二元组形式表示为A=(D,R),D={01,02,03,04,05,06,07,08,09},R={r},r={,,,,,,,},则数据结构A是( )。3.设有向图G的二元组形式表示为G =(D,R),D={1,2,3,4,5},R={r},r={,,,,,},则给出该图的一种拓扑排序序列__________。原创 2023-12-02 19:16:04 · 538 阅读 · 3 评论 -
C语言考研模拟卷
(3)(5分)写出主函数,在主函数中定义二个10个元素的整型数组a、b,从键盘任意输入10个数存到a中,通过调用(1)中的函数求出a数组中的所有素数,存放到数组b中,然后通过调用(2)中的函数来对b数组中的元素进行排序。3、已知数组a中有7个互不相等的元素,数组b中有 5 个互不相等的元素,而数组c中包含那些在a中但不在b中的元素,编程产生数组c,并输出数组c。例如原来的顺序为:8,6,5,4,1, 要求改为:1,4,5,6,8。5、若w=5,x=2,y=3,z=4,则条件表达式w原创 2023-12-01 17:28:06 · 201 阅读 · 3 评论 -
考研数据结构重要知识点
是:首先访问图中某一起始顶点v,然后由v出发,访问与v邻接但未被访问的顶点w1,再访问与W1邻接但未被访问的顶点w2.....重复上述过程,当不能再向下访问时,依次退回到最近被访问的结点,若他还有顶点未被访问过,则从该点开始继续上述的搜索过程,直至图中所有顶点都被访问过为止。:此算法是双层循环,外层循环控制次数,一共要归并n个顶点,因此要循环n-1次,内层并列两个循环,每个循环负责遍历一个数组,其时间复杂度为o(n),因此此算法的时间复杂度为O(n2),时间复杂度只与顶点有关,与边无关,适用于稠密图。原创 2023-12-01 17:19:29 · 251 阅读 · 1 评论 -
考研数据结构易错选择题
【解析】:3个结点的二叉树有5种形态:两层树:根左右;三层树: 根左(第二层)左(第三层)、根左(第二层)右(第三层)、根右(第二层)左(第三层)、根右(第二层)右(第三层)。原创 2023-12-03 15:04:00 · 1405 阅读 · 0 评论 -
易错C语言选择题
则以下符合C语言语法的表达式是答案:A【解析】:A项是赋值表达式和算术表达式的结合,符合C语言语法;B项中,’%’是模运算符,要求运算符两侧均为整数,x为double,显然错误;C项是赋值表达式,要求赋值运算符的左侧是变量,3=2部分显然错误;D项,强制类型转换运算符使用错误,应为y=(float)iA. define宏是在预处理阶段展开。const常量是编译运行阶段使用B. 宏没有类型,不做任何类型检查,仅仅是展开。const常量有具体的类型,在编译阶段会执行类型检查。原创 2023-12-02 17:18:31 · 683 阅读 · 0 评论