ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

数据结构2021下半年期末考总结分析

2021-12-26 11:00:40  阅读:106  来源: 互联网

标签:期末考 数据结构 题目 结点 算法 查找 2021 排序 二叉树


引言

在我还记得的时候写一下吧,之前也有学长写过,他们写得挺好的,我也是参照他们的思路来大致写一下吧,希望能够给后来人带来帮助。


1.上机前复习

  1. 考前复习的话,你要想拿高分肯定是所有老师给的OJ平台上都要做的,不能说很熟练吧,但至少你得做过,有过这么一个思路吧,不然考试你哪里够时间做
  2. 其次重点的话就是书上既有讲,老师也在OJ上布置了,这些题目一定要着重注意,例如说前面的线性表,队列和栈至少得会用吧,单链表的构建和插入删除等操作也需要熟悉 
  3. 如果是树的话什么二叉树的构建肯定要掌握的了,还要熟悉二叉树的各种特性,会求某个结点深度啊,两点之间的路径,找出叶子节点什么的
  4. 关于图就比较难了,笔者也只能说是半桶水,邻接表的构建似乎比较少见,平时的关于图应用的例题里基本上也都是用邻接矩阵来出题,所以感觉侧重点不在那,能够做到会构建邻接表就可以了我觉得(出现我觉得的时候就不太可信了)
  5. 图到后面的各种算法比较复杂,相比于前面的难度不是一个量级的,因此要是想拿高分的话至少需要了解过大概算法的思路吧,像prim算法,迪杰斯特拉算法,拓扑排序等等,但是这个基本都是压轴题了,关于题目类型我后面再说
  6. 查找表的话有难的部分也有不难的部分,像什么折半查找,插值查找,这些写一两次了解以下就好了,比较难的话有二叉排序树吧,但是其实和二叉树是比较类似的,树的基础比较好也不难理解,平衡二叉树就稍微复杂一点,这个有必要也是可以掌握的,当然这些应该都属于压轴题范畴了
  7. 哈希查找,线性探测再散列,二次探测再散列等等,查找往难了考也是可能会出这种类型的题,也不算很难。
  8. 最后就是我们亲爱的排序算法啦,要是有时间就全部排序都看一遍吧,我感觉比较难记住的主要就是归并排序,其他都没有那么的可怕,代码量也不多,多敲几次就可以记住了

以上全凭本学期个人累积的经验,本人非科班,因此有不足之处还请谅解,肯定也有写得比我好的经验贴,本人就是随手记录一下


2.考前注意

考试时不能打开任何除oj平台,编程软件之外的页面,考试开始前也不可以在编程工具上写代码,老师都会有提醒的

考试时长时两个小时,自己把握着时间,肯定先做简单题,简单题占分也高,我们今年的考试是使用华为云桌面来操作,再在云桌面上用chrome登录考试网址,考试网址是和OJ类似的平台,做题规则也是一样,只看提交结果是否正确(应该吧)反正我看到的是这样,不知道老师后面会不会再看代码,应该不会,看代码多折磨 

3.考试题型

ok接下来就是我们的重头戏啦,首先说一下大致类型

1,2题一般都是线性表,栈,队列什么比较简单的,反正我今年做的就很简单,这些题基本上大家都能做对

第三四题会和树图 有关,会难一点,

第五题一般是压轴题,无论是思路复杂度上还是代码量上都会比较大,做不出来也没有关系,很多人也做不出来

(今年我们机房(排行榜显示没有一个做出第五题,但是这个排行榜不知道是什么范围的)的人里面也没有一个做出来的)笔者在该排行榜排第七还是第八(做了四题),第一名同样没有做出最后一题

第一题(35分)

疫苗预约(题目背景),主要考察对线性表的插入和删除,这里用链表或者用数组都是可以的

题目大致要求就是给出三个初始数组

然后需要完成对某个数组的插入或删除操作,随便写反正,

能实现要求就行,非常简单,没学过数据结构都能写

第二题(25分)

(取号什么的背景,反正也是和医院有关的) 折半查找,

查找成功则输出查找位置,并且要求输出查找次数

第三题 (15分)

树的拓扑排序,有一说一这题题目我没太看懂,但是实现它的功能是非常简单的

题目要求

大致是要求将一颗二叉树通过拓扑排序转换成有向图,也就是按拓扑顺序输出结点,双亲视为弧尾,孩子结点视为弧头

输入要求

第一行要求先输入结点的个数,例如节点个数为T,然后输入T个结点,题目给出的是字符

第二行输入每个结点对应的双亲位置,-1代表没有双亲

输出要求

按拓扑排序顺序输出结点(若多个结点同时都是没有双亲,则按字典顺序输出)

输入

8 A B C D E F G H

-1 0 4 1 0 1 4 6

输出

A B D E C F G H

(应该是这样)

第三题的话可能有些人一开始看着没看明白什么意思,其实我也没太懂,题目要求说要用到双亲结构来存储,就是要求写二叉树的结构吗?

但其实我感觉根本不用写,直接用结构体数组存储所有结点的字符和双亲位置,从0开始存储就好,然后就按着输入的双亲位置,自己画一颗树出来,推一下很快就知道怎么做了(第三题也并不算难)

第四题 (15分)

希尔排序

本次题目的要求是对一串字符序列进行升序排序(按ABCDEF这样排下去)

只要你掌握了希尔排序,写出这道题只是时间问题,不过这一次它的题目输入是不小心给少了一个数据,害的我做错了一次(就很不严谨啊好吧出题老师)

每年的话基本都会有一道排序题的,所以

第五题 (10分)

求单调最短路径问题

说白了就是迪杰斯特拉算法,基本上就是和Djikstra算法一模一样的要求,

输入输出要求可以直接参考OJ上的最短路径题目,可以说是一模一样了

可以参考我之前写的一篇迪杰斯特拉的算法,输入输出要求基本上是一致的

DS数据结构--求到各顶点的最短路径(迪杰斯特拉算法)_CHessheep的博客-CSDN博客

最后

其实我感觉这次的题目还是算简单了,虽然说第五题我没做出来,不过我也没见到有多少个做出来的(不枉我认真学了一学期呜呜呜)

我看过一个学长写的2020年的关于机考和笔试的题,感觉他们那一年的机考更加难吧(第五题考了什么三叉霍夫曼)二叉霍夫曼我还不会写呢hhh 

今年虽然简单吧,但是迪杰斯特拉我最后还是不够时间敲了加上也不熟练(千万不要学我考前一天还去玩密室)有能力的可以冲下第五题,我们一般人就快点写完前四题就挺好的了

标签:期末考,数据结构,题目,结点,算法,查找,2021,排序,二叉树
来源: https://blog.csdn.net/weixin_52424236/article/details/122150964

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有