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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

数据结构实用教程讲课教案.docx

1、数据结构实用教程讲课教案数据结构实用教程讲课教案这次由本人主讲的数据结构(本科)IP课程共分为10讲,每讲大致为50分钟。第一讲 数据结构概述第二讲 集合与线性表第三讲 栈和队列第四讲 二叉树第五讲 二叉搜索树和堆第六讲 平衡二叉树第七讲 图的概念和存储结构第八讲 二分查找和散列查找第九讲 选择排序第十讲 快速排序和归并排序第一讲 数据结构概述一、数据结构的分类二、数据结构的定义三、数据结构的图形表示四、数据结构的二元组表示五、数据结构的应用实例 六、算法的时间复杂度一、数据结构的分类数据结构又分为数据的逻辑结构和数据的存储结构这两个方面,我们时常把数据的逻辑结构简称为数据结构,而在讨论数据的

2、存储结构时则必须指明是数据的存储结构。数据结构的分类:这里是指数据的逻辑结构的分类。总体来说数据的逻辑结构被分为集合结构、线性结构、树结构和图结构等四种基本类型。对于一些复杂的数据结构可以由这四种基本的数据结构,根据实际需要进行组合或嵌套所构成。 数据的存储结构分类:被分为顺序、链接、索引和散列四种,由它们的组合和嵌套可以构成更复杂的存储结构。 广义的数据结构的概念还包含对数据进行的各种运算,通常有插入、删除、查找、更新、排序、遍历等运算。二、数据结构的定义1、集合结构集合结构是指数据中各元素之间没有任何次序。如一个容器中的所有乒乓球,一个俱乐部里的所有成员,可以认为它们之间没有任何次序,它们

3、均为集合结构。2、线性结构线性结构是指数据中各元素之间具有1对1的先后次序关系。如在一个列车时刻表中,各车次记录之间是按照发车时间的先后次序排列的;在一个人事职工表中,各职工记录之间是按照职工编号的先后次序排列的。所以,它们的表结构都是线性结构。3、树结构 树结构是指数据中各元素之间具有1对多的先后次序关系,并且只有一个元素称为树根结点,其余均为树枝结点和树叶结点。如在一个企业的组织机构中,总经理只有一个,相当于是树根;它下属多个部门,每个部门又各有一个部门经理,相当于是树枝;每个部门又有多名员工,属于部门经理领导,相当于是树叶。所以,企业的组织结构是一个树结构。 4、图结构 图结构是指数据中

4、各元素之间具有多对多的关系。这是数据结构中最复杂的结构。如在一个城市交通图中,所有道路连接成一个复杂的图结构,交叉路口就是图中的顶点,每条道路就是图中的边,从一个交叉路口可以到达与其连接的其他交叉路口。 三、数据结构的图形表示 各种数据结构类型的图形表示如下: 从图形表示中可以清醒地看出:集合结构中的元素是各自独立的,元素之间没有联系。线性结构中的元素是一个接一个串联起来的,它有一个头元素A和一个尾元素G,其余为中间元素;每个中间元素既有前驱元素,又有后继元素,如B的前驱元素为A,后继元素为C;C的前驱元素为B,后继元素为D,,头元素A没有前驱元素,只有后继元素B;尾元素G只有前驱元素F,没有

5、后继元素。树结构的图形表示象倒着画的一棵树,树中有一个树根元素A,它有3个后继元素,又称为A的孩子结点B、C和D,C结点有两个孩子E和F,D结点有一个孩子G,由于B、E、F、G没有孩子,所以称它们为叶子结点,而A、C、D被称为树枝结点或分支结点,同时A又是唯一的一个树根结点。 在树结构中,树根结点只有后继结点,而没有前驱结点;如A为树根结点,它没有前驱结点,或者说其前驱结点为空,它有后继结点为B、C和D;除树根结点外,每个结点都有唯一一个前驱结点,又称为是父结点或双亲结点;如C的前驱结点为A,G的前驱结点为D,每个结点的前驱结点即双亲结点,从图形中都能够很容易得到。 在图结构中,每个结点或称顶

6、点都可以有任意多个前驱结点和任意多个后继结点。如(d)图所示的图中,顶点A没有前驱结点,或者说它有0个前驱结点,A有3个后继结点B、C和G;G有2个前驱结点A和D,有一个后继结点F;E有一个前驱结点C和0个后继结点,或者说,E没有后继,对于图形中的其他结点都能够很容易得到其前驱和后继结点。 从数据结构的图形表示中还可以清楚地看出:树结构是图结构的特例,若在图结构中,每个结点的前驱不能有任意多个,而只能有一个,并且只能有一个结点没有前驱,则就成为了树结构;线性结构是树结构的特例,若在树结构中,每个结点不能有任意多个后继,而只能有一个后继,则就成为了线性结构。为了区别于线性结构,时常把树结构和图结

7、构称为非线性结构。 四、数据结构的二元组表示 数据结构的二元组表示采用B=(K,R)的形式,其中第一元K给出数据结构中所有元素的集合,第二元R给出数据结构中所有元素具有的二元关系的集合,通常对每个二元关系分别进行讨论,所以直接用R表示这一种二元关系,该二元关系是有序对的集合,又称是序偶的集合,每个有序对(即序偶)是用一对尖括号括起来的、具有前驱和后继关系的两个元素。 对于前面图形中给出的四种数据结构,下面分别讨论它们的二元组表示。 集合结构中的元素集合K和二元关系R分别为: K=A,B,C,D,E,F,G R= 因为集合中的元素为孤立顶点,它们之间没有前驱和后继的关系,所以对应的二元关系为空。

8、 线性结构中的元素集合K和二元关系R分别为: K=A,B,C,D,E,F,G R=, 因为A和B构成一对前驱和后继关系,对应图形中的一条有向边,它的起点为A,终点为B,它就构成了R中的一个有序对,同理,B和C、C和D等都是R中的有序对。由于该线性结构包含有7个元素,所以二元关系R中共含有6个有序对。 树结构中的元素集合K和二元关系R分别为: K=A,B,C,D,E,F,G R=, 因为A和B构成一对前驱和后继关系,所以它是R中的一个有序对,同理,A和C、A和D等都是R中的有序对。由于该树结构包含有7个元素,所以二元关系R中共含有6个有序对,即每个元素对应唯一一个有序对,并且是有序对中的后继元素

9、,而树根结点没有对应的、作为后继元素的有序对。所以当一棵树具有n个结点时,它必然具有n-1个有序对,对应图形中为n-1条有向边。 图结构中的元素集合K和二元关系R分别为: K=A,B,C,D,E,F,G R=, 在线性结构和树结构中,若元素个数为n,则有序对个数必然为n-1;而在图结构中不存在这种对应的关系,也就是说,其有序对的个数又称有向边数可能大于、等于或小于n-1。在这个图结构的例子中,元素个数为7个,边数为8个。 五、数据结构应用实例 下面为某个公司的职工简表职工号姓名性别出生日期职务部门01万明华男1962-03-20经理02赵 宁男1968-06-14主管销售部03张 利女1964

10、-12-07主管财务部04赵书芳女1972-08-05主任办公室05刘永年男1959-08-15科员销售部06王明理女1975-04-01科员销售部07王 敏女1972-06-28科员财务部08张 才男1967-03-17科员财务部09马立仁男1975-10-12科员财务部10邢怀常男1976-07-05科员办公室 该表中包含有10条职工记录,每条记录都由六个数据项所组成,由于每条记录的职工号各不相同,所以可把每条记录的职工号作为该记录的关键字,并在下面的讨论中,用记录的关键字来代表整个记录。 对于上面所述的一张表,假定不考虑该表中记录之间的任何次序,则该表中的数据就是一个集合结构,对应的记录

11、集合以及二元关系为: K=01,02,03,04,05,06,07,08,09,10 R= 若考虑到该表中的职工记录是按照职工号从小到大有序排列的这个特点,则这个职工表又是一个线性结构,其中表头元素为01号职工,接着为02号职工,依次类推,表尾元素为10号职工。该线性结构包含的记录集合和二元关系为: K=01,02,03,04,05,06,07,08,09,10 R=, , 有时需要按职工的出生日期进行数据结构的定义和处理,则可以把表中的所有职工看作是按照出生日期,从小到大有序的,由此对应的数据结构也是一种线性结构,其中05号职工的出生日期最早,即年龄最大,为表头元素,01号职工年龄次之,为这

12、种线性结构中的第二个元素,依次类推,10号职工的出生日期最晚,为表尾元素。该线性结构包含的记录集合和二元关系为: K=01,02,03,04,05,06,07,08,09,10 R=, ,对应的图形表示为: 从图形表示中能够清楚地看出每个职工出生日期的先后排列次序。 在上面职工表中,还存在职工人员之间领导与被领导的关系,其中01号职工为经理,直接领导02、03和04号职工,他们分别是相应部门的主管,02号职工直接领导05和06号职工,03号职工直接领导07、08和09号职工,04号职工直接领导10号职工。由此可知,该职工表是一种树结构,包含的职工集合和二元关系分别为: K=01,02,03,0

13、4,05,06,07,08,09,10 R=, , 对应的图形表示为: 若要反映职工之间的好友关系,假定01和02号职工是好友,01和04号是好友,02和03、02和06、02和07、03和07、04和06、05和07之间是好友,则反映这种好友关系的数据结构是图结构,二元组中的元素集合和有序对集合分别为: K=01,02,03,04,05,06,07,08,09,10 R=, , 对应的图形表示如下面左图所示,其中08、09和10号职工无好友,在图形中为孤立顶点,省略未画;图形中每对顶点之间的两条相反的有向边,表示这两个顶点职工是一对好朋友,为了简化起见,两条相反的有向边可以用一条无向边来代替,隐含着该无向边是双向的,即连接的两个顶点互为前驱和后继,则对应的无向图表示如下面右图所示。 从上面左图可以看出,R是K上的对称关系,即若存在这个序偶,则必然存在这个序偶与之对应。为了简化起见,我们在二元组表示中把和这两个对称序偶用一个无序对(x,y)或(y,x)来代替,这样R关系可改写为: R=(01,02),(01,04),(02,03),(02,06),(02,07),(03,07),(04,06),(05,07) 可见R成为了一个无序对的集合,其中的每个元素为用圆括号括起来的一个无序对,对应

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

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