V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
roricon
V2EX  ›  程序员

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

  •  
  •   roricon ·
    soloradish · 2013-09-18 14:09:11 +08:00 · 5158 次点击
    这是一个创建于 4069 天前的主题,其中的信息可能已经有所发展或是发生改变。
    非CS专业自修python的人表示不懂……
    需要具备什么样的知识才能够符合‘熟悉常用数据结构和算法’的要求?

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

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

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

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

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

    到底有哪些,看看算法导论的目录就明白了。
    msg7086
        4
    msg7086  
       2013-09-18 22:11:00 +08:00
    树和图和他们的小伙伴们
    txx
        5
    txx  
       2013-09-18 22:23:52 +08:00 via iPhone
    我一般都会 揉在机试里面。考个排序啊 哈西啊。像平衡树这种东西。裸写不查文档v2ex 也没有多少人写得出来吧
    master
        6
    master  
       2013-09-18 23:39:54 +08:00
    算法和数据结构重要的是在于思想,并不局限于语言吧,
    重要的还是先要理解,理解了之后自然能用自己习惯的语言来实现,差别只是麻烦与否的问题
    chrishine
        7
    chrishine  
       2013-09-19 08:37:12 +08:00
    能否用学到的算法思想用到新问题上面,或者用到实际问题上面.
    拿大名鼎鼎的二分来说吧.
    1,bug free,取中值用到加法有问题.Java是提供了无符号移位运算符,C/C++是用low + (high - low)/2,都表明算术运算对那些发现范围不够却不会自动扩展范围的语言是不安全的.在这种不安全的语言当中,写一个程序计算一天有多少毫秒,你会用int还是long?计算一年有多少毫秒呢?(π秒是一个纳世纪)
    2,二分查找是要有序的先决条件的.给两个日期,计算之间有多少工作日,你如何通过预处理让算法看起来美妙.
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2836 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 02:21 · PVG 10:21 · LAX 18:21 · JFK 21:21
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.