《数据结构与算法》实验大纲
一、实验目的
通过该课程的实验练习,使学生能够进一步掌握各种数据结构以及建立在此基础上的算
法的基本知识;进一步理解各种基本数据结构的特点;进一步掌握数据结构与算法的关系;
培养学生设计有效的算法及设计数据结构的能力。
解决或者答疑同学们在理论课程学习过程中所遇到的问题。
二、实验内容
实验 0:C 语言中函数定义与调用、 指针和类型的定义
与使用、结构的定义、动态内存的申请等预备知识
(1) 实验目的:回顾复习 C 语言的重点与难点,熟悉 C 程序调试环境,掌握一个完整程
序的构成,为以后的实验打下基础。
(2) 实验要求:熟练掌握 C 语言及其上机调试环境(如 TC2.0 或 VC6.0)的操作使用。
(3) 实验内容:根据学生基础,选择若干编程题(如 C 语言中函数定义与调用、 指针
和类型的定义与使用、结构的定义、动态内存的申请等),进行编译、连接和运行调
试。掌握动态跟踪调试方法。
(4) 实验指导:可以选择简单的问题编程,不要求算法的难度,但要能使用相关C 语言
成分。把注意力集中在编译和连接错误的修改,运行数据的输入输出和结果分析上。
实验 1:线性表的顺序表示与链式表示的插入与删除
1. A 实验: 算法调试
(1) 实验目的:加深理解线性表的顺序表示与链式表示的意义和区别,理解用它们表
示时插入与删除操作的算法。
(2) 实验要求:理解 InitList_Sq、ListInsert_Sq、ListDelete_Sq 和 InitList_L、
ListInsert_L、ListDelete_L 等算法。
(3) 实验内容:设计一组输入数据并编写主程序分别调用上述算法(顺序表示的算法
为 InitList_Sq、 ListInsert_Sq、 ListDelete_Sq 等 , 链 式 表 示 的 算 法 为
InitList_L、ListInsert_L、ListDelete_L 等),调试程序并对相应的输出作出
分析;修改输入数据,预期输出并验证输出的结果,加深对有关算法的理解。
(4) 实验指导:顺序表示和链式表示可以分成两个程序来调试(见示例程序1和2)。
教材中的算法一般要作少许修改才能运行,这些修改包括:
1、算法函数中局部变量的定义,如 ListInsert_Sq 中的 i,newbase,p,q 等;
2、可能出现的“类”C 语言的语句,必须改为 C 语言语句,如数据交换语句 x >y;
3、如果采用 TC 作为 C 语言调试环境,算法函数的“引用”类型参数要改为指
针类型参数并修改程序中的使用方法,如ListInsert_Sq 中的参数&L 要改为
*L。程序中使用 L 方法的修改见示例程序1。
一个简单程序通常主要由三部分构成:
评论0
最新资源