关于中南大学数据结构/C++课设题目的一点思考(一·简单题)

前言

这些分析都只是我个人的思考,不保证这些思路一定是相对方便的思路,同时也不保证这样实现是不是有纰漏。如果有问题,欢迎带上你的结果和思考我们一起讨论,拒绝伸手!
另外我这个人有个破毛病,就是忘得快,所以之前刚开始写代码时候的挣扎、疑惑都已经忘了,所以有很多没注意到的点是很正常的,欢迎指点建议。

分析

这个部分的题目比较简单,多半没什么算法或者只有一点简单的算法。当然简单与否这是相对而言的,要相对上学期的期末考来说,这里面的题没有一个不麻烦的;但是相对其他的课设题目和其他的问题来说,这个还是简单的。不过虽然这样说,这些题目还是有这几个问题需要处理:

一.目标不清晰

部分题目并没有给出精确的要求,所以程序要多好,给分高不高,这个看自己要求和老师的看法了。

二.麻烦

从代码量来说,这部分的代码有可能是课设里面最多的,但是从技术角度来说难度又不大。这样的写代码过程就我个人而言并不舒服。不过之前没写什么代码的同学就可以通过这个感受一下程序员的工作日常、做稍微大一点的项目的感觉。

技巧

首先开watch窗口,写printf、cout自然不用说,其次对于需要不断使用一堆重复的复杂数据的时候,可以将其写入txt文件里面,然后采用freopen(“in.txt”, “r”, stdin ) 将输入流重定义一蛤,之后再开程序就不用你手动操作了,还不是美滋滋。(看不懂这句话的问问度娘freopen的用法吧)。

闲话说了一堆,那么正式开始。

正文

1.运动会分数统计

n个学校,然后还带校名,学校有自己的学生。
我想到这么几种实现的方法:
1,用广义表
2,用树形结构,学校一组,项目一组(只用学校一组遍历是很慢的过程;不过考虑到计算机在正常情况1s能做108左右次计算,正常人手打的数据应该是没问题的啦)

这些思路里可能用到的库模板:pair
当然习惯C的你也可以直接struct/class解决

2.集合的并、交和差运算的程序

这个感觉没什么好分析的
1,用bool数组标记,然后直接用逻辑运算与、或、非就好了
2,数组、vector
3,直接用STL-set,当然你想写一个更好

3.长整数的家减法运算

基本要求中的(3)已经是很明显的暗示了,就是让你搞个数组,每个数组的元素放四位,然后整个数组表示一个完整的数。
直接写吧。
结果是正数那就只需要记得+1(s)就好,值得注意的是当结果为负数的时候怎么处理

4.一元多项式计算器

这个题比第三题简单,就是题目意思。

6.文章编辑

感觉题目说的已经够详细了。

11.内部排序算法的比较

我就很气为什么我没选到这个题目,我有一堆关于排序的宝贝啊!!!
就是排序+算法分析

15.简单目录管理系统的设计与实现

题目也说得很清楚,就是考你树形结构

17.迷宫求解

DFS基础题,看看DFS然后写吧,注意这个不能用递归,所以别照搬PPT里的代码

18.家谱管理系统的设计与实现

同15

19.语言中平衡符号的问题

数组、栈都可以,选一个吧,或者都写加分

20.算术表达式求解

用栈、atoi/atof都可以

25.马踏棋盘

同17,不过比17稍微高一根裤腰带的高度。

27.最小生成树问题

最小生成树(minimum spanning tree,MST),自己看PPT吧,因为边稠密所以推荐Prim算法,而且更好些

29.约瑟夫环

单循环链表嘛,就是正常单链表的尾巴指向头部就好了,看看群里老师发的猴子找大王就好

31.HTML文档标记匹配算法

类似19但是需要做点优化,不管你用pair还是其他的实现手法,自己取舍

32.背包问题的求解

这根本不是背包!!!
好像这个题除了穷举也没什么好的方法了,如果想到了再更新

你可能感兴趣的:(啦啦啦)