百科问答小站 logo
百科问答小站 font logo



能用一种语言独立完成算法导论中 90% 以上的算法属于什么水平? 第1页

  

user avatar   ling-kou-leetcode 网友的相关建议: 
      

如果能用一种语言如 C++, Java 或 Python 完成算法导论 90% 以上的算法, 我们的看法是这是个狼灭(狠人)...

开个玩笑, 言归正传, 我们不妨先来看一下《算法导论》是一本什么样的书和它包括了什么内容。

算法导论简介

《算法导论》英文名为"Introduction to Algorithms", 有时也被称为 CLRS (取自作者四个人名字的首字母), 在计算机领域经典书籍中有时会与SICP(计算机程序的构造和解释), CSAPP(深入理解计算机系统)相提并论。

算法导论是国内外公认的算法学习的经典教材, 国内外很多知名院校如 MIT, CMU 都有开《算法导论》的课。

算法导论与国内编写的算法教材有些许区别, 算法导论讲得很细致, 如果你阅读惯了国内教材, 可能会觉得它有点啰嗦, 这一点可能很适合自学, 但有时候也会像小编自学一样, 卡在某个地方一直想不通, 就一直卡下去...

算法导论具体讲了什么

算法导论从最基本的函数增长率开始讲起, 然后依次讲排序, 散列表, 二叉查找树, 红黑树, B-树, 二项堆, 图算法等。

如果前面这些内容你还可以接受的话, 算法导论后面就如脱缰的野马起飞了, 算法导论最后一章 Selected Topics, 讲了诸如线性规划, FFT(快速傅里叶变换), NP-完备性, 近似算法等精选主题, 可以这么说, 与最后一章相比, 前面的章节可以说是"开胃菜"(当然这"开胃菜"就已经很难了), 后面的章节才是算法导论的精髓. 这章节后面的习题有时则需要查阅相关领域的论文才能完成。

水平层次如何

前面铺垫了这么多, 回到问题上, 如果一个人完成了算法导论 90% 以上的算法, 那他是一个可以徒手实现红黑树, 二项堆, B 树, 网络流等一些高级算法的人, 而这些高级算法与数据结构, 实现起来并不简单, 少则一两百行, 有时候为了优化效率, 可以达到几百行, 说明这个人不仅算法功底深, 工程能力也很强. 甚者, 算法导论的课后习题有时需要查阅论文并复现论文中的算法, 有时候还可能是计算机领域中最最前沿的论文, 这说明这个人科研能力也不错。

总而言之, 这是一个算法功底深, 工程能力强且有一定的科研能力的人才, 力扣相信这样的人不管是做科研还是其它工作, 都将为社会带来巨大的贡献。

对于这种人才, 我们膜拜就好了, 当然我们自己也不用妄自菲薄, 力扣认为其实不用独立完成《算法导论》90%以上的算法, 只要完成了 50% 算法导论中较基础的问题, 分析问题的能力和算法功底都将会得到了大大得锻炼和提高。

最后, 刷《算法导论》的同时, 如果想拿到 Dream Offer, 可能还需要锻炼下将算法灵活运用的能力, 这时候不妨来刷一下力扣, 将大大提高你的实战能力,提高你的面试成功率哦!


欢迎各位知友关注力扣官方微信公众号:「LeetCode力扣」,更多关于程序员面试、技术干货的内容等你来啃!




  

相关话题

  用JavaScript做其他语言擅长的事情“好”么? 
  LeetCode 刷不下去怎么办? 
  怎么去实现一个简单文本编辑器? 
  突然意识自己曾经引以为豪的编程其实是一种工具,这是一种悲哀吗? 
  在顶级游戏开发的过程中需要怎样的编程实力? 
  python如何将变量名转化为同名字符串? 
  中国的互联网技术有多牛逼? 
  35岁危机只存在于计算机行业吗? 
  「艺多不压身」有道理吗? 
  目前的人工智能离可以自己给自己写代码编程还有多远? 

前一个讨论
搜狗浏览器iOS版下载的视频文件如何批量传到电脑?
下一个讨论
如何评价电视剧《情满四合院》?





© 2024-12-26 - tinynew.org. All Rights Reserved.
© 2024-12-26 - tinynew.org. 保留所有权利