C++
雷哥-lei
但行好事,莫问前程。
展开
-
《数据结构与算法》课程笔记 第一章
1. 数据结构的基本概念数据结构两大用途:用于存放要处理的数据,如迷宫地图。 用于实现算法策略,如迷宫例子中探索方向增量数组、回溯的栈、避免重复走的标志数组或特殊标记。 1 数据结构由一个四元组来表示: Data_Structure = ( D, L ,S, O )数据元素、数据元素之间的...原创 2019-01-03 16:49:53 · 511 阅读 · 0 评论 -
《数据结构与算法》课程笔记 第二章 2.3 排序
1. 排序的基本概念1 排序概念排序:将一组数据元素序列重新排序,使得数据元素序列按某个数据项(关键字)有序。排序依据:是依据数据元素的关键字。若关键字是主关键字(关键字值不重复),则无论采用何种排序方法,排出的结果都是唯一的。若关键字是次关键字(关键字值可以重复),则排出的结果可能不唯一。2 稳定排序和不稳定排序方法稳定的排序方法:对于任意的数据元素序列,排序前后所有...原创 2019-01-22 17:33:28 · 495 阅读 · 0 评论 -
《数据结构与算法》课程笔记 第二章 2.2 查找
1. 查找基本概念数据是如何组织的——查找表 查找表上如何查找——查找方法1 对查找表的基本操作:增、删、查、改查询某个数据元素是否在查找表中 检索某个数据元素的各种属性 在查找表中插入一个数据元素 从查找表中删去某个数据元素 2 查找表的分类静态查找表:仅做查询和检索操作的查找表。 动态查找表:“查询”结果“不在查找表中”:数据元素插入到查找表中;“查询”结果“在查找表...原创 2019-01-15 14:04:31 · 304 阅读 · 0 评论 -
《数据结构与算法》课程笔记 第二章 2.1 线性表(2)
1. 线性表的应用1 合并线性表先分析性能,后再通过代码实现。 List_Insert:顺序存储和链式存储结构的时间复杂度最坏情况下都是 O(N)。但是若在头结点插入,顺序结构:O(N),链式结构:O(1);若在尾结点插入, 顺序结构:O(1),链式结构:O(N)。 合计:顺序结构:,链式结构: 虽然顺序存储结构编程简单,且其中有多步都是常数时间。但除了插入操作,其它操作时间都花...原创 2019-01-08 23:08:08 · 290 阅读 · 0 评论 -
《数据结构与算法》课程笔记 第三章 递归与分治
1. 递归1 递归的定义子程序(或函数)直接调用自己或通过一系列调用语句间接调用自己,称为递归。 递归是一种描述问题和解决问题的基本方法。 递归的基本思想:问题分解当问题比较大,比较复杂,但如果问题本身不变,数据量很小时很容易解决。大问题可以分解为小问题,每个大问题与小问题之间又具备相似性。当小问题很小,小到能够直接解决,然后用小问题来解大问题。这就是递归方法。 递归的要素:...原创 2019-01-24 12:03:17 · 323 阅读 · 0 评论 -
《C++面向对象程序设计》课程笔记 lessen9 算法
1. STL 算法分类STL 中的算法大致可以分为以下七类:不变序列算法 变值算法 删除算法 变序算法 排序算法 有序区间算法 数值算法 大多重载的算法都是有两个版本的:用 “==” 判断元素是否相等,或用 “<” 来比较大小 多出一个类型参数 “Pred” 和函数形参 “Pred op”:通过表达式判断 “op(x,y)” 的返回值:true/false。(判...原创 2019-01-02 22:48:02 · 128 阅读 · 0 评论 -
《C++面向对象程序设计》课程笔记 lessen9
1. 标准模板库 STL1 关联容器:set、multiset、map、multimap内部元素有序排列,新元素插入的位置取决于它的值,查找速度快。除了各容器都有的函数外,还支持以下成员函数: find:查找等于某个值的元素(x小于y和y小于x同时不成立即为相等) lower_bound:查找某个下界 upper_bound:查找某个上界 equal_range:同时查找上界和...原创 2019-01-02 21:42:04 · 160 阅读 · 0 评论 -
《C++面向对象程序设计》课程笔记 lessen8 程序示例
1 程序示例:vector#include <iostream>#include <vector>using namespace std;template<class T>void PrintVector(T s, T e){ for(;s!=e;++s) cout << *s << " "; cout <&am原创 2018-12-30 14:08:40 · 240 阅读 · 0 评论 -
《数据结构与算法》课程笔记 第二章 2.1 线性表
1. 线性表1 线性表的基本概念线性表是最基本和最常用的一类数据结构,它表示的是线性结构。在线性结构中,数据元素之间存在着一对一的关系,其特点是数据元素之间按某种规定存在一个顺序关系。 的数据类型相同。 位序 从 1 开始。 唯一前驱和唯一后继。 2 线性表的基本操作: 线性表定义为指针类型 SqListPtr,数据元素类型为 ElemType。2.1 初始化和销毁...原创 2019-01-03 17:25:38 · 408 阅读 · 0 评论 -
编程注意事项记录
1.用于排序比较的函数定义成static类型函数static bool comp(const vector<int> &a, const vector<int> &b){ return a[0] < b[0];}2.在C++中,类的静态成员(static member)必须在类内声明,在类外初始化class A { ...原创 2019-09-23 22:43:32 · 224 阅读 · 0 评论