
算法
文章平均质量分 81
算法练习
pipip.
小白
展开
-
多态与虚函数
多态性允许你编写通用的代码,该代码可以操作不同类型的对象,而这些对象可以有不同的内部结构和行为。当你声明一个函数为虚函数时,你是在告诉编译器,这个函数将在派生类(derived class)中可能会被重写(override)。纯虚函数是一种特殊的虚函数,它在基类中没有实现,要求所有派生类必须提供自己的实现。纯虚函数用于定义接口,强制派生类实现特定的函数。虚函数是 C++ 中实现多态的关键,它提供了一种机制,允许你编写灵活、可扩展的代码。是一个纯虚函数,它在。原创 2025-04-29 13:38:56 · 249 阅读 · 0 评论 -
线程的创建
由于不可以调用系统,所以要使用第三方库(第三方库要使用-l) -lpthrerad。3. 一个问题:给线程传递的参数和返回值,可以是任意类型(包括对象)。cpu调度的时候看的是lwp,因为Linux中只有轻量级进程。1. main函数结束,代表主线程结束,一般也代表进程结束。2. 新线程对应的入口函数,运行结束,代表当前线程运行结束。第二个参数:设置线程属性,nullptr表示默认。第一个参数:指向线程标识符的指针。第四个参数:传递给线程函数的参数。:分离线程,系统自动回收资源。第三个参数:线程函数地址。原创 2025-04-02 18:12:17 · 380 阅读 · 0 评论 -
搜索二维矩阵
就是我们在虚拟一维数组中二分查找时当前中间位置的值。我们假设将整个二维矩阵按行展开成一个一维数组。可以正确反映矩阵的有序性(如果矩阵是完全有序的)矩阵有 3 行 4 列(m=3, n=4)这种转换方法的前提是矩阵是按行存储的。每个一维索引唯一对应一个二维位置。一维数组索引范围:0 到 11。给你一个满足下述两条属性的。比目标大就左移(排除当前列)比目标小就下移(排除当前行)是虚拟一维数组的中间索引。用于计算行索引(整数除法)用于计算列索引(取模运算)保持了矩阵元素的行优先顺序。不会错过任何可能的位置。原创 2025-04-01 23:55:34 · 854 阅读 · 0 评论 -
用BFS解决-----拓扑问题
拓扑排序、课程表、课程表II、火星词典原创 2025-03-31 12:15:00 · 729 阅读 · 0 评论 -
BFS解决最短路径问题(使用BFS解决最短路径问题的黄金法则)
BFS适用最短路径问题的条件、BFS vs 其他最短路径算法对比、BFS的核心优势原创 2025-03-27 21:20:31 · 852 阅读 · 0 评论 -
二叉树最大宽度
被定义为该层最左和最右的非空节点(即,两个端点)之间的长度。最大宽度出现在树的第 4 层,宽度为 7 (6,null,null,null,null,null,7)。遍历当前层的所有节点,对于每个节点,如果其左子节点或右子节点存在,将其加入。最大宽度出现在树的第 3 层,宽度为 4 (5,3,null,9)。最大宽度出现在树的第 2 层,宽度为 2 (3,2)。整体思路:用数组存储二叉树的方式,给节点编号。:计算当前层的最大宽度,并更新。:用于存储下一层的节点和层级。给你一棵二叉树的根节点。原创 2025-03-20 23:26:01 · 430 阅读 · 0 评论 -
BFS--------N叉树的层序遍历
树的序列化输入是用层序遍历,每组子节点都由 null 值分隔(参见示例)。1.这道题就是对N叉树进行层序遍历(BFS),只需要逐层对树进行遍历即可。3.使用队列的FIFO性质,创建一个队列queue<Node*> q。被用作实现 BFS 的数据结构,按照从上到下的顺序访问树的所有节点。:如果子节点不为空,将其加入队列,以便后续访问。获取当前队列中的节点数,即当前层的节点数。给定一个 N 叉树,返回其节点值的。:遍历该节点的所有子节点。:遍历当前层的所有节点。:获取队列头部的节点。:从队列中移除该节点。原创 2025-03-20 19:39:33 · 448 阅读 · 0 评论 -
C语言最常用的八种排序方式
常用的八种排序算法以及如何选择合适的排序算法原创 2024-01-22 16:17:30 · 5961 阅读 · 2 评论