《数据结构与算法分析C++》 维斯 第一章 笔记
来源:互联网 发布:网站美工是做什么的 编辑:程序博客网 时间:2024/05/01 08:53
指数,对数,级数,模运算,证明方法。
递归的简单介绍:递归并不是循环逻辑。因为他是从f(5)到f(4),一直下去,而非,从f(5)还在f(5).
所以,递归并不是循环。
当编写递归历程的时候,关键是呀牢记递归的四条基本法则:
(1)基准情形:某些基准情形不用递归就能求解
(2)不断推进:对于那些需要递归求解的情形,总能朝着基准情形方向靠近
(3)设计法则:假设所有的递归调用都能运行
(4)合成效益法则:
1.4 c++类
类由成员组成,成员可以是数据,也可以是函数,其中函数被称为成员函数,类中的每一个实例都是一个对象,每一个对象包含类中指定的数据成员,成员函数用于对象,通常被称为方法。
private:实现信息隐藏
如果一个数据成员是const的,那么数据成员的值就只能在初始化列表里进行初始化,
所有单参数的构造函数都必须是explicit的,以避免后台的类型转换,(?????)
单参数构造函数是explicit的,即使用单参数构造函数声明必须使用圆括号来赋初始值。
常量成员函数:
访问函数:只进行检测但是不改变其对象的状态的成员函数
修改函数:改变其对象的状态的成员函数
默认情况下,都是修改函数,要使其成为访问函数,则需要在参数类型列表结尾的圆括号后加上关键字const
接口通常都放在.h结尾的文件中,需呀接口信息的源代码必须#include接口文件
为了避免出现,编译一个文件时存在一个接口被读两次的危险,(一接口被读两次的危险是???????????)每个头文件在读类接口时需要定义一个预处理器来定义一个符号,接口文件的一行检测该符号是否是未定义的,如果答案是肯定的,则接着处理文件,否则不处理
作用域运算符:“::”
1.5c++细节
三大函数:析构函数,复制构造函数,operator=
析构函数:
当一个对象超出其作用域或者执行delete时,就用析构函数,析构函数的唯一任务就是释放使用对象时所占有的所有资源。
默认操作是对每一个数据成员都是用析构函数
复制构造函数:
有一种特殊的构造函数,用于构造新的对象,被初始化为相同类型对象的一个副本,这就是复制构造函数。
模板:来写类型无关的算法(也成为泛型算法)
函数模板:
函数模板可以应需要自动扩展,在其过程中,会产生大量附加代码,在大项目里,这被称为代码膨胀。
如果有一个模板和一个非模板都可以匹配的话,那么非模板有优先权
定义二维数组:
代码:
#ifndef MATRIX_H
#define MATRIX_H
#include<vector>
using namespace std;
template <typename Object>
class matrix{
public:
matrix(int rows,int cols):array(rows)
{
for(int i=0;i<rows;i++)
array[i].resize(cols);
}
const vector<Object>& operator[](int row) const{
return array[i].resize(cols);
}
vector<Object>& operator[](int row) {
return array[row];
}
int numrows() const{
return array.size();
}
int numrows() const{
return numrows()?array[0].size():0;
private:
vector<vector<Object>> array;
};
#endif
}
- 《数据结构与算法分析C++》 维斯 第一章 笔记
- 数据结构与算法分析笔记:第一章:递归
- 数据结构与算法分析学习笔记---第一章
- 《数据结构与算法分析(c 描述)》—— 第一章笔记
- 《数据结构与算法分析--c语言描述》之第一章:引论
- 数据结构与算法分析 java 版学习笔记 第一章
- 《数据结构与算法分析》第一章练习1.1
- 《数据结构与算法分析》第一章练习1.3
- 【数据结构与算法分析】第一章学习总结
- 数据结构与算法分析---第一章--练习1.3
- 【数据结构】数据结构与算法分析第一章部分题目
- 算法设计技巧与分析笔记 第一章
- 《数据结构与算法分析-C语言描述》笔记
- 数据结构与算法分析-C语言描述 重点笔记
- 数据结构与算法分析(C++)阅读笔记(1)
- 数据结构与算法分析c++:算法分析
- 数据结构与算法分析c++:算法分析
- 数据结构与算法分析-第一章Java类(01)
- jsp+servlet小练习
- UI基础:UILabel.UIFont
- Kinect v2.0原理介绍之一:硬件结构
- gitHub-初识
- Android MVC 实例
- 《数据结构与算法分析C++》 维斯 第一章 笔记
- java主函数初始化spring和log4j测试环境
- 在JAVA中怎么清空StringBuffer变量内容
- See Electrical 7 R2 B11电气设计软件PLS-CADD v12.3架空电力线设计软件
- hdu 1495 非常可乐
- 用1、2、2、3、4、5这六个数字,用java写一个main函数,打印出所有不同的排列,如:512234、412345等,要求:"4"不能在第三位,"3"与"5"不能相连。用1、2、2、3、4、5这六
- [原]CI环境下开发Oauth2.0开放平台
- C#设计模式学习笔记-单例模式
- 开始SDN