数据结构与算法复习提纲详解

需积分: 10 9 下载量 26 浏览量 更新于2024-07-26 4 收藏 146KB DOC 举报
"数据结构与算法复习提纲(详细版)" 本文将对数据结构与算法复习提纲进行详细的知识点概括,涵盖数学知识复习、C++类、C++细节、模板、矩阵、算法分析等方面的重要知识点。 一、数学知识复习 * 对数:XA=B当且仅当A=logXB;关键思路:将对数转化成为指数分析 * 级数:∑Ai和∑iA;关键思路:同时乘上某个系数再相减 * 证明方法:数学归纳法和反证法,三个关键步骤:归纳基础、归纳假设、归纳证明 二、C++类 * 构造函数:使用默认参数的构造函数;初始化列表 * 访问函数和修改函数:关键字const * 接口与实现的分离:声明与实现必须精确匹配,两个例外:默认参数和explicit 三、C++细节 * 参数传递:一般情形:单向传递/引用:双向传递/常引用:避免大对象的拷贝 * ★三大函数: + 析构函数:形式:~类名()/作用:释放资源 + 复制构造函数:形式:类名(const类名&rhs)/作用:利用已有对象复制一个新对象 + operator=:形式:const类名&operator=(const类名&rhs)/作用:赋值 四、模板 * ★函数模板定义:template<typename虚拟类型comparable>通用函数定义 * ★类模板: + 定义:template<typename类型参数object>class类模板名 + 调用:class类模板名<实际参数>对象名(参数) * 函数对象:定义一个包含零个数据成员和一个成员函数的类,然后传递该类的实例 五、矩阵 * 基本思想:矩阵利用向量的向量来实现,即vector<vector<object>>array * 典型代码分析:包括构造函数和operator[]重载 六、算法分析 一、数学基础 * 重要定义: + f(N)=Ο(g(N)):若存在正常数C和n0,使得当N≥n0时,有f(N)≤Cg(N) + f(N)=Ω(g(N))、f(N)=Θ(g(N))和f(N)=ο(g(N)) * ★重要工具: + 性质:logkN=O(N) + 洛比塔法则:判断两个函数的相对增长率 二、最大子列和问题 * 算法Ⅰ: + 算法思想:i表示序列起点,j表示序列终点,k从i扫描到j + ★时间复杂度分析:注意分析方法:∑(i:0~N-1)∑(j:i~N-1)∑(k:i~j) + ★算法的缺陷:重复计算 * 算法Ⅱ: + 算法思想:i表示序列起点,j表示序列终点 本文对数据结构与算法复习提纲进行了详细的知识点概括,涵盖了数学知识复习、C++类、C++细节、模板、矩阵、算法分析等方面的重要知识点,为读者提供了一个详细的知识点总结。