1
Mutoo 2013-09-18 14:13:33 +08:00 1
你需要这个《Data Structures and Algorithms Using Python》
|
2
nybux 2013-09-18 15:57:52 +08:00 1
我觉得常用的就是java,c++,c#这种库都提供的数据结构和算法
比如 数组,链表,平衡树,哈系表 查找,排序,想不出了 |
3
Ricepig 2013-09-18 16:23:23 +08:00
python不直接操作内存,但是并不妨碍python可以实现这些数据结构
数据结构包括但不限于:数组、链表、队列、各种树、图、各种键值集合(哈希表、Map)。 常用算法包括但不限于:查找、排序、树的各种BFS/DFS、图的各种遍历、最短路径、简单的数值计算和线性代数、简单的DP、贪婪等等。 到底有哪些,看看算法导论的目录就明白了。 |
4
msg7086 2013-09-18 22:11:00 +08:00
树和图和他们的小伙伴们
|
5
txx 2013-09-18 22:23:52 +08:00 via iPhone
我一般都会 揉在机试里面。考个排序啊 哈西啊。像平衡树这种东西。裸写不查文档v2ex 也没有多少人写得出来吧
|
6
master 2013-09-18 23:39:54 +08:00
算法和数据结构重要的是在于思想,并不局限于语言吧,
重要的还是先要理解,理解了之后自然能用自己习惯的语言来实现,差别只是麻烦与否的问题 |
7
chrishine 2013-09-19 08:37:12 +08:00
能否用学到的算法思想用到新问题上面,或者用到实际问题上面.
拿大名鼎鼎的二分来说吧. 1,bug free,取中值用到加法有问题.Java是提供了无符号移位运算符,C/C++是用low + (high - low)/2,都表明算术运算对那些发现范围不够却不会自动扩展范围的语言是不安全的.在这种不安全的语言当中,写一个程序计算一天有多少毫秒,你会用int还是long?计算一年有多少毫秒呢?(π秒是一个纳世纪) 2,二分查找是要有序的先决条件的.给两个日期,计算之间有多少工作日,你如何通过预处理让算法看起来美妙. |
8
bearsiji 2014-06-16 04:38:46 +08:00
|