关于数据结构与算法竞赛

各位萌新or大佬

原本是想自己写一点的,想来想去,还是引用陈越姥姥在中国大学MOOC上开设的数据结构课程的新学期寄语给你们吧

网络上各种非常棒的帖子非常多,蕴含着前辈的智慧和对后来者的期盼,我又何必费劲巴拉去写出狗屁不通的东西呢。总之我想对你说的是,数据结构与基本的算法分析能力是万丈高楼的基础,基础不扎实,或许你可以继续有所建树,但是终究会成为限制你的天花板。不管你对这方面有没有兴趣,都需要去学习这门课程,而兴趣浓厚的同学可以继续探究。那么,该如何深入呢?进行理论研究在目前的情况下是不现实的,因为咋们学习消化完这门课程之后,连门都没入啊。何况进行理论研究还需要非常棒的数学基础与逻辑分析与抽象的能力,还有其他的计算机相关学科的知识。

那还有没有其他方式可以让我继续接触这块奇妙的领域?你好,有的!算法竞赛 

这是途径之一,其中最著名的而且含金量最高的非ACM莫属(全称ACM国际大学生程序设计竞赛 / International Collegiate Programming Contest)

含金量有多高呢,拿西安电子科技大学的优研计划来说,入营资格:非985/211院校的本科生需要在高水平学科竞赛中获奖或获得高水平研究成果

其中一条便是ACM/ICPC国际大学生程序设计竞赛亚洲区分站赛金奖和银奖获奖学生

如果你成为优秀学员,考研是可以优先录取的哦。(据不可靠传言,是国家线即可

就算在认真准备之后,你没有获奖,我相信你一定不会后悔准备的过程与花费其中的精力的,相信我!(不过像我这样没有好好准备的当然会后悔/(ㄒoㄒ)/~~

作为弱校,我们也在积极参与其中(摸鱼),如果你对这方便有兴趣的话,我们正在筹建校队,欢迎你加入我们。

最后我想说的是,这是一件投入产出比比较低的事情,短期收益或许非常低。如果你耐不住寂寞,不要轻易入坑

接下来是为大家布置的任务,如果在接下来两周,你能完成该课程中前两周的内容并且完成相应的编程习题的话,我们的队伍需要你这样对代码充满热情的选手!

完成任务之后你可以将课程平台相关信息截图发送至我们的邮箱 [email protected]

下面是分割线啦,建议大家先阅读下面的"新学期寄语"之后,再阅读关于ACM竞赛你需要了解的一些东西与相关问题(只是举个栗子,就这样

感谢大家的阅读(累~


【数据结构】新学期寄语

新学期马上就开始了,你准备好了吗?^_^

如果你学过翁恺老师的“C语言程序设计”并且被他的期末考试虐到心塞,“陈越姥姥”跟你握个手 —— 咱们是同学啊!(刚学完C就教数据结构我也是醉了……)如果你读过高等教育出版社出的《C语言程序设计(第2版)》这本教材,何钦铭老师跟你握个手 —— 写这本书不容易,欢迎多提意见,挑错有奖啊!话说第3版刚出来,要不要去看看…… ^_^

神马?两次握手都够不着???

那……

其实……

一点关系都没有啦!^_^

“数据结构”其实并不依赖于任何一种编程语言,这门课讲的是有效解决问题的方法和原理,编程语言是实现这些方法的工具而已。我们的课后练习平台拼题A(https://pintia.cn/上有《中国大学MOOC-陈越、何钦铭-数据结构-2019夏》习题集)提供了三十多种编程语言的编译器/解释器:gcc、g++、clang、clang++、octave、openjdk、python 2、python 3、ruby、bash、cat、clisp、fpc、gfortran、go、ghc、lua、luajit、mcs、node、ocamlc、php、perl、awk、dmd、racket、valac、vbnc、kotlinc、swiftc、gfortran、octave —— 你只要会用其中任何一种,就可以下课刷题玩啦~

学过一门编程语言,你是否大概习惯了计算机的思维方式呢?这就像刚入门的泥瓦匠,学会了如何砌一堵坚实的矮墙,能成功砌起一圈猪圈并且因为一群猪都拱它不倒而暗自欣喜(

总感觉哪里不对,谁是猪……)。而学习数据结构,就像学习构造更复杂建筑的原理,教你如何盖一座精巧的小型别墅,麻雀虽小但五脏俱全。今后如果你有兴趣了解建筑摩天大厦的技术,建议学习“软件工程”,学会如何把一个团队的人组织在一起,有条不紊地完成一个百万行以上代码量的软件产品。

要学好这门课,你要有每周投入8小时(或者更多)的决心,其中听课只占一小部分 —— 每次讲课的时间一般只有1小时左右,重要的是课后的练习。光说不练嘴把势,只了解原理是远远不够的,你必须在实践中去深刻体会每一个概念的运用,才能真正知道经典的数据结构为什么存在、以及在什么情况下可以最好地解决什么样的问题。

话说翁恺(主讲“C语言程序设计”、“Java语言程序设计”)、何钦铭(主讲“C语言程序设计”、“数据结构与算法”)、陈越(主讲“数据结构与算法”、“软件工程”)曾经于2013年参加了浙江大学的“ACM竞赛”,这个学生们眼中恐怖的黄金组合给自己的队伍取名“135队”,欢乐地跟自己的学生们一起抢气球玩,最后以2个气球的成绩排到了三等奖的队伍里(搞笑的详细经过参见“陈越姥姥”新浪博文:https://weibo.com/p/1001603845676948658364)—— 这个故事告诉我们,如果你学习的目标是获得优秀证书、在程序设计竞赛中获得好成绩、或者在找工作的时候通过PAT获得顶级企业的应聘机会,只有理论基础是不够的 —— 讲理论能拼得过我们仨不?要在实战中取得好成绩,你还需要过人的熟练编程及调试能力、扎实的英语阅读能力。所以为了帮你获得这些能力,我们会布置一定量的课后编程题目,有些是中文、有些是英文,部分是PAT真题,希望你安排出充足的时间、运起洪荒之力练习。

如果你觉得洪荒之力都不够,慌不要慌,我们还特意设计了“小白专场”系列,手把手教小白如何将解决问题的抽象算法用具体的C语言代码实现。同时我们还将提供更多的源代码(C语言)、以及课后讨论题的参考答案

所谓“万事开头难”,但是不要怕,现在的大侠都是从勤奋的小白开始的,慢慢总会入门哒!

新学期马上开始了,你准备好了吗?^_^

你可能感兴趣的:(关于数据结构与算法竞赛)