数据结构与算法之美
王争
前 Google 工程师
280067 人已学习
新⼈⾸单¥68
登录后,你可以任选4讲全文学习
课程目录
已完结/共 81 讲
基础篇 (38讲)
数据结构与算法之美
15
15
1.0x
00:00/00:00
登录|注册

总结课 | 在实际开发中,如何权衡选择使用哪种数据结构和算法?

你好,我是王争,今天是一篇总结课。我们学了这么多数据结构和算法,在实际开发中,究竟该如何权衡选择使用哪种数据结构和算法呢?今天我们就来聊一聊这个问题,希望能帮你把学习带回实践中。
我一直强调,学习数据结构和算法,不要停留在学院派的思维中,只把算法当作应付面试、考试或者竞赛的花拳绣腿。作为软件开发工程师,我们要把数据结构和算法,应用到软件开发中,解决实际的开发问题。
不过,要想在实际的开发中,灵活、恰到好处地应用数据结构和算法,需要非常深厚的实战经验积累。尽管我在课程中,一直都结合实际的开发场景来讲解,希望带你真枪实弹地演练算法如何解决实际的问题。但是,在今后的软件开发中,你要面对的问题远比我讲的场景要复杂、多变、不确定。
要想游刃有余地解决今后你要面对的问题,光是熟知每种数据结构和算法的功能、特点、时间空间复杂度,还是不够的。毕竟工程上的问题不是算法题。算法题的背景、条件、限制都非常明确,我们只需要在规定的输入、输出下,找最优解就可以了。
而工程上的问题往往都比较开放,在选择数据结构和算法的时候,我们往往需要综合各种因素,比如编码难度、维护成本、数据特征、数据规模等,最终选择一个工程的最合适解,而非理论上的最优解
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《数据结构与算法之美》
新⼈⾸单¥68
立即购买
登录 后留言

全部留言(36)

  • 最新
  • 精选
  • 安然自若
    代码在哪里🧐

    作者回复: https://github.com/wangzheng0822/algo

  • 观弈道人
    课程要结束了,可惜拉下好多内容。
    30
  • 猫头鹰爱拿铁
    已经开始二刷了。二刷完后打算再做一遍习题吧。 关于选择数据结构这块,我觉得确实要好好研究下底层的数据结构实现。这个对自己的成长也是有好处的。例如看完hashmap的源码会对巧妙使用位运算提升性能有更深层次的体会。然后就是工程中还要考虑实际场景,例如并发等等,如果不研究深一点数据结构,哪怕对应到散列表,jdk有hashtable,hashmap,concurrentmap选啥呢。
    4
    19
  • 牧民牛仔
    老师的课程设计的很合理,对应的数据结构及算法章节,随时可查,随时可以复习。点个赞
    17
  • 李伟
    在平时工作上,看到有些前人留下来的代码,看起来效率不是很高,但是却没有人去优化它,应该就是属于老师今天说的这种情况!
    2
    16
  • 传说中的成大大
    这篇文章让我想起了以前看书学习设计模式中德一个忠告,滥用设计模式比不用设计模式更糟糕!
    11
  • 王子瑞Aliloke有事电联
    学习好基础的知识,力求能开发出ES,Kafka,MQ 这一类的优秀开源工具。 一刷还没完成,但数据结构与算法,我一定会精通的,计划花200+小时的认真学习,精通数据结构与算法
    7
    9
  • 纯洁的憎恶
    1.目标不同,评价标准不同。 2.根据环境特征选择解决方法。 3.将复杂、开放的问题,合理抽象为特定范式。 4.善于找到问题的瓶颈,并优先解决。 5.善于借助前人的经验,并尽可能理解他们的经历与选择。 6.注意成本收益,投入恰到好处,切忌严重过度投入。
    8
  • 未来的胡先森
    这门专栏要不断的回过头去复习巩固,关键还是要不断的 coding 练习
    6
  • 呦呦鹿鸣
    是的,用最小的成本满足需求,这或许就是终极原则了。做设计时应该要有取舍,权衡各方面的优劣,切勿过度设计
    4
收起评论
显示
设置
留言
36
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部