一篇数据结构概述,是个人学习体会,请大家批评指正,多谢了!(300分)

  • 主题发起人 主题发起人 lsj
  • 开始时间 开始时间
L

lsj

Unregistered / Unconfirmed
GUEST, unregistred user!
我是师范生,这学期有一份作业是要交一个教学课件,不愿做成目前流行的堆资料、卖特效
的模式,写体会,写感想,做一次尝试。假设读者对象是一个有一点基础的初学者,这种教
学方式合适吗?假设我去当教师,那么合适吗?
这是一个起头,要解决的是什么是数据结构,数据结构用来做什么这两个一般初学者的最初
疑惑,大家看看这两个问题解决了吗?
请大家多多提出意见——自己乱写的,一定错漏百出:),谢谢!
————————————————————————————————————————
概述
数据结构是在整个计算机科学与技术领域上广泛使用的术语,在接触它的定义之前让我们
先看看什么是数据。
数据是信息的载体,在计算机中是指所有输入的符号的总称。我们知道计算机是以二进制
工作的,它能处理的只有0和1,所有的数据都必须经过编码成一个个二进制序列存储在计
算机中才能加以处理。聪明的你一定会意识到这其实是一个数据的存储结构问题,你一定
会说这些工作都是由编译器或解释器为我们做的,我们操什么心啊?不错,每种语言都会
为我们提供一些基本的数据类型:整型、浮点型、字符型、和布尔型。这些数据类型能够
胜任我们的任何工作,我们可以称之为具有原子性。如果你学过化学,你一定会知道在无
机化学中使用原子来描述我们的化学反应过程是很方便的,但在有机化学中,我们用来描
述化学反应过程时绝大多数使用的基本单位却是原子的聚合物--各种"基"。原因很简单,
如果我们用原子去描述有机化学反应,不是不行,而是变得非常麻烦,无法清晰的反映出
化学反应的本质,会使我们纠缠于一些不必要的细节,为分析工作带来很多不必要的麻烦。
那么我们的化学方程又与数据结构有何关系呢?我说他们背后的思想是一致的:高效的描述
问题以突显问题的本质,方便我们简便的解决问题。
计算机的应用已不再局限于科学计算(数值计算),而是更多的用于管理、控制、数据处理
等非数值计算,与此相应的是处理对象类型的千差万别。如果都用基本数据类型描述的话,
工作量之大可想而知。一个聪明的解决办法就是用基本的数据类型与运算定义自己的"基本"
数据类型,一次定义,全局使用,这样我们就可以集中注意力实现我们的业务逻辑了--这里
已体现了面向对象编程思想的一个核心:封装。还有一个更聪明的办法,就是通过一种机制
使得我们自定义的数据类型具有扩展性与弹性,以面对未来数据类型的动态变化--这里体现
了面向对象编程思想的两个核心:继承与多态。面向对象编程超出了我们讨论的范围,提及
这些只是为了说明技术虽然在变化,但指导思想是没有变的,我们只要顺着这个思路,结合
当今硬件的发展与限制,就能理解到新技术的本质,有助于我们更好的掌握甚至开发新技术。
现在我们可以来看看数据结构的定义了:数据结构是指同一数据元素类中各数据元素之间的
关系。根据这个定义和我们的讨论,我们可以知道数据结构应该分为三个组成部分:数据的
逻辑结构(由哪些基本数据类型组成)、数据的存储结构(数据在内存中的布局)和数据运
算(如何用基本数据类型实现数据元素之间的关系)。一句话:数据结构反映了一个数据的
内部构成,即一个数据由那些成分数据构成,以什么方式构成,呈什么结构。
我们已经知道了什么是数据结构,接下来就让我们大略地看看数据结构在计算机科学中的
地位与用途:数据结构的研究是计算机科学的重要基石,计算机科学各领域及有关的应用
软件都要用到各种数据结构。语言编译要使用栈、散列表及语法树;操作系统中用列、存
储管理表及目录树等;数据库系统运用线性表、多链表及索引树等进行数据管理;而在人
工智能领域,依求解问题性质的差异将涉及到各种不同的数据结构,如广义表、集合、搜索
树及各种有向图等等。
 
我给点意见吧!
你确实解释了什么是数据结构,数据结构用来做什么这两个一般初学者的最初
疑惑,但是太不具体了,我觉得应该通过具体的例子来说明,这样不至于太抽象
具体例子方面可以参考严的《数据结构》,你会有帮助的。他的书比较有权威。
 
对初学者讲这么大断道理,能听的进入吗?
数据结构的应用最好举例!!!比如交通状况的,最短路径的!!那样更容易理解!!!!
 
看看这里,对你会有好处的 : http://zmofun.yeah.net
 
多画图例解决释疑
PPT可以帮你的很多
EDU内FTP上可以找到很多现成的,取其精华。。。
 
我还是计算机专业学生,不过快毕业了.  不过我真的不想看您写的那些.看了都觉
得啰嗦.(别介意)
我觉得老师在传授本专业知识的时候不要用太多的本专业的例子.而应该结合学生的现有
知识,然后用类比的方法,举个例子给学生.这样就比较容易接受了.要做到触类旁通!
新生学计算机专业只是很难的理解专业知识的.
比如说我的上高中妹妹物理成绩不大好,我觉得他看问题很片面.容易走经验主义的弯路
可是我如果跟他讲什么是经验主义,如何避免经验主义等之类的哲学问题,她肯定头大!
我跟她说看问题不要总是站在一个角度,要多角度去看待问题.我拿了它桌子上面的钟
让她从不同的角度来观察钟,不同的角度一个事物的表现形式多种多样,可是本质一样
人有时候不能一下子认识事物,很大的原因就是位置没站对..从中她体会到了什么叫
做从多角度看问题.他现在做物理题目的时候说用的思维方式逐渐走向正轨了.
以上的例子供您参考,希望您能成为受学生喜欢的老师. :)
 
天哪,我觉得你写的像给老师们看的毕业论文,学生不可能感兴趣.
你要结合一个有趣的例子来讲才好啊.
要把很深的东西讲的傻瓜都能听明白,这才是好老师,好程序员.
 
现在都讲案例教学,试一试
 
如果你这样上课的话,我会睡觉的。
上这种课的关键是要调动学生的积极性。
上学期我们就学了数据结构,我是整整睡了一学期
(因为是早上第一节,而夏天早上比较凉快)。
最好采取举例的方式好些。来点实在的。
不要孤立的谈数据结构,可以结合算法,编程语言课这些来讲,
如果你不介意的话,你写一篇讲关于树的数据结构来。
(那个我没有搞懂),我如果看起来狠容易懂的话,
呵呵,你就肯定写的很好了。
 
我喜欢生动的 Example,不喜欢长篇大论!
 
俺也是师范的,现在已经毕业了..建议你不要去学校教书........无聊...你进去之后就知道了....
我现在就是在学校里教计算机.高中.....虽然这里有一流的设备...虽然.....
还是不要去的好.........
 
思路还可以
但叙述有点罗嗦
 
思路可以, 但你可以讲得更严谨些,
毕竟你所面对的学生的逻辑思维能力很强,而不是初学者;
名词解释就是名词解释, 没有必要在定义上解说太多。
关键是后面的数据结构课程, 一定要把思想讲清楚
 
课件这种东西不适合深奥的大道理
即使内容很精彩我也会睡着的,毕竟面对屏幕比看书累的多,特别是这么复杂的需要太多思考的东西
如果你想让你的东西更容易让人接受我提两点建议:
第一:内容不能太深,多用图形阐述。
第二:研究一下《认知心里学》,这东东对你做好教学非常有用。而且还能让你将来在你的
毕业论文里多啊好多文字,^_^。
 
多写点实际的体会可能更好一些。也容易让人接收!
 
思路清析.但是,没有学生喜欢这种方式,你要试着让它通俗....
 
我接受大家意见,加图,加代码,请MM配音,最后老师看了两眼:“不错,挺漂亮的。”,
给了个“优”
我无话好说……
 
后退
顶部