数据结构实习报告精要.docxVIP

  • 2
  • 0
  • 约 7页
  • 2017-04-23 发布于湖北
  • 举报
数据结构实习报告精要

1.实习一 1.1实习要求 设计综合测评工具,用户输入学生课程及成绩信息,自定义综合测评公式,程序输出测评排序结果。 用户输入信息:学生信息表、课程信息表、课程成绩单 学生信息表:学号、班级、姓名 课程信息表:名称、学分、编码 课程成绩单:学号、成绩(每门课一份) 程序输出信息:测评结果(学号、姓名、综合测评排名) 1.2实现过程 设计两个类,分别为课程类和学生类。课程类包括课程编码、课程名称以及学分,学生信息类包括学生姓名、学号、班级、所选课程、每门课程的成绩以及综测成绩。链表结点的数据域为学生信息。从学生信息表、课程信息表、课程成绩单等5个文件中读取信息,对学生数组进行初始化。根据初始化信息计算综测成绩,并将结果赋予学生类中综测成绩变量。根据综测成绩的高低对学生进行排序,并输出。 1.3出现的问题及解决方案 个人认为本次实习最大的困难就是不知道怎么合理的设计类以及怎么从文件中读取数据。当我把老师给的5个文件中的数据都输入到excel表格中后,意识到究竟该设计几个类,以及每个类都有哪些信息。文件读取的解决方法是,首先读入学生的学号、班级、姓名这三个信息,再读入课程信息,最后读入每门课程的成绩。只要解决了这两个问题,整个实习要求就完成的差不多了。与实习二实习三相比,实习一是这三次实习中最简单的一个。 1.4亮点 如何在学生学号班级姓名已读入的情况下读取每门功课的成绩 1.5运行结果 2.实习二 2.1实习要求 在实习一综合测评工具基础上,允许用户输入综合测评公式。 用户输入信息:除实习一的输入外,新增综合测评公式 测评公式:课程编码、加权系数、运算符 程序输出信息:综合测评公式、测评结果(学号、姓名、综合测评排名) 2.2实现过程 在实习一的基础上,新增顺序栈及计算器类。 在这个程序中,为了方便,我用A、B、C分别表示某学生数据结构的成绩、遥感原理与应用的成绩以及自然地理的成绩,a、b、c表示该门课相对应的学分。输入中缀表达式,并以井号键结束。顺序栈将中缀表达式表示的综合测评公式转化为后缀表示,计算器类用来计算后缀表达式的值。 扫描中缀表达式、将它转化为后缀表达式的算法描述如下: ①操作符栈初始化,将结束符#进栈。然后读入中缀表达式字符流的首字符ch。 ②重复执行以下步骤,直到ch==‘#’,同时栈顶的操作符也是‘#’,停止循环 a.若ch是操作数直接输出,读入下一个字符ch。 b.若ch是操作符,判断ch的优先级icp和当前位于栈顶的操作符op的优先级isp: ·若icp(ch)isp(op),令ch进栈,读入下一个字符ch。 ·若icp(ch)isp(op),退栈并输出 ·若icp(ch)==isp(op),退栈但不输出,若输出的是‘(’号读入下一字符ch ③算法结束,输出序列即为所需的后缀表达式。 利用后缀表示求解表达式的值,从左向右顺序地扫描表达式,然后根据他的类型作出如下相应的操作:如果该项是操作数,即找到该学生这一门的成绩或者这门课程的学分,将其压入栈中;如果该项是操作符op,则连续从栈中退出两个操作数X和Y,形成运算指令XopY,并将计算结果重新压入栈中。当表达式的所有项都扫描并处理完后,栈顶存放的就是最后的计算结果。讲计算结果赋予学生类的score变量中。 2.3出现的问题及解决方案 首先,测试中缀转后缀的功能时,我参考课本100页的代码,发现无论如何表达式中最后一个操作符不能输出,仔细看后发现是书上的代码出了问题,读到#后while循环不再执行,直接退出。修改后功能正常。 其次,一开始我的设想是在输入测评公式并转换为后缀表达式后,直接计算表达式的值。后来在自己写代码时发现操作起来有些困难。只好改成输入测评公式并转换为后缀表达式显示,然后手动输入后缀表达式计算。 2.4亮点 输入中缀测评公式的表达式并计算每个学生的综测成绩 2.5运行结果 3.实习三 3.1实习要求 统计文章中不同单词出现的频率,使用哈夫曼树建立编码结构,生成编码信息,将英文文章以密码形式输出。 用户输入信息:文章.txt 程序输出信息:密码形式文章、密码本 3.2实现过程 首先从文件中读入数据,文章按行存入vector容器中,然后统计每个单词出现的频率,用map容器将单词和频率关联。用Huffman算法构造一棵Huffman树,Huffman树用三叉链表表示,结点权值排序过程用堆排序实现。从叶节点开始向上回溯,输出该叶节点的Huffman编码,并存入密码本文件中。再次打开文章txt,根据密码本文件中的解译结果,对文章进行编码,最后输出之。 3.3出现的问题及解决方案 第一次看到这个题目我是拒绝的,感觉太困难了。第一个难点是如何统计文章中单词的频率,因为一篇文章中不只有

文档评论(0)

1亿VIP精品文档

相关文档