
课程名称: 中外建筑史
| 授课章节 | 第二章 | 授课专业和年级 | 计算机科学与技术 大三 | |||
| 题 目 | 线性表的顺序存储 | 授课时间 | 15分钟 | |||
| 教学目的 | 掌握内容 | 1、线性表的第i个数据元素的存储位置 2、线性表的顺序存储结构 3、线性表的插入 | ||||
| 熟悉内容 | " 1、线性表的动态分配存储结构 2、顺序表的初始化操作 | |||||
| 了解内容 | " 线性结构的特点 | |||||
| 教学重点 | " 1、线性表的顺序存储结构 2、线性表的插入 | |||||
| 教学难点 | " 1、线性表的插入 2、线性表插入的算法 | |||||
| 教学方法 | " 1、以学生为主体,师生互动; 2、培养学生的自主思考能力和创新能力; 3、给学生充分的自由想象空间和发挥空间; 4、培养学生的实践能力; 5、老师发挥辅助学生的作用,帮助学生更好地学习。 | |||||
| 教学过程 | 1、回顾:线性结构的特点:在数据元素的非空有限集中,(1)存在惟一的一个被称做“第一个”的数据元素;(2)存在惟一的一个被称做“最后一个”的数据元素;(3)除第一个之外,集合中的每一个数据元素均只有一个前驱;(4)除最后一个之外,集合中的每一个数据元素均只有一个后继。 2、线性表有两种存储结构:顺序存储和链式存储 3、线性表的顺序表示和实现: (1)线性表的顺序表示是指:用一组地址连续的存储单元依次存储线性表的数据元素。 (2)线性表的每个元素需占用L个存储单元,并以所占的第一个单元的存储地址作为数据元素的存储位置,线性表中第i+1个数据元素的存储位置LOC(ai+1)和第i个数据元素的存储位置LOC(ai)之间满足下列关系: LOC(ai+1)= LOC(ai)+L (3)线性表的动态分配顺序存储结构: #define LIST_INIT_SIZE 100 #define LISTINCREMENT 10 Typedef struct{ Elemtype * elem; Int length; Int listsize; }SqList; (4)线性表的插入:线性表的插入操作是指在线性表的第i—1个数据元素和第i个数据元素之间插入一个新的数据元素,就是要使长度为n的线性表 (a1,…,ai—1,ai,…,an)变成长度为n+1的线性表(a1,...,ai—1,b,ai,...an)数据元素ai—1和ai之间的逻辑关系发生了变化,在线性表的顺序存储结构中,由于逻辑上相邻的数据元素在物理位置上也是相邻的,因此,除非i=n+1,否则必须移动元素才能反映逻辑关系的变化。 序号 数据元素 序号 数据元素 12 | |||||
| 13 | ||||||
| 21 | ||||||
| 24 | ||||||
| 25 | ||||||
| 28 | ||||||
| 30 | ||||||
| 42 | ||||||
| 77 | ||||||
| 12 | |||
| 13 | |||
| 21 | |||
| 24 | |||
| 28 | |||
| 30 | |||
| 42 | |||
| 77 | |||
| 课堂总结 | 通过本节课的学习,让学生充分地掌握线性表顺序存储的表示和实现,了解线性表的顺序存储结构、动态分配及初始化,重点掌握线性表的插入及其算法。课上主张学生自主学习,充分发挥其想象力,让他们更好地投入到学习当中,进而更好地掌握课堂所讲的内容。 | |||||
