非商业转载请注明作译者、出处,并保留本文的原始链接:http://www.ituring.com.cn/article/213203
韩国欧巴不仅会撩妹,还有真才实学哦~~~
看看欧巴如何陪我们设计算法吧~~~~
具宗万毕业于韩国延世大学(韩国著名高等学府)计算机系,之后曾在Innotive和NHN (NHN是韩国目前最大的互联网服务公司,旗下有韩国排名第一的搜索引擎NAVER和韩国排名第一的游戏公司Hangame)任软件工程师,目前在芝加哥高频交易(HFT)公司任交易算法开发工程师。另外,他还自2007年开始,参与了Algospot的运营和管理,此网站是专门为韩国编程竞赛参赛者们提供交流场所的网站。具宗万著有《算法问题实战策略》一书,本书通过解答编程竞赛中的问题使读者能够学习到各种算法的设计技巧和算法结构,进而提高自己的问题解决能力。
具宗万竞赛获奖经历:
2002年、2003年获“韩国大学生程序设计竞赛”金奖
2003年、2004年进入“世界大学生程序设计竞赛”决赛
2004年、2006年、2008年进入“Google Code Jam”决赛
2007年获“Top Coder Open”亚军,2006年进入决赛
2008年、2009年获“Java算法竞赛”冠军
问:和其他算法图书相比,《算法问题实战策略》有什么特色?适合什么样的读者?
本书最大的特点在于,它详细介绍了其他图书未曾深入探讨的算法构思过程。《算法问题实战策略》尽可能细致地讲解了构建算法过程中必需的感悟和渐进式发展过程,展示了算法应用于解题的实践过程,这有助于读者直观理解算法,培养亲自设计算法或对算法进行变形的能力。
问:为提升算法技巧,除了要掌握常用的思想(枚举、回溯、递归、二分、动态规划等),以及常用的数据结构(栈、堆、树、图等),还需要在哪些方面进行努力?
其实每个领域都一样,单靠机械地训练掌握技术是远远不够的。如果想最大限度地提高编程竞赛中的解题能力,需要不断检讨自己的弱势所在,进行更高层次的修炼。我建议各位经常回顾自己之前遇到过的问题,思考那些未能解决的问题需要哪些技巧、付出哪些努力;对于已经解决的问题,需要再想想有没有更简洁的解题方法。
问:算法题目中经常会出现一些陷阱,您怎样看待这些陷阱?
确实,有些算法题目会给参赛者带来困扰,也容易让人忽略,但是能把问题中的各种情况全面考虑,是开发人员或电算学家的重要职业素养。
问:一些程序员一直在学习算法,但是在实际编程项目中却很少用到。请问怎样才能将学和用相结合呢?
我认为,从学习算法或者参加编程竞赛的过程中,不仅仅可以获得算法和数据结构的知识、技术,最重要的是在给定的条件下寻找最优解决方法的思考方式。因此,即使无法直接应用竞赛中使用的技术,学习算法本身也不是一件浪费时间的事情。
问:在平时的工作学习中,如何进行 “算法素养”的培养?您在学习算法知识的过程中有什么值得推荐的经验?
我建议大家可以不断关注相关的主题,多多参加线上/线下活动,与志同道合的人多交流、多学习。大家一起分享关注点和知识点,形成良性竞争,这既能提高学习效率,又能激发学习兴趣。
问:算法和数学总是分不开的,应该在学算法之前先熟悉相关的数学知识,还是学习算法之后再去研究相关的数学知识?如果只对算法实现的思路感兴趣,但是对其中涉及的数学推导有排斥情绪,该怎么办?
学习算法和数学的先后顺序并不重要。我曾经也只对算法的实现感兴趣,而对数学不感冒,但意识到“要想深入理解算法就必须学习数学”这个事实后,才逐渐开始喜欢数学。从这一点上看,我认为有机会可以提前掌握数学知识,应该能提高算法学习的效率。希望大家不要犯我这样的失误。
问:《算法问题实战策略》中的一些问题在《具体数学》中都有介绍,好的数学方法能使算法问题的解决事半功倍。那么,哪些数学书籍对您的帮助最大?
对于不同领域的学习,经常会有不同的推荐书目,大家可以根据自己的研究领域寻找相关的书单。每当有需要的时候,我会去找来不同的书进行学习,所以很难说清楚究竟哪本书对我的帮助最大。
问:根据运作环境的不同,算法的效率也不同,有时我们必须放弃某些算法而选择其他算法,请问怎样处理算法与环境之间的问题?
程序在何种环境下运行是十分重要的前提条件。在类似条件下,寻找最优算法是编程竞赛给我们带来的最大好处。具体说来,我们要端正心态,不拘泥于自己已知的算法,不断尝试运用符合条件的多种方法。
问:新型语言越来越倾向于屏蔽底层,在这种情况下,算法效率的差异是否还那么重要?
新出现的编程语言、技术、硬件最多只是让程序以成倍速度运行而已。高效算法和低效算法之间的差异很大,所以即使使用最新的硬件技术也无法挽救低效算法。
问:读者看完《算法问题实战策略》之后,您建议还应该阅读哪些相关书籍?
我建议将《算法导论》等理论型图书从头至尾通读,了解算法相关的重要知识,然后有选择地阅读自己需要的书籍即可。另外,可以到网上查找相关资料进行学习,在线资料通常比一般图书更有用。
更多精彩,加入图灵访谈微信!