资源描述
模块1数据结构概述教学要求:
(1) 了解数据结构的概念,熟悉数据结构的研究内容。
(2)会用逻辑结构描述数据,能够熟练地说出数据的存储结构。
(3)掌握算法的特性和效率,能够对算法进行分析。
(4)熟练掌握数据结构与算法的关系。
教学重点:
数据结构中的一些基本术语、逻辑结构的描述、数据的存储结构、数据类型、算法的描述及 复杂度分析。
教学难点:
数据的存储结构、算法描述和复杂度分析。
课时安排:
本模块安排4课时。其中,理论讲授2课时,上机实验2课时。
教学大纲:
模块1数据结构概述
案例导入
案例分析
相关知识
1.1 什么是数据结构
1.1.1 从数据结构实例认识数据结构
1.1.2 数据结构的研究内容
1.2 逻辑结构的描述
1.3 数据的存储结构
1.4 算法和算法分析
1.4 . 1算法特性
1.4.2 算法的效率
1.4.3 算法效率的评价
1.5 数据结构与算法的关系
案例实施
案例总结
思考与练习主要概念:
1 .数据.数据元素
2 .数据项.数据对象
3 .数据结构.数据的逻辑结构
4 .集合.线性结构
5 .树状结构.图状结构
6 .数据的存储结构.非线性结构
7 .位.字节
8 .字.位串
9 .结点.数据域
10 .顺序存储.链式存储
11 .数据类型.原子类型
12 .结构类型.抽象数据类型
13 .算法.算法的5个特性
14 .算法描述.类C语言
15 .算法的时间复杂度.事前分析估算法
16 .事后统计法.算法的空间复杂度
17 .算法设计的要求实验:
实验编写程序实现算法,熟悉数据结构的有关概念(2学时).试编写算法,完成从大至小依次输出顺序读入的三个整数x, y, z的值,并将此算法用 程序设计语言实现。
2.试编写算法,完成复数的加、减操作,并用程序设计语言实现。有关抽象数据类型的描 述如下:
【复数抽象数据类型ADT的描述】ADT complex{
数据对象:D={ cl, c2 cl, c2eFloat Set }数据关系:R={ cl c2 }
基本操作:
创立一个复数Create (a);输出一个复数Outputc (a);
求两个复数相加之和Add (a, b);求两个复数相减之差Sub (a, b);
空生.
穴书,} ADT complex;
【局部实现的源码】〃存储表示,结构体类型的定义
typedef struct {
float x;〃实部子域
float y;〃虚部的实系数子域}comp;
〃全局变量的说明comp a, b, al, bl;
int z;//子函数的原型声明
void Create(comp *c);void Outputc(comp a);
comp Add(comp k, comp h);comp Sub (comp k,comp h);
〃主函数main() {
Create(&a);
Outputc (a);
Create (&b);
Outputc (b);
al=Add (a,b);
Outputc (al);
al=Sub(a, b);
Outputc (al);} //main
〃创立一个复数void Create(comp *c) {
float cl,c2;
printf (〃输入实部 real x= 〃);
scanf(〃%f〃,&cl);
printf (〃输入虚部 xvpu y= 〃);
scanf(〃%f〃,&c2);
(*c).x=cl;
c ->y=c2;} //Create
〃输出一个复数void Outputc(comp a) {
printf(,z\n %f+%f i \n\nz,, a. x, a. y);} //Outputc
//求两个复数相加之和comp Add(comp k,comp h){
〃程序需要实现的内容} //Add
comp Sub(comp k,comp h) {
〃程序需要实现的内容} //Sub
展开阅读全文