V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
wampyl
V2EX  ›  问与答

求大牛讲下数据结构的问题?

  •  
  •   wampyl · 2014-07-01 22:06:03 +08:00 · 3887 次点击
    这是一个创建于 3803 天前的主题,其中的信息可能已经有所发展或是发生改变。
    lz大学生一枚,学习数据结构。但是还是对这个概念不是很清晰。希望有大牛从宏观方面讲下数据结构的整个包含范围以及具体的应用,帮组更好滴理解数据结构。另外希望大家推荐下文章或者是书籍。谢谢!(新手小白,请多包涵)
    19 条回复    2014-07-02 22:10:36 +08:00
    riaqn
        1
    riaqn  
       2014-07-01 22:21:00 +08:00   ❤️ 1
    本来想发lmgtfy的链接,但是考虑到最近google抽风,作罢了。

    数据结构就是存储,表达数据的方法吧,就是用了这个数据结构后,哇塞,一切都简单了。
    jsjscool
        2
    jsjscool  
       2014-07-01 22:25:18 +08:00   ❤️ 1
    做ACM的大神很多,他们的博客都是在研究这些。
    你百度一下,顺便看看这个
    http://www.programfan.com/acm/
    yxz00
        3
    yxz00  
       2014-07-01 22:33:02 +08:00   ❤️ 1
    数据结构:在内存中保存数据(通常是指大量相同类型的数据)的方式。

    最简单的就是数组,把数据在连续的内存空间中保存。进一步的是链表,树结构等等。
    wy315700
        4
    wy315700  
       2014-07-01 22:35:24 +08:00   ❤️ 1
    http://poj.org/ 上这里做几百道题 基本上就学会了
    fangpeishi
        5
    fangpeishi  
       2014-07-01 23:15:48 +08:00   ❤️ 1
    动手去实现一下几种基本的数据结构会有帮助。
    laoisaudi
        6
    laoisaudi  
       2014-07-02 01:11:10 +08:00 via iPhone   ❤️ 1
    找一本比较好的数据结构的书,认真啃完,然后动手实现一遍,最后最一下oj的题就差不多了
    jprovim
        7
    jprovim  
       2014-07-02 01:53:06 +08:00
    為什麼要講給你? 自己讀書去吧. 別想吃我們咀嚼過得東西, 自己去找食.
    em70
        8
    em70  
       2014-07-02 03:07:37 +08:00 via Android   ❤️ 2
    楼主困惑的其实是学这个东西有啥用

    应该说数据结构是职业程序猿的最重要的基本功,堆栈,队列,哈希,冒泡,二分法,树这些词汇应该烂熟于心,不管什么语言,都得用这些东西去完成一个个功能

    优秀程序员往往数据结构是天生就理解的,不需要人讲,自己看看书即可。大牛基本上都能免修数据结构

    如果实在学不明白,或者没有兴趣,不用自卑,每个人都有自己擅长的领域,你应该思考下自己是否真的适合这个行业,这行需要极高的天赋,填鸭式培训出来最多就是个码农,三十岁前还得转行,不如早点进入适合自己的行业。

    女怕嫁错郎,男怕入错行,这是真理中的真理,切记
    wampyl
        9
    wampyl  
    OP
       2014-07-02 09:39:22 +08:00
    @yxz00
    @riaqn
    谢谢!数据结构就是为了更有效率的利用内存吗?
    wampyl
        10
    wampyl  
    OP
       2014-07-02 09:42:53 +08:00
    @jprovim
    只是让更好层次的人高屋建瓴的从整片森林的角度讲下一下,不算伸手吧。
    wampyl
        11
    wampyl  
    OP
       2014-07-02 09:44:17 +08:00
    @em70
    万分感谢!就是想知道从更高的层次看这个东西的意义,另外可以推荐本书吗?
    wampyl
        12
    wampyl  
    OP
       2014-07-02 09:44:52 +08:00
    @laoisaudi
    可以推荐本书吗?
    windywinter
        13
    windywinter  
       2014-07-02 09:49:16 +08:00
    @wampyl 不是,是为了更有效率的操作数据。比如要O(1)时间随机访问,需要用数组;要O(1)时间插入删除,需要链表;要O(1)时间找最大/最小值,需要堆。
    wampyl
        14
    wampyl  
    OP
       2014-07-02 09:54:38 +08:00
    @windywinter
    明白了。the best answer
    另:能推荐本书吗
    laoisaudi
        15
    laoisaudi  
       2014-07-02 09:57:46 +08:00
    @wampyl <<数据结构与算法-C语言实现>>之类的吧,这些都可以
    yxz00
        16
    yxz00  
       2014-07-02 09:59:15 +08:00   ❤️ 1
    @wampyl 数据结构就是为了更有效率的利用内存吗?

    问这种问题,说明你对数据结构还没有感性认识。你甚至不清楚数组和链表在使用上的区别和优劣。

    但是这些最基本的数据结构是大多数语言基础教程中都会尝试实现的。比如学c语言,任何一本书讲到指针的时候都会不可避免的讲到链表结构的实现。

    所以我的建议是好好学好你的语言基础课先。等你把数组到链表的实现搞清楚了。再来看你现在的问题就觉得其实没有都没必要问。

    学东西一步步来,语言语法先搞透了再来系统的看数据结构和算法。数据结构和算法这种东西我还真没看过太针对初学者的书。唯一我能推荐的就是《算法导论》,但是这个书难,如果看不懂就先放一边,把其他基础课(包括高数)学好再来。
    decken
        17
    decken  
       2014-07-02 14:20:29 +08:00   ❤️ 1
    @wampyl 大话数据结构,对于目前的你非常适合.其他人勿喷
    wampyl
        18
    wampyl  
    OP
       2014-07-02 22:09:34 +08:00
    @yxz00
    @decken 谢谢!
    wampyl
        19
    wampyl  
    OP
       2014-07-02 22:10:36 +08:00
    还得成长啊
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1189 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 23:03 · PVG 07:03 · LAX 15:03 · JFK 18:03
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.