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

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

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

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

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

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

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

触类旁通的学习!

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

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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值