活动安排:结合2011级软件工程和服务外包专业正在开出的“算法与数据结构”课程,组成合作学习团体,实践相关的各种算法,讨论在算法学习中遇到的问题,提高驾驭算法的能力。
适合对象:计算机是算法的科学。学习IT的童鞋,在算法中下多大的功夫都不为过。目光高远的你,来吧,今日的算法达人,未来的IT中坚!
教材:严蔚敏,吴伟民. 数据结构(C语言版). 清华大学出版社
学习方式:
(1)按照数据结构课程的授课进度,完成课程学习。
(2)使用你自己喜欢或擅长的语言(建议C/C++),将教材中涉及的算法一一进行实现和调试。这或许是个笨办法,但也许是算法达人修炼的最好方法。
(3)在自己的博客中建立一个“算法修炼进程”页面(附后,可以copy为你的博文),并将之设为博客首页。将每一个实现的算法发表为博文,并在“算法修炼进程”页面中建立链接,方便自己找到实现的算法,也方便其他同学参考、讨论。
(4)每周安排一次集中学习(可以固定时间),讨论题目中遇到的难题。
学习要求:按时参加集中学习,及时提交博文。修炼营的集中学习以实践为主线,之外的理论学习需要自行安排,注重读书写编程交叉进行,相互促进,看书、思考的环节不能省略。
其他建议:在实践基础上,如果还有精力且进一步提高算法素养,建议同步看《算法导论》。
点此链接查看算法达人修炼营分班及进展情况。
方法指导:如何将数据结构中的抽象算法变成程序
博文的形式参见了《“算法达人修炼营”实践作品展示模板》,如何写出让人读起来舒服的博文,参见视频《发布第一个C++上机报告》,如何让博文更好看,见视频《在CSDN上写出漂亮博文》。
博文推荐:算法的力量-李开复
附:“算法修炼进程”页面(请同学们自建页面,用下面的形式记录你的工作)
宣言:作为算法达人修炼营营员,在接下来的几个月时间,我将投入到这项可能艰苦,但却会使我的学习跃上新层次的学习中去,本页将记录我的努力,见证我的成长,加油!
下面是各章算法列表,我将在实现每一个算法之后,将相关博文链接加进来,遍地的小手就是对“达人”的赞许。
第2章 线性表
“线性表-顺序存储-初始化及遍历操作的实现(注:这一篇博文是我提供的“算法达人修炼营”实践作品展示的模板)
“线性表-单链表存储-插入、删除数据及合并线性表操作的实现
“线性表-单链表存储-……操作的实现
“线性表-循环链表存储-……操作的实现
第3章 栈和队列
第4章 串
第5章 数组和广义表
第6章 树和二叉树
第7章 图
第8章 动态存储管理
第9章 查找
第10章 内部排序
第11章 外部排序
第12章 文件