
C++14_第二篇
变量模板 C++14引入了变量模板,使得可以为变量定义模板 template<typename T> constexpr T pi = T(3.1415926535897932385); std::cou...
变量模板 C++14引入了变量模板,使得可以为变量定义模板 template<typename T> constexpr T pi = T(3.1415926535897932385); std::cou...
概述 动态规划(Dynamic Programming,简称 DP)是一种通过分解问题来解决复杂问题的算法技术,特别适用于具有最优子结构性质的问题,即问题的最优解可以由其子问题的最优解构建而成 动态规划的核心思想是将...
概述 贪心算法(Greedy Algorithm)是一种构造性算法,用于解决最优化问题 其核心思想是在每一步选择中,都采取当前状态下最优的选择,期望通过一系列局部最优的选择达到全局最优 贪心算法在许多实际问题中非常有...
概述 狄克斯特拉算法(Dijkstra's Algorithm)是一种用于计算单源最短路径的算法,适用于非负权重的有向图和无向图 对于狄克斯特拉算法而言,图必须有权重才行 如果图是无权图(即所有边的权重都相...
BFS 概述 广度优先搜索(Breadth-First Search,简称 BFS)是一种遍历或搜索图或树数据结构的算法 它从根节点开始,沿着树的宽度遍历节点(即先访问同一层级的所有节点,再访问下一层级的节点) 在图...
基于算法思想 比较排序 冒泡排序(Bubble Sort): 反复交换相邻的逆序元素 快速排序(Quick Sort): 通过分区交换来排序,递归地对分区进行排序 堆排序(Heap Sort): 利用堆结构进行排序,...
模板 概述 C++模板是一个强大的编程工具,使得可以编写通用的、类型安全的代码 模板主要用于函数和类的泛型编程,允许你定义通用算法和数据结构,然后在需要时使用具体类型进行实例化 使用场景 通用算法: 模板允许你编写通...
多态 概述 多态性(Polymorphism)是面向对象编程的一个核心概念,它允许同一个接口调用在不同对象上执行不同的操作 在C++中,多态性主要通过继承和虚函数实现 多态性使代码更具灵活性和可扩展性 因为你可以编写...
友元类 适用情况 紧密协作: 当两个类需要紧密协作,且需要共享内部实现细节时 例如,操作类需要访问数据类的内部数据来实现复杂的功能 封装复杂操作: 当某些复杂操作不能或不应成为数据类的成员函数时 通过友元类可以将这些...
关于继承 概念定义 用户 把包含这个基类或派生类的第三方类或函数暂时称为用户 基类定义如图: public继承 class Derived : public Base { ... } 含义 基类的 public 成员...