-
数据的共享与保护
标识符的作用域: 函数原型作用域、局部作用域、类作用域、命名空间作用域(全局变量);
静态生存期: 全局变量、使用关键字static;生存期与程序运行期相同,(存疑,开始呢?在程序运行前就已经被分配了内存空间且初始化,但是由于语法规则,还是要先声明再使用;
动态生存期: 在程序运行时遇到变量声明语句时被分配内存空间;
静态数据成员: 一个类的所有对象共同维护一个,且必须在命名空间作用域的某个地方使用类名限定定义性声明;
静态函数成员: 可以在函数内直接访问静态数据成员或通过对象名访问非静态成员(需要形参中有该类的对象);调用时直接用类名调用;
友元: 友元关系不能传递、友元关系是单向的、友元关系不能被继承;
常对象: 必须进行初始化,而且在对象的整个生存期间不能被改变;通过常对象只能调用常成员函数;只有常引用能绑定到常对象;(后两条都可以视为方位常对象被修改的手段)
常成员函数: 在常成员函数调用期间:1、不能更新目标对象的数据成员,2、不能针对目的对象调用该类中的非常成员函数;无论调用常成员函数的是否是常对象,在调用期间一律视为常对象;
常数据成员: 1、任何函数都不能对该成员赋值,2、只能在构造函数中通过初始化列表对其进行初始化;可以加以mutable关键字修饰,可以就可以修改了;
常引用: 常引用所引用的对象不能被更新(注意,引用本身不管常与否只能初始化,不能被赋值);常引用无论绑定到的是否是常对象,通过该引用访问该对象时都一律视为常对象(只能调用常成员函数等);
外部变量和外部函数:
各类预处理指令:
代码的编译连接与执行过程: -
图
广度优先遍历(BFS)以代码实现: 使用队列,不使用递归;双层循环,外层逐个结点出队,内层出队结点的边顶点逐个访问入队;注意是先访问再入队;
普利姆算法粗略了解: 用于构建最小生成树,每次挑选离树路径最短的结点加入树直至全部纳入;
克鲁斯卡尔算法粗略了解: 用于构建最小生成树,每次挑选权值最小且不构成回路的边;
迪杰斯特拉算法粗略了解: 计算图中某一点到其余各顶点的最短路径,分为两个集合,逐个加入顶点,每加入一个更新一次最短路径; -
几道题:
求三位数组合个数: 首位不得为0,不然就不算三位数;
判断同构数: 利用求模和取余求一个数每个数位上的数字;
递归求元素最小值: 值得反思的一道题,竟然想了那么久,和求树的高度思路一致。 -
机器学习第一章
监督学习: 已知数据的属性,多用于回归问题(预测,连续值)、分类问题(离散值);
无监督学习: 未知数据的属性,多用于聚类问题。
20200330
最新推荐文章于 2020-04-21 08:24:38 发布