数据结构和算法的区分和学习

尼古拉斯•威茨(Niklaus Wirth)曾说过一个名言:程序 = 数据结构 + 算法(Programs = Algorithm + Data-Structures),这也导致许多编程教程将它们混合起来讲。而实际上它们之间虽然有 “1+1>2” 关系,但属于是相互独立的学科

总结:数据结构用于解决数据存储问题,而算法用于处理和分析数据,它们是完全不同的两类学科

打个比方:数据结构就像去教你如何去摆放书架及书,而算法教你如何更节省时间及空间的找到你想要的书籍。

如何学习数据结构和算法?

数据结构和算法虽然是编程的基础课程,但是比较深奥!建议在熟练掌握一门编程语言后(至少语法部分没问题),再去学习数据结构和算法。由于大学教学的第一门编程语言通常是 C 语言,所以数据结构和算法的大部分教程是用 C 语言写的,我也建议大家用 C 语言来初步学习数据结构和算法,当然其它语言也行!

对于我来说,我喜欢在实践中学习或者说对书面理论知识不太感冒,因此我用印象/感官来学习,比如:能多个感官学习就多个感官,边读边画,边看边听等等。最后再自我运用总结,将知识点体系化、串联化。

触类旁通的学习!

 在学习编程时,总有人因为不自信而打退堂鼓。比如逻辑思维混乱、数学和英语不好等等。我承认数学和外语好对于学习编程语言是加分项,但它们不是必要项(你又不是学习到了顶尖地步了?谈什么必要)

用武侠小说里的江湖话打个比方:数据结构相当于武侠的内力,而算法相当于武侠的武技。

你可能感兴趣的:(计算机基础(重要),数据结构,算法,数据结构)