c++中dfs以及bfs代码分享
c++中dfs以及bfs代码分享深度优先搜索(DFS,Depth-First Search)深度优先搜索(DFS) 是一种遍历或搜索树或图的算法。它的基本思想是从根节点(或任意一个起始节点)开始,沿着一个分支一直走到底(即沿着每条边走到尽头),然后回溯,继续沿其他分支进行搜索,直到遍历完所有节点。 DFS 的核心特点是“深度优先”,即每次深入到树的子节点,直到没有子节点为止,然后回退到父节点继续搜索。 基本过程: 从起始节点开始,首先访问该节点。 访问该节点的一个未被访问的邻居节点,继续深度遍历。 直到所有邻居节点都被访问过后,回到上一个节点,继续访问其未被访问的邻居。 重复上述过程直到遍历完整个图或树。12345DFS(Graph, start): 1. Mark start node as visited 2. For each neighbor of start: 3. If the neighbor is not visited, recursively call DFS on it 图的表示:图可以使用 邻接矩阵 或 邻接表 来表示。DFS...
c++中差分以及前缀和代码分享
c++中差分以及前缀和代码分享前缀和前缀和是一种将区间求和问题转化为常数时间查询的技巧。通过预处理一个数组,计算数组中每个元素之前所有元素的和,可以快速进行区间求和。 前缀和的计算:我们可以通过遍历数组一次来计算前缀和。计算好前缀和数组后,可以在常数时间内查询任意区间的和。前缀和的优势: 普通的区间求和在没有前缀和技巧时,如果你想求解数组 arr 中一个区间 [l, r] 的和,通常需要通过遍历区间内的元素进行求和。比如,假设我们有一个数组 arr,如果你有多个区间查询(比如查询多个区间的和),那么每次求和都需要遍历一次区间,时间复杂度是𝑂(𝑟−𝑙+1),如果多次查询的话,总时间复杂度会变得很高。 前缀和优化前缀和通过预处理一个额外的数组 prefix_sum 来将多次区间求和的复杂度减少到常数时间。prefix_sum[i] 存储的是 arr[0] 到 arr[i-1] 的和。这样,你只需要一次遍历来计算前缀和数组,然后在进行区间查询时,直接通过前缀和数组来获取结果。这种方式的好处是:a. 预处理:计算前缀和数组的时间复杂度是O(n),仅需遍历一次数组。b....
大语言模型的本地部署分享
通过ollama+docker+webui部署本地大语言模型
迪士尼门票计算代码分享
c++ 代码
离别是为了更好地相逢
行知中学,我所留恋的地方