logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

c++ dfs搜索算法——记忆化搜索

本文介绍了记忆化搜索的核心思想和实现方法,并通过三个例题展示其应用。记忆化搜索通过保存重复计算结果来优化递归算法,关键在于使用数组或map存储状态。首先以斐波那契数列为例,对比普通递归和记忆化搜索的时间效率差异。随后解析蓝桥云课"混境之地5"问题,展示如何将暴力DFS转化为记忆化搜索。最后以"地宫取宝"为例,说明记忆化搜索在复杂路径问题中的应用。文章强调记忆

文章图片
#c++#深度优先#开发语言
c++图论——基础拓扑排序

本文介绍了拓扑排序算法及其应用。首先解释了拓扑排序的基本概念,即对有向无环图进行线性排序,确保每个节点的前驱节点都排在前面。然后详细讲解了两种实现方法:普通拓扑排序算法(基于BFS和队列)以及与动态规划结合的DAG-DP算法。最后以蓝桥杯"走多远"题目为例,展示了如何利用拓扑排序解决实际问题,通过状态转移方程dp[y]=max(dp[y],dp[x]+1)计算最长路径距离。文章

文章图片
#图论
c++基础树上问题——dfs序,算法必看!

详细解释c++的dfs序加例题训练,适合参加算法比赛或对算法感兴趣的兄弟集美

文章图片
#深度优先#算法#c++
c++数据结构————堆,一篇给你讲清楚!

节点x的左子节点为x << 1(即2x),右子节点为x << 1 | 1(即2x+1)。左移补0乘以2,右移补符号位除以2!// 我们采用数组的方式来存储数据,利用二叉树的性质:2x表示x的儿子编号,2x+1表示x的右儿子编号。//堆是一种二叉树,其满足:儿子的权值都比自己的权值小(大根堆)或相等或大(小根堆)// 这个性质不断向上传递直到根,保证根的权值是整棵树中最大的/最小的!若当前节点值大于

文章图片
#数据结构#c++#算法
c++基础树上问题——求lca(最近公共祖先)的几种方法,算法必看哟!

详细解释c++数据结构树中的求lca最近共工作祖先的方法以及相关例题详解,适合参加算法比赛和对算法感兴趣的人!

文章图片
#c++#算法#开发语言
c++ dfs搜索算法——dfs基础&回溯

DFS(深度优先搜索)是一种优先沿路径深入探索的算法,采用"先深后广"策略,遇到死路则回溯。实现方式包括递归和栈模拟两种,常用于图/树遍历、组合问题及迷宫求解。DFS与回溯法关系密切,常通过构造搜索树解决问题,分为排列型(n!节点)和子集型(2^n节点)两种。文中以N皇后问题为例展示DFS应用,通过递归实现并标记皇后攻击范围,利用回溯恢复现场。此外还介绍了小朋友崇拜圈(求最大环

文章图片
#深度优先#c++#算法
c++图论————图的基本与遍历

本文介绍了图论的基础概念和常用算法。主要内容包括:1.图的基本术语(结点、边、度数、权重等)和分类(有向/无向图、完全图、连通图);2.两种存储方式(邻接表和邻接矩阵)及其适用场景;3.图的遍历算法(DFS和BFS)的实现原理与代码示例;4.两个典型例题解析:(1)帮派地位问题:通过DFS计算子树大小并排序;(2)可行路径方案数问题:使用BFS结合动态规划统计最短路径数。文章结合代码示例详细说明了

文章图片
#c++#图论#算法
c++树形数据结构——树状数组,算法必看哟!!!

以最浅显易懂的语言深入讲解树状数组,配有例题加强练习(有代码详解)!参加算法比赛或对算法感兴趣的兄弟集美必看哟!

文章图片
#算法#c++#数据结构
c++图论————最短路之Floyd&Dijkstra算法

本文介绍了两种经典的最短路径算法:Floyd算法和Dijkstra算法。Floyd算法适用于稠密图,通过动态规划思想计算所有点对之间的最短路径,时间复杂度O(n^3)。Dijkstra算法采用堆优化版本处理单源最短路径问题,时间复杂度O(nlogn),适用于非负权图。文章结合蓝桥杯真题(蓝桥公园和蓝桥王国)进行代码实现和解析,详细说明了两种算法的核心思想、实现细节和适用场景,包括邻接矩阵/邻接表的

文章图片
#c++#图论#算法
    共 21 条
  • 1
  • 2
  • 3
  • 请选择