不要忽视抽象数据类型(ADT)
2016-12-06 11:50
381 查看
抽象数据类型(ADT)对于具体实现的重要性
最近,在自学数据结构的过程中,我常常出现前学后忘的状况。虽然之前学的数据结构已经认认真真用代码实现过了(还是简化
版本,只适用于考试,作业以及比赛),但是回过头来再复习时,
还是困难重重,脑子里只有零散的代码碎片,漏洞百出。
我认为出现这种情况的原因有以下几个方面:
1. 学习较为肤浅,不深入,不仔细
2. 过早关注代码的实现细节,钻牛角尖
的确,如果过分拘泥于实现细节,心中没有一个总体的框架,除非
是记忆天才,否则没有人能够记住所有代码实现的细节。
其次,同一个数据结构会有多种版本的实现,且不谈不同的语言,就
算时同一种语言实现同一个数据结构,也会有不小的差异。
所以,脑海中必须有关于所要实现的数据结构的总体框架,然后逐步
深入细化,由总体到细节,才能最终顺利完成代码实现。
这个框架就是抽象数据类型ADT
ADT是对数据结构的一种数学描述,只阐述了该数据结构的定义,以及在
对该数据类型的一些操作(成员函数),这似乎和代码实现相差很远,甚
至有点纸上谈兵的感觉。
其实不然,ADT提供的框架就是代码实现的目标与需求,不可否认要达到这种
需求还需要一些高超的编程技巧,但是这些技巧终归要服务于需求,光有技巧
没有需求,谈何实现呢?
初学数据结构,我过分注重代码实现,忽视了ADT,拘泥于实现的细节,眼中只有
代码,却连代码要服务的目标是什么都模模糊糊,真是糊涂!
了解了ADT,就知道自己要实现的数据结构的成员函数有哪些,也就有了明确的目标,
接下来就是考验代码能力的时候了,这就和数据结构这门学科没有关系,完全是
编程的事情了,就可以专心考虑具体的细节与编程技巧。
总结
数据结构实现的”两步走“一、考虑抽象数据类型(ADT),明确要实现的目标与需求
二、考虑具体编程细节,完成目标。
就算是第二步遇到困难,请教编程的经验和技巧就可以了,只要大方向ADT不丢,出现的问题
就会变得具体,解决起来也有明确的方向。
相关文章推荐
- 数据结构之笔记chap02线性表-抽象数据类型ADT
- 分享,请不要忽视了作者的版权
- 数据结构(scheme) -- 抽象数据类型(ADT) -- 堆
- 串的抽象数据类型ADT 定义串的一些操作
- 做好共享软件,请不要忽视软件的周边制作和完善
- 不要去忽视计算机科学的理论
- 不要忽视Web编程中的小细节
- 虚拟主机选好了,不要忽视了网站流量
- 抽象数据类型(ADT)
- 数据结构(scheme) -- 抽象数据类型(ADT) -- 链表
- 表的抽象数据类型(abstract data type,ADT)
- 队列的抽象数据类型ADT
- C编程思想之抽象数据类型(ADT)(五)实例演练
- 共享软件营销技巧:千万不要忽视用户调查
- svn中很有趣的东西(不要忽视空格和空行的力量)
- 《计算机科学导论》之抽象数据类型(ADT)
- 求职者,不要忽视你的“软技能”
- 数据结构(scheme) -- 抽象数据类型(ADT) -- 4000 队列
- 队列的抽象数据类型(abstract data type,ADT)
- 3.1--3.3.2抽象数据类型ADT、单链表初始化删除插入、Collection接口、Iterator接口的简单介绍