前端也要学算法

2016-05-24 13:55:19 +08:00
 barretlee

最近在复习一些基本算法,参考书是《算法(第四版)》,复习过程中会把书中的所有的算法用 JavaScript 实现一遍,感兴趣的同学可以在这里 Follow 我的脚步: https://github.com/barretlee/algorithms ,每天空闲时间写几个, issue 中同步。

7523 次点击
所在节点    程序员
23 条回复
horizon
2016-05-24 14:14:30 +08:00
中文版还是英文版啊?
想买英文版但是怕看不懂=。=
murmur
2016-05-24 14:23:44 +08:00
算法用 js 写不如用 java 写 这个是一个思路跟语言无关但是和明显 java 更适合一些。。感觉上,数据结构常见的不就 c 版和 java 版么
jsonline
2016-05-24 14:27:40 +08:00
这跟哪种语言有关系吗?
cxbig
2016-05-24 14:28:19 +08:00
@murmur LZ 的标题误导了你,用 JS 练习写算法最后还是放后端比较实际,前端一般都不会放太重的运算。
wizardoz
2016-05-24 14:29:30 +08:00
跟语言有关系,但是不是在于学算法上,而是在语言的熟练程度上。
用一种自己常用的语言去实现自己第一次学习的算法,可能会对语言有新的发现。
wxx199101046
2016-05-24 14:51:03 +08:00
建议楼主直接 leetcode 刷题
flowfire
2016-05-24 15:14:20 +08:00
@murmur 昨天刚买了一本 ES6 看,现在 js 已经和 java 几乎是一毛一样的东西了
连 class , extend , super()都有了。。。
wujunze
2016-05-24 15:18:04 +08:00
算法跟编程语言木有太大关系
就像你吃饭是用勺子 还是叉子 筷子
warDoggie
2016-05-24 16:10:05 +08:00
支持楼主,已 star
上个月想用 js 刷 leetCode 有点刷不动
最近也在用 python 实现算法第四版里面的例子,共勉

@flowfire 底层继承机制还是差蛮多的。单说学习思想,其实动态语言刷起来比静态语言还舒服些。虽然刷题多数时间都在托腮发呆,并不差编写效率。(T ^ T)

@murmur 最常见 c 和 java 是因为受众最多啊,本身不限于语言的东西,用大家都能看懂的语言表达比较适合做教程嘛。
lovedebug
2016-05-24 16:14:14 +08:00
@flowfire JS 的继承和 Java 差距很大的,只是看起来像是面向对象,其实还是原型继承而且坑很多,目前还有问题。
fhefh
2016-05-24 17:15:17 +08:00
follow
可以建立一个 slack 嘿嘿
barretlee
2016-05-24 18:03:27 +08:00
@fhefh 主要还是学习过程中的一些心得和实战记录, issue 管理应该够了;)
starcraft
2016-05-24 18:24:42 +08:00
我觉得学习的时候,拿 c/c++实现算法四更有意义,哪怕 python 都行,没必要为了前端去用 js 。
barretlee
2016-05-24 18:59:48 +08:00
@starcraft 为什么使用这些语言意义更大呢? Leetcode 也是支持用 JavaScript 来答题的。
fuyufjh
2016-05-24 20:28:44 +08:00
刷算法只用 C++
morning
2016-05-24 20:37:50 +08:00
正好刚开始看这本,已 star
Balthild
2016-05-24 23:08:37 +08:00
话说我第一眼竟看成了学习 基 本 法……
Wangxf
2016-05-24 23:32:01 +08:00
@Balthild 蛤蛤,+1
xiaoshangmin
2016-05-24 23:51:25 +08:00
从来没学过算法
fszaer
2016-05-25 09:32:47 +08:00
@barretlee 我赞同 lz 观点,算法本身语言无关,用 js 实现并没有什么问题,比如我大多数时候在 leetcode 我都会用 js 跟 c 实现一遍,其实算法逻辑通了之后,就是语言熟练度的问题了。

@murmur

我认为数据结构算法以 c 版和 java 版只能说明这两个更加大众化,应用得广,受众面大而已,比如国内科班教 c/c++跟 java 的占到绝大多数。将语言设定为这两个能面向最多的读者。毕竟这类书籍一开始发售的时候有许多语言还很小众, js 大概还是个玩具。选择 c 和 java 做描述实现的语言是多方面的考量,但是这不意味着这俩个就更合适描述算法。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/280890

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX