请教数据结构与算法之间的对应关系,比如递归算法对应到栈,广度搜索对应到队列等。

2025-01-06 03:29:55
推荐回答(3个)
回答1:

个人觉得在了解了数据结构之后,去看下算法的实现,有时候会有种时曾相识的感觉,就说搜索,深度也好广度也好,反正你要抽象出一个节点来,这个和链表的节点也有点相似的地方,之后深搜和广搜和树也有关系,一个是每个树枝的去搜索,一个是每一层去搜索,而深度搜索的回溯过程也用到了递归,那么也对应了栈,所以,我觉得这种东西无所谓谁对应谁,主要是熟练了解每种数据结构的特点,灵活应用。
以上,是我个人学习时的一点体悟,纯手敲,希望对你有点帮助
再说一下,貌似,队列的特点,也就是先进先出,实现上也可以用链表吧

回答2:

最好是结合算法来学

因为数据结构是数据之间联系
而算法是对数据的处理
数据结构对算法来讲是非常重要的
有个科学家曾说过:
程序=数据结构+算法

一般一个算法会对应到某一种数据结构
比如递归算法对应到栈
广度搜索对应到队列

学习一种数据结构时
应先找到其相应的算法
然后通过理解算法来学习数据结构
这样才能更好的掌握

否则会有一种,学了都不知道有什么用的感觉

回答3:

我刚开始学习数据结构,看了两章,感觉概念艰涩难懂,都不知道在讲什么,也不知道有什么用,导致很没有兴趣。