一、课程总览
这门课关于什么?
- 算法的中级概论(大学中对没学过相关主题的学生提供的一种入门课)
- 算法的程序实现以及实际问题中算法的应用
- 算法与数据结构
课程大纲
第一部分:基本数据结构、排序和查找
数据结构部分:栈、队列、背包、优先队列
算法:排序的经典算法(快排、归并、堆排、基数排序)
查找的经典算法(二叉查找树、红黑树、哈希表)
第二部分:更高级的算法
图论算法、字符串处理的算法、正则表达式以和数据压缩
以及前面课程中讲解过的基本算法的高级算法
二、为什么要学算法
- 所影响的领域十分广泛
- 算法本身的趣味
- 启发智力
- 成为一位娴熟的程序员
三、预备知识
- 本课程使用语言——Java
- 需要一些数学基础,但不包括高等数学
- 快速回顾:《算法(第四版)》中的1.1与1.2章节
- 深度复习:《An Introduction to Programming in Java:An Interdisciplinary Approach》
- 底线:你至少会编程 一个快速的准备方法是:在自己的电脑上使用书中提到的编程模型 写一个Java程序
- 编程环境:可以用自己习惯的、或者网站上提供的