前言:
在对黎健成采访的过程中,他始终强调自己是一名普通的学生,不能和曹鹏博士那样的刷题大牛相比,他接受采访是为了和更多的同学交流探讨。笔者认为,一个在各类活动中能够取得优异成绩的学生,一定在课余时间付出大量时间进行练习和复习,大量刷题和阅读技术书籍。“天道酬勤”,虽然天资重要,但是更离不开勤奋与努力。黎健成认为自己取得成绩,更多是通过努力付出得到的。
黎健成,北京航空航天大学软件工程专业的大四学生。除了正常上课学习外,积极参加课外竞赛活动,在竞赛活动中不断学习成长。曾获得ACM-ICPC国际大学生程序设计竞赛亚洲区域赛银牌,2012微软精英大挑战三等奖等奖项。
CSDN高校俱乐部:在高校俱乐部会员积分榜我们看到,你的名字(lijiancheng0614)高居榜首,以超越第二名200多分的成绩遥遥领先。你挑战成功了大部分题目,并且是很多题目的擂主。在2014年9月结束的“CCF计算机软件能力认证”考试中,你依然名列前茅。如何在众多竞争者中脱颖而出呢?
黎健成:平时多学习算法多做题,多做相关网站的竞赛,参加学校的ACM竞赛集训。CCF的题目主要考察基本的数据结构和程序设计语言、算法和上机编程和调试能力。对于参加ACM竞赛的同学来说并非特别难。
CSDN高校俱乐部:有些同学觉得编程是需要天分的,没有天资后天即使再努力也会事倍功半。很多人看不到数学、数据结构、计算机类专业课程之间的关系,不清楚他们之间能起到相辅相成的作用。你怎么看待这些学科的关系?你认为参加比赛是否可以提高编程水平呢?
黎健成:这两个问题是这样的。
第一,学好数学,对编程和算法的学习是有帮助的,这三者不矛盾。学到某个课程有需求可以查询并学习另一门课程的相关内容。
第二,很多学校都有编程比赛平台。参加这些比赛有助于提高自己的水平,同时能满足某些特定需求(工作保研等),有时也会有奖品奖 金。一些比赛可能只针对大学生,除此之外似乎没特殊需求了。
CSDN高校俱乐部:高校俱乐部线上的编程练习题目,你基本上都挑战通过了,并且还是某些题目的擂主。分享下这些题目考察的常见算法种类?你认为这些题目对于项目开发和思维方式的培养会带来有效的帮助吗?
黎健成:“高校俱乐部线上习题常见考察的算法有‘模拟’、‘搜索’、‘动态规划’、‘贪心’、‘图论相关算法’、‘数论相关算法’等。掌握这类算法对于项目开发是有实际帮助的,能更快的入手,更好的理解,而且不少项目中也涉及数据结构与算法的应用。算法学习中培养的思维方式对解决现实问题有帮助,如当遇到很多事情的规划时,可能会需要用到算法的思想去解决。对于遇到困难时可能会用到‘枚举算法’等。
CSDN高校俱乐部:很多大一、大二学习过C和Java的同学,初来高校俱乐部做题时无从下手,对系统输入输出不了解。阅读帮助文档后仍然不知道如何答题。对于这种情况,你有什么建议吗?
黎健成:认真阅读帮助文档,有不懂的地方可以多请教别人。慢慢来,好好学习。从我自己的学习过程来说,推荐这些书籍给大家参考:
1) Thomas H.Cormen、Charles E.Leiserson等著的《Introduction to Algorithms》,或潘金贵、顾铁成等译的《算法导论》
2) 刘汝佳、黄亮著的《算法艺术与信息学竞赛》
3) Richard A.Brualdi著的《Introductory Combinatorics》,或冯舜玺等译的《组合数学》
4) 《编程之美》小组编的《编程之美》
采访&作者:ly行云流水 所属机构:CSDN高校俱乐部 http://student.csdn.net
如有推荐的采访者,欢迎发送邮件到studentclub@csdn.net进行约稿。
原文地址:http://blog.csdn.net/csdnstudent/article/details/41805175