绪论
1.程序设计的实质:好的数据结构+好的算法
2.数据结构目标:研究非数值计算程序设计的操作对象及这些操作对象之间的关系和操作。
数据结构:带“结构”的数据元素的集合。(“结构”:数据元素之间的关系)
数据、数据元素、数据项、数据对象
数据结构:逻辑结构、存储结构
逻辑结构(数据元素和关系):(集合结构)、线性结构、树结构、图结构
存储结构:顺序存储结构、链式存储结构
3.算法:为解决某些问题而规定的有限长操作序列
评价算法优劣的标准:a.正确性 b.可读性 c.健壮性(输入非法数据时的处理)d.高效性(时间复杂度、空间复杂度) (注:影响算法时间代价的最主要因素是问题规模----将问题规模考虑 为充分大----大O计数法(求极限))
仅对于写报告来说
实验报告的基本要求为:
1. 需求分析:陈述程序设计的任务,强调程序要做什么,明确规定:①输入的形式和输入值的范围;②输出的形式;③程序所能达到的功能;④测试数据:包括正确的输入输出结果和错误的输入及其输出结果。
测试数据用来测试算法的健壮性,不可少,再设计算法时一定要考虑
2. 概要设计: 说明用到的数据结构定义、主程序的流程及各程序模块之间的调用关系。
3. 详细设计:提交带注释的源程序或者用伪代码写出每个操作所涉及的算法。
算法是自己对自己程序用有限长的操作序列的概括
4. 调试分析:①调试过程中所遇到的问题及解决方法;②算法的时空分析;③经验与体会。
5. 用户使用说明:说明如何使用你的程序,详细列出每一步操作步骤。
6. 测试结果:列出对于给定的输入所产生的输出结果。若可能,测试随输入规模的增长所用算法的实际运行时间的变化。