我只写JS,为什么也要学习算法?
我入行最开始时是做网页设计的,那是在2003年,
然后一路到了现在,...
所以做为读者的你应该已经明白,我是一个野路子出身的程序员。
其实我内心一直很羞于称自己为程序员,
一般我会说自己是,做网页的、写JS的,或是做前端的。。
因为我根本没有接受过正规的计算机科学教育。
所以相当长的时间里,我只知道一种数据结构,就是Array,数组。
在日常的工作当中,Array当然足够使用了,它足以解决大多数问题。
但是,
在面临复杂问题的时候,
只用Array就会显得手段很单一,手法也很笨拙了。
因为JS的数组还是比较简陋的(别问我哪简陋,问太多就等于打我脸,谢谢)
在最开始相当长的时间里,我写的JS都是比较小的东西,最复杂不过是搞几个插件而已。
在北京最后几年里,在公司里做网页版的办公协同软件;回沈阳后又做了几个电商类的应用,反正对我来讲都比较复杂的东西。
就感觉用数组有点,,费劲!
应该会有更好的办法
记得以前看到一句话,大意是但凡有些规模的程序,都需要几种不同类型的数据结构,来保存和处理相应的数据。并且用不同的算法来输入输出。。
例如昨天我看过的链表,它对数据和查找、插入、删除的处理,就比数组要快很多。
这在简单的应用上看不出来效果,但如果一个股票类网页要加载10000+行列表的时候,就看出差别了。
还有二叉树,它的出现就是为了查找一组数据中的最小值和最大值,它的相关查找算法的效率那是杠杠的。
但如果我不知道这些,我依然只能使用Array数组。
不是说它不好,它只是效率低。
但这不是数组的错,是我的问题。
计算机科学是一门相对成熟的学科,我们遇到的许多问题,应该都早已有了相应的解决方案,只是我没学过所以我不知道。
我想明白这一点的时候,真是悲从中来。
所以我决定尽力学好算法,学到哪算哪,能学多少是多少。
算法真是非常重要,能提高效率,最直观的效果就是“快”!
在现在的网络世界中,还有什么比快更重要呢!
天下武功,唯“快”不破。
网友评论