488 1 分钟

反而变得复杂、可读性变差 添加新的声明 template <typename T> 使用 typename 来声明类型参数而不是 class,防止产生歧义。 如何处理 max (x,m) 的处理【x 和 m 的类型不一样】? 可以定义一个 max 的重载函数。 非模板函数、模板函数(显式具体化)、重载函数 —— 编译器会优先调用重载函数、显式具体化的模板函数,然后是非模板函数,不会出现歧义。函数模板和函数重载可以配合在一起使用。 类也可以模板化。 左边是初始版本,右边是类模板。 在类外定义函数的时候,需要再次声明类型参数 T。 template...
81 1 分钟

如何记录可用的位置? 用数组或者链表 如何 new 如何 delete 自嵌入链表形式的缺点: ? 这样可以减少 new 和 delete 的次数 使用 template 推广到其他使用场景。
2.6k 2 分钟

# Lecture12 - 多态 & 引用就是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样。 引用的声明方法:类型标识符 & 引用名 = 目标变量名; return *this 返回的是当前对象的克隆或者本身(若返回类型为 A, 则是拷贝, 若返回类型为 A&, 则是本身 )。return this 返回当前对象的地址(指向当前对象的指针) # 操作符重载 # 函数重载 名同、参数不同,返回值不同没有用的:参数顺序、参数类型匹配 (找到最佳匹配) 静态绑定 #...
8.2k 7 分钟

# Lecture11 - 继承、虚函数 能声明成 const 就声明成 const # 单继承 protected: 如果没有继承的话,protected 和 private 是相同的 派生类可以访问基类中 protected 的属性的成员。(student 可以访问自己的 id) 派生类不可以访问基类中的对象的 protected 的属性。(Undergraduate_Student 不能访问自己引用的 student 的 protected 属性) 派生类含有基类的所有成员变量 class 和 struct 的默认权限 使用 class 时,类中的成员默认都是 private...
4.9k 4 分钟

不同的散列方式。
取余法、平方取中法、乘法杂凑法、线性探测法 linear probing、二次探测法 quadratic probing、双散列函数 double hashing、分离链接法 separate chainging。

5.2k 5 分钟

# Lecture04.1 - 特殊树 考点 二叉搜索树考的概率比较低(? AVL 很可能考 AVL 具体算法 证明不考 证明的结论要考:AVL 的复杂度 m - 路搜索树不太考 B 树经常考,B 树的复杂度指标和算法 B 树算法不要求写代码、只需要知道代码流程、增删改查流程、复杂度记住 AVL 树也有可能涉及代码 # 二叉搜索树 Binary Search Tree Definition: A binary search tree is a binary tree that may be empty. A nonempty binary search tree...