研晟考研,专注清华北大等985/211名校考研辅导,拥有完善的服务团队,专属定制化的考研备考规划,力争实现每位学子的考研梦、名校梦。
考试科目代码:[] 考试科目名称:算法分析与程序设计
考试内容及要点
(一)绪论
1.熟悉算法与程序设计相关名词、术语的含义,掌握基本概念;
2.熟悉C/C++语言的书写规范,特别要注意值调用和引用调用的区别,输入、输出的方式以及错误处理方式;
3.理解算法五个要素的确切含义;
4.掌握计算语句频度和估算算法时间复杂度的方法。
(二)查找
1.讨论查找表(包括静态查找表和动态查找表)的各种实现方法:顺序表、有序表、树表和哈希表;
2.关于衡量查找表的主要操作——查找的查找效率的平均查找长度的讨论;
3.能编程实现相关操作、算法及应用。
(三)排序
1.讨论比较各种排序方法,插入排序、冒泡排序、选择排序、快速排序、归并排序、堆排序、基数排序等排序算法的基本思想、算法特点,排序过程以及它们的时间复杂度分析;
2.能编程实现相关操作、算法及应用。
(三)栈和队列
1.栈和队列的结构特性;
2.在两种存储结构上如何实现栈和队列的基本操作,栈和队列在程序设计中的应用以及如何利用堆栈去模拟递归程序的运行。
3.能编程实现相关操作、算法及应用。
(三)树和二叉树
1.二叉树的定义、性质和存储结构;
2.二叉树的遍历和线索化以及遍历算法的各种描述形式;
3.树和森林的定义、存储结构、树和森林与二叉树的转换、遍历;
4.树的多种应用;
5.平衡二叉树、平衡二叉排序树的定义、性质极其应用;
6.能编程实现相关操作、算法及应用。
(四)图
1.图的定义和术语;
2.图的几种存储结构:数组表示法、邻接表法、向量法;
3.图的两种遍历策略:深度优先搜索和广度优先搜索;
4.图的连通性:连通分量和最小生成树;
5.拓扑排序和关键路径;两类求最短路径问题的解法;
6.能编程实现相关操作、算法及应用。
(五)位运算
1.位运算相关操作,如按位与、或、异或、求反、左移、右移等基本操作;
2.能编程实现相关操作、算法及应用。
(六)常用算法
1.考试范围包括:递推,递归,搜索与回溯,贪心,二分,广度优先搜索;
2.动态规划初步:理解动态规划基本模型,动态规划算法的基本要素,基本的动态规划问题如经典的动态规划求解、矩阵连乘、最大子段和、背包问题。
3.能编程实现相关算法及应用。