您的位置:首页 > 其它

不要忽视抽象数据类型(ADT)

2016-12-06 11:50 381 查看

抽象数据类型(ADT)对于具体实现的重要性

最近,在自学数据结构的过程中,我常常出现前学后忘的状况。

虽然之前学的数据结构已经认认真真用代码实现过了(还是简化

版本,只适用于考试,作业以及比赛),但是回过头来再复习时,

还是困难重重,脑子里只有零散的代码碎片,漏洞百出。

我认为出现这种情况的原因有以下几个方面:

1. 学习较为肤浅,不深入,不仔细

2. 过早关注代码的实现细节,钻牛角尖

的确,如果过分拘泥于实现细节,心中没有一个总体的框架,除非

是记忆天才,否则没有人能够记住所有代码实现的细节。

其次,同一个数据结构会有多种版本的实现,且不谈不同的语言,就

算时同一种语言实现同一个数据结构,也会有不小的差异。

所以,脑海中必须有关于所要实现的数据结构的总体框架,然后逐步

深入细化,由总体到细节,才能最终顺利完成代码实现。

这个框架就是抽象数据类型ADT

ADT是对数据结构的一种数学描述,只阐述了该数据结构的定义,以及在

对该数据类型的一些操作(成员函数),这似乎和代码实现相差很远,甚

至有点纸上谈兵的感觉。

其实不然,ADT提供的框架就是代码实现的目标与需求,不可否认要达到这种

需求还需要一些高超的编程技巧,但是这些技巧终归要服务于需求,光有技巧

没有需求,谈何实现呢?

初学数据结构,我过分注重代码实现,忽视了ADT,拘泥于实现的细节,眼中只有

代码,却连代码要服务的目标是什么都模模糊糊,真是糊涂!

了解了ADT,就知道自己要实现的数据结构的成员函数有哪些,也就有了明确的目标,

接下来就是考验代码能力的时候了,这就和数据结构这门学科没有关系,完全是

编程的事情了,就可以专心考虑具体的细节与编程技巧。

总结

数据结构实现的”两步走“

一、考虑抽象数据类型(ADT),明确要实现的目标与需求

二、考虑具体编程细节,完成目标。

就算是第二步遇到困难,请教编程的经验和技巧就可以了,只要大方向ADT不丢,出现的问题

就会变得具体,解决起来也有明确的方向。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: