招聘信息里面所谓的‘常用数据结构和算法’都是指哪些呢?

2013-09-18 14:09:11 +08:00
 roricon
非CS专业自修python的人表示不懂……
需要具备什么样的知识才能够符合‘熟悉常用数据结构和算法’的要求?

虽然也看过数据结构的书,但基本上都是用C写的。按照我的理解Python又不直接操作内存,只需要用Python内置的那几个数据结构拼拼凑凑就能满足我的使用要求了。

说道算法,就更不懂了。到底什么才算“常用算法”

还请各位大神指点一下。
5057 次点击
所在节点    程序员
8 条回复
Mutoo
2013-09-18 14:13:33 +08:00
你需要这个《Data Structures and Algorithms Using Python》
nybux
2013-09-18 15:57:52 +08:00
我觉得常用的就是java,c++,c#这种库都提供的数据结构和算法
比如 数组,链表,平衡树,哈系表
查找,排序,想不出了
Ricepig
2013-09-18 16:23:23 +08:00
python不直接操作内存,但是并不妨碍python可以实现这些数据结构

数据结构包括但不限于:数组、链表、队列、各种树、图、各种键值集合(哈希表、Map)。

常用算法包括但不限于:查找、排序、树的各种BFS/DFS、图的各种遍历、最短路径、简单的数值计算和线性代数、简单的DP、贪婪等等。

到底有哪些,看看算法导论的目录就明白了。
msg7086
2013-09-18 22:11:00 +08:00
树和图和他们的小伙伴们
txx
2013-09-18 22:23:52 +08:00
我一般都会 揉在机试里面。考个排序啊 哈西啊。像平衡树这种东西。裸写不查文档v2ex 也没有多少人写得出来吧
master
2013-09-18 23:39:54 +08:00
算法和数据结构重要的是在于思想,并不局限于语言吧,
重要的还是先要理解,理解了之后自然能用自己习惯的语言来实现,差别只是麻烦与否的问题
chrishine
2013-09-19 08:37:12 +08:00
能否用学到的算法思想用到新问题上面,或者用到实际问题上面.
拿大名鼎鼎的二分来说吧.
1,bug free,取中值用到加法有问题.Java是提供了无符号移位运算符,C/C++是用low + (high - low)/2,都表明算术运算对那些发现范围不够却不会自动扩展范围的语言是不安全的.在这种不安全的语言当中,写一个程序计算一天有多少毫秒,你会用int还是long?计算一年有多少毫秒呢?(π秒是一个纳世纪)
2,二分查找是要有序的先决条件的.给两个日期,计算之间有多少工作日,你如何通过预处理让算法看起来美妙.
bearsiji
2014-06-16 04:38:46 +08:00

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

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

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

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

© 2021 V2EX