学习数据结构与算法需要哪些必备知识?
直接从 html->css->javascript->sql->php 这样学过来的。
没有学过c语言,更没有涉猎过任何有关数据结构与算法之类的知识。
请问,若是现在我想要学习算法,需要必备哪些知识?
还有,好像现在的讲关于数据结构与算法的,都是用c语言来描述的,一定要先学习c语言才能学习数据结构与算法吗?
算法对数学知识的要求高吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(14)
不需要有太多的数学知识,高中数学就足够了。很多人说算法需要数学知识,可能他们把高中数学都忘的差不多了。
在你打算要用算法解决某些数学问题的时候,例如对函数求导,求积分,解线性方程之类,才需要更多的数学知识,像线性代数、插值和逼近理论……
其实不用学C,用PHP,Python,JS 也可以,数据结构和语言无关的,是一种思想(找不到比较准确的词)吧,PHP 里面SPL也有相关的实现,至于算法,学习一些常用的算法基本不需要太高的数学知识。
但是学C更容易搞清楚是什么一回事。
只会javascript就已经有基础了,最好再能有点高中的数学打底。学算法语言没有很大的区别,会一样就行。
不一定要C语言..你可以买本javascript描述的算法书,比如《学习JavaScript数据结构与算法》
数学的话,还是要补一点儿的。个人认为对数学的要求不是特别高
1.学习算法我推荐一本书我当时学数据结构的时候就看的这本书《大话数据结构》,我觉得本书的主要优势图形结合还有就是学起来比较简单,简单的C语言代码。
2.在结合线上的可视化工具http://visualgo.net/,(补充中文网站http://zh.visualgo.net/)这个工具可以帮你边执行代码一遍生成图形化,这样学起来既有趣又方便。
3.如果C语言想要学习下就可以看看些基础的C语言的就可以学数据结构了,其实我个人感觉学习数据结构学的试算法,未必要把某个语言学的多好才能学,静下心来没有学不好的。这是本人的拙见,如果有不懂得欢迎讨论~
4.这里还有视频资源http://watchmen.cn/video/algorithm/
http://mooc.study.163.com/course/ZJU-100...
实名反对楼上那些说学点c皮毛就可以会数据结构的了。不懂指针怎么弄链表?怎么弄栈?不懂怎么用联合体怎么试着运行自己写的栈?
数据结构和算法不一定要学习C语言,但是最好要了解吧,一般来说c的效率比较高点,另外数学好的话对理解算法是有好处的,动态规划啊,决策树啊之类的,数学不好的话理解起来有点困难吧
第一门学的是c语言
学堂在线上有c++描述的数据结构视频教程。使用了c++的基础语法class等,看上去和es6的class相似性挺高的
我也试着用js描述,可惜js基本类型不能方便的按引用做函数实参也不能重栽操作符,略显不便
只好粗略学习下C++的基础
学习数据结构主要目的还是解决问题,带着如何用数据结构解决问题的想法会有学习的动了
可以配合学堂在线程序设计基础课程 既可以学习c++基础 还可以了解解决问题的方法
为了学习算法,而选择C语言是最大的错误。C语言,不易懂,也难精...
选择一门你比较了解的语言结合数据结构/算法来进行吧,Javascript,Java等等
去看算法导论吧,没有一行代码
当你就发现语言不重要时
再去看purely functional data structures
(逃
ps.算法和数据结构对搬砖似乎没有什么帮助
算法分析以及自行的算法设计对于数学还是有一定要求,算法实现的并没有什么数学要求,了解运行步骤之后使用合适的程序设计语言实现即可。若只是使用算法,对数学的要求不怎么高,但是若是想深入理解算法精髓,灵活设计优秀的算法,还是要有一定的数学知识的,我个人认为也可以通过坚持算法的学习来提高数学水平,即逆向学习。
如果想学数据结构与算法对数学没什么要求,还是比较简单