ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:27.03KB ,
资源ID:13980098      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/13980098.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据结构教学导案Word格式文档下载.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数据结构教学导案Word格式文档下载.docx

1、电脑理论教学方法投影、讨论、板书教学过程设计(包括讲授知识、演示内容及案例、提问及学生演示内容)任务一、数组的定义、运算 前言:(用时10分钟) 前4章介绍的数据结构共同特点:(1)都属于线性数据结构;(2)每种数据结构中的数据元素,都作为原子数据,不再进行分解;本章讨论的两种数据结构:数组和广义表,其共同特点是:1)从逻辑结构上看它们,可看成是线性结构的一种扩展;2)数据元素本身也是一个数据结构;一、数组的概念(用时10分钟) 数组是由一组个数固定,类型相同的数据元素组成阵列。 以二维数组为例:二维数组中的每个元素都受两个线性关系的约束安徽新华电脑专修学院课堂教学教案(电脑应用课使用)教学过

2、程设计(续表)即行关系和列关系,在每个关系中,每个元素aij都有且仅有一个直接前趋,都有且仅有一个直接后继。在行关系中 aij直接前趋是 aij-1 aij直接后继是 aij+1在列关系中 aij直接前趋是 ai-1jaij直接后继是 ai+1j二维数组也可看作这样的线性表:其每一个数据元素也是一个线性表 A=(0 ,1 ,2 ,3 , 4 ,p ) 其中每一个数据元素 j 是一个列向量的线性表 j=(a0j , a1j ,a2j , a3j , ,am-1j ) 或 i 是一个行向量的线性表 i=(ai0 ,ai1 ,ai2 , ai3 , ,ain-1 )二、数组的基本操作(用时10分钟)

3、1 读元素操作2 写元素操作 操作方法根据其存储结构决定任务二、数组的顺序存贮结构(用时20分钟) 一维数组在内存中的存放很简单,只要顺序存放在连续的内存单元即可。 二维数组,如何用顺序结构表示?内存地址是一维的,而数组是二维的,要将二维数组挤入一维的地址中,有两个策略: 以行为主序(C语言使用)以列为主序数组元素存储地址的计算 : 假设二维数组A每个元素占用s 个存储单元, Loc(aij )为元素aij 的存储地址,Loc(a00 ) 是a00存储位置, 也是二维数组A的基址。 若以行序为主序的方式存储二维数组,则元素aij 的存储位置可由下式确定: Loc(aij ) = Loc(a00

4、 ) +(n i+j ) s若以列序为主序的方式存储二维数组,则元素aij 的存储位置可由下式确定: Loc(aij ) = Loc(a00) +(m j+i ) s 一般在程序设计过程中,一维数组和二维数组使用较普遍,超过二维以上的多维数组使用相对较少,对于高维数组的顺序存储方法,可以将二维的情形加以推广便能够得到。复习思考题作 业上机任务案例分析: 以二维数组形式为例参考文献数据结构 (C语言版) 扬振生 中国科学技术大学出版社课后记(或归纳小结)本小节主要介绍数组的定义,存储(以行为序或以列为序)等等2课题引入(用时10分钟)任务三、矩阵的压缩存储(用时20分钟)矩阵是许多科学与工程计算

5、问题中常常涉及到的一种运算对象。 一个m行n列的矩阵是一平面阵列,有mn个元素。可以对矩阵作加、减、乘等运算。 只有少数程序设计语言提供了矩阵运算。通常程序员是用二维数组存储矩阵。由于这种存储方法可以随机地访问矩阵的每个元素,因而能较为容易地实现矩阵的各种运算。应用中常遇到一些阶数很高的矩阵,矩阵中有许多值相同的元素或零元素。二维数组存储矩阵会浪费很多的存储单元。例如,设一个1000 1000的矩阵中有800个非零元素,若用二维数组存储需要106个存储单元。因此,需要使用高效的存储方法,减少数据的存储量,即对原矩阵,根据数据分布特征进行压缩存储。 本章将讨论两类矩阵的压缩存储: 1 特殊矩阵的

6、压缩存储 2 稀疏矩阵的压缩存储一、特殊矩阵(用时40分钟)值相同元素或者零元素分布有一定规律的矩阵称为特殊矩阵 例 对称矩阵、 上(下)三角矩阵都是特殊矩阵 特殊矩阵压缩存储 (以对称矩阵为例) 对称矩阵是满足下面条件的n 阶矩阵: aij= aji 0 i,j n-1 a00 a01 a0n-1 a10 a11 a1n-1an-10 an-11 an-1n-1 a00 a10 a11 a20 a21 a22 对称矩阵元素可以只存储下三角部分,共需 n(n+1)/2 个单元的空间( 三角矩阵的存储方式类似) 以一维数组sa 作为n 阶对称矩阵A的存储结构,A中任意一元素 aij与它的存储位置

7、 sak 之间存在着如下对应关系:K= i(i+1)/2 +j 当 i jj(j+1)/2 +i 当 i =j) return(sai*(i+1)/2+j) else return(saj*(j+1)/2+i);压缩存储的对称矩阵的 赋值算法void assign_M(int i, int j, int value)=j) sai*(i+1)/2+j=value; else saj*(j+1)/2+i=value; 带状矩阵(用时30分钟) 所有非0元素都集中在以主对角线为中心的带状区域,半带宽为d时, 非0元素有(2d+1)*n-(1+d)*d个为计算方便,认为每一行都有2d+1个非0元素,

8、若少则用0补足,所以,存放矩阵的数组sa 有 n(2d+1) 个元素 数组元素sak与矩阵元素aij 之间有关系 k= i*(2d+1)+d+(j-i)压缩存储的带状矩阵的取值算法int get_Md(int i, int j) if(abs(i-j)=d) return(sai*(2*d+1)+d+(j-i); else return(0);压缩存储的 带状矩阵的 赋值算法void assign_Md(int i, int j, int value)=d) sai*(i+1)/2+j=value; 以课件上的例子为案例进行分析本小节主要介绍特殊矩阵的存储,如对称矩阵、上(下)三角矩阵、带状矩

9、阵,它们的存储形式等等任务三、矩阵的压缩存储(续)二、稀疏矩阵(用时40分钟) 1、 什么是稀疏矩阵 有较多值相同元素或较多零元素,且值相同元素或者零元素分布没有一定规律的矩阵称为稀疏矩阵。例0 12 9 0 0 0 0A有42(6 7)个元素有8个非零元素 0 0 0 0 0 0 0A=-3 0 0 0 0 14 0 0 0 24 0 0 0 0 0 18 0 0 0 0 015 0 0 -7 0 0 02、 稀疏矩阵的压缩存储(只讨论有较多零元素矩阵的压缩存储)1)三元组表(i, j, aij )A=( (0,1,12), (0,2,9), (2,0,-3),(2,5,14),(3,2,2

10、4), (4,1,18), (5,0,15), (5,3,-7) )加上行、列数6,7 2)三元组顺序表 假设以顺序存储结构来表示三元组表,则可得稀疏矩阵的一种压缩存储方式我们称之为三元组顺序表。稀疏矩阵的三元组顺序表的类型定义struct node int row,col; / 非零元的行下标和列下标 int value; /非零元值; typedef struct node NODE;NODE maMAX;ma0用于存储矩阵行数、列数、非零元个数图示见课件3 ) 转置运算算法 转置运算是一种最常用的矩阵运算。对于一个 m 行 n 列的矩阵 A,它的转置矩阵 B 是一个n行m列的矩阵。例如,

11、下图中的矩阵A和B互为转置矩阵。B=0 0 -3 0 0 1512 0 0 0 18 0 9 0 0 24 0 0 0 0 0 0 0 -7 0 0 0 0 0 0 0 0 14 0 0 0 0 0 0 0 0 0 转置运算算法 B第0 行第一行 第二行第三行 第四行第五行 第六行。 A第0 列第一列 第二列第三列 第四列第五列 第六列按照A的列序来进行转换的基本思想 对 ma 从头至尾扫描: 第一次扫描时,将 ma 中列号为0的所有元组交换行列值后,依次赋值到 mb 中 第二次扫描时,将 ma 中列号为1的所有元组交换行列值后,依次赋值到 mb 中 依此类推,直至将 ma 的所有三元组赋值到 mb 中转置算法:采用三元组表存储表示,求稀疏矩阵A的转置矩阵Bint

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1