![数据结构学习方法_第1页](http://file4.renrendoc.com/view/a3c166d19a7f6a2ad038b13ff53406e0/a3c166d19a7f6a2ad038b13ff53406e01.gif)
![数据结构学习方法_第2页](http://file4.renrendoc.com/view/a3c166d19a7f6a2ad038b13ff53406e0/a3c166d19a7f6a2ad038b13ff53406e02.gif)
![数据结构学习方法_第3页](http://file4.renrendoc.com/view/a3c166d19a7f6a2ad038b13ff53406e0/a3c166d19a7f6a2ad038b13ff53406e03.gif)
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据结构学习方法《数据结构》是计算机相关专业的一门重要核心基础课,在整个课程体系中处于承上启下的核心地位,它以《C语言程序设计》和《集合论与图论》为基础。同时又与这两门课程相互融合,相互渗透,《数据结构》的学习同时又能加深对前两门课程的深入理解,同时为进一步学习《算法分析与设计》、《软件工程》、《操作系统》、《编译原理》、《数据库理论》等计算机相关专业课程奠定坚实的理论与实践基础。学习《数据结构》应具备一定的专业理论知识,特别是应先学好《C语言程序设计》和《集合论和图论》两门课程。以下就自己多年来讲授数据结构的心得,谈一谈学习方法,希望对大家学习数据结构有所帮助。学习方法一从实践到理论的学习方法数据结构是一门从实践抽象到理论,又用理论来指导实践的学科,因此我们在学习这门课程的过程中,首先应从实践入手,从日常生活入手,然后再抽象到理论,下面我们举两个例子来说明这种学习方法。【例1】图的广度优先搜索和深度优先搜索算法想一想在日常生活中,如果有很多个房间,现在需要我们检查每一个房间中都放了什么物品,我们会怎么检查?第一种检查方式,我们先检查离我们最近的房间,为了避免重复,每检查过一个房间,我们需要标记,然后层层推进,这其实就是广度优先搜索的思想,我们把这种搜索过程进一步规范,按算法的规则写出来,就是广度优先搜索算法。第二种检查方式,我们先从离我们最近的某一个房间检查,同样为了避免重复,检查完一个房间后我们要作标记,按同样的方式每次都从刚检查过的房间重新开始,直到走不动时再逐级回退看看是否还存在没有检查过的房间,这是深度优先搜索的思想。【例2】快速排序算法假设有一班30个学生上体育课,现在需要对这30个学生从低到高进行排序,体育老师可以随意选身高中等的学生,然后让比这个学生高的站在这个学生右边,比这个学生矮的站在这个学生左边,再对这个学生两边的学生作同样处理,这就是快速排序的思想,同时也是算法中分治的思想,把这种过程规范地描述出来,就是快速排序算法。学习方法二先逻辑结构后存储结构的学习方法数据结构的一项重要任务就是把实际应用中的实际问题抽象成数学模型(逻辑结构),然后再根据不同计算机语言的特点,安排存储结构,为进一步的操作和计算服务,我们在学习数据结构时,如果遵循这个原则来学习。不但可以加强我们的记忆,而且可以加深我们对所学知识的理解,同时也能增强我们利用所学知识解决实际问题的能力。【例3】顺序存储结构、链式存储结构、索引存储结构假设现在有一套24史书籍,需要放在书架上,从1到24是有次序的,不能放乱,根据书架的不同情况,我们有不同的放置方法,(1)如果书架上有足够的空间能同时放下这24本书,我们可以依次放下这些书,就是顺序存储结构;(2)假设没有一个足够大的空间能够同时放下这些书,同时书架上有很多小空间,这些小空间合起来可以放下这些书,想一想我们都有那些放置方式:第一种,我们可以先放第1本书,记下第1本书的位置,然后放第2本书,第2本书的位置我们可以写一张纸条夹在第1本书中,然后放第3本书,第3本书的位置写一张纸条放在第2本书中,......,这便是链式存储,第1本书的位置就是头指针;第二种,我们把这些书分别放在不同的位置,然后把这些书的位置记录在一张纸上,这便是索引结构,这张纸就是索引表。通过对这些实例的分析,书和书架的位置我们可以用不同的符号来表示,这就是逻辑结构,然后我们结合我们学过的计算机语言知识,考虑怎么样才能实现这个存储过程,这便是存储结构,通过这样的学习,是不是比死啃书本要好呢?学习方法三书本学习与上机实验相结合数据结构是一门理论与实验相结合的课程,如果只注重理论,容易造成“眼高于低”的情况,理论知识学的很扎实,但动手能力很差,不符合我们的培养要求,反过来,如果只注重实践,又会造成只见“点”不见“面”的情况,造成系统解决问题的能力差。因此我们在学习这门课的过程,要采用实验与理论学习紧密结合的方式,通过上机解决一些典型问题,通过分析、设计、编码、调试等各环节的训练,深刻理解、牢固掌握所用到的一些技术。每个问题的正确求解,都要通过分析问题、建立模型、设计算法、编制程序、调试优化等步骤。通过实验后,可以提高对数据结构课程内容的深入理解,同时也能提高学习兴趣。学习方法四知识内容共性化与个性化总结的学习方法在数据结构的内容中,线性结构、树型结构、图型结构都遵循:首先是逻辑结构、其次是存储结构、接下来是基本操作的实现这一原则,通过这些共性化可以理清思路,帮助我们理解,同时针对这三种结构的不同特点,再强调它们各自在逻辑结构、存储结构和基本操作上的个性化,加深我们的理解。学习方法五自顶向下的学习方法在数据结构的教学中,很多学生反映其中的一些算法非常不容易理解,在程序设计中有一种自顶向下的程序设计方法,这种方法同样适用于我们对数据结构有关算法的学习。对一种算法,首先我们要了解它的思想,然后是分析它的概要,接下来再考虑细节,如果一开始就逐字逐句地读代码,要花很长时间才能对算法彻底搞清楚。下面我们举例说明这种学习过程。【例4】求最短路径的迪杰斯特拉算法假设有a,b,c,d,e共5个顶点形成一个图,现在我们要求顶点a到其它各顶点的最短路径。我们首先理解迪杰斯特拉算法的思想解迪杰斯特拉算法的思想是:求a到其它顶点的最短路径,我们首先求出离它最近的顶点,也就是与它有边相连并且边长度最短的顶点,假设是c,这样我们就得到了2到。的最短路径。然后我们再求离a次近的顶点,只能是b,d,e中的一个,这些顶点到a有两种可能,直接到a或通过c到a,因为c到a的最短路已求出,因此很容易求出b,d,e通过c或不通过c到a的最短距离,找出其中
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 河北大学《企业价值创造实战》2023-2024学年第二学期期末试卷
- 昆明医科大学海源学院《工程项目管理一》2023-2024学年第二学期期末试卷
- 天府新区信息职业学院《建筑智能化系统综合实训》2023-2024学年第二学期期末试卷
- 中原工学院《复合材料原理》2023-2024学年第二学期期末试卷
- 福州外语外贸学院《机动车鉴定评估》2023-2024学年第二学期期末试卷
- 郑州美术学院《综合保税区运营实务》2023-2024学年第二学期期末试卷
- 潍坊理工学院《工业工程概论》2023-2024学年第二学期期末试卷
- 《个人收入的分配》课件
- 铜产业的可持续发展战略
- 数字化转型下的绩效管理与评估系统
- 初中生物面团发酵实验报告
- 工程项目总投资的构成及估算
- 串通招投标法律问题研究
- 高原铁路建设卫生保障
- 颞下颌关节盘复位固定术后护理查房
- 新版药品管理法培训完整版本课件
- 医院信息系统HIS知识培训教学课件-HIS的主要内容
- 硝苯地平控释片
- 合成聚氨酯原料及助剂生产项目
- 四川省泸州市2019年中考物理考试真题与答案解析
- 部编版语文六年级下册全套单元基础常考测试卷含答案
评论
0/150
提交评论