C# 9 新特性 —— 增强的 foreach Intro 在 C# 9 中增强了 foreach 的使用,使得一切对象都有 foreach 的可能 我们来看一段代码,这里我们试图遍历一个 int 类型的值 思考一下,我们可以怎么做使得上面的代码编译通过呢? 迭代器模式 迭代器模式,提供一种方法顺序 ...
目录 二分查找 排序的写法 BFS的写法 DFS的写法 回溯法 树 递归 迭代 前序遍历 中序遍历 后序遍历 构建完全二叉树 并查集 前缀树 图遍历 Dijkstra算法 Floyd-Warshall算法 Bellman-Ford算法 最小生成树 Kruskal算法 Prim算法 拓扑排序 查找子字 ...
分类:
其他好文 时间:
2020-07-07 18:08:11
阅读次数:
74
图:tarjan 连通图 遍历 dfs遍历 DFN[u]=low[u]=index++; 维护low值 index=0; tarjan(u) { DFN[u]=low[u]=index++; u入栈; for(遍历每条边(u,v)) { if(v未被访问) { tarjan(v);//DFS low ...
分类:
其他好文 时间:
2020-06-12 12:46:57
阅读次数:
41
(1)深度优先 1 #include <stdio.h> 2 int book[101],sum = 0,n,e[101][101]; 3 void dfs(int cur) 4 { 5 int i; 6 printf("%d",cur); 7 sum++; 8 if(sum == n) 9 { 1 ...
分类:
其他好文 时间:
2020-04-21 18:40:24
阅读次数:
46
声明 本文部分内容来自 "Codeforces 上的一篇博客" ,侵删。 DFS 是一种常见的图遍历方法。 考虑 无向图 的遍历过程:我们访问一个节点,遍历它的所有相邻节点,如果没有访问则去访问。不难发现每个节点只会被访问一次,也即这些节点和所有访问到的边可以构成一棵树,我们称这棵树为 DFS 树。 ...
分类:
其他好文 时间:
2020-04-05 00:31:34
阅读次数:
218
树遍历: 根节点=D=Degree 左节点=L=Left 右节点=R=Right 1.前序遍历(DLR) 2.中序遍历(LDR) 3.后序遍历(LRD) 4.层次遍历(一层一层的遍历) 前三种遍历均可用递归或者非递归的方式来遍历。 层次遍历可以设一个队列,把元素放在队列里,每次输出队头元素。 图遍历 ...
分类:
其他好文 时间:
2020-03-23 18:40:30
阅读次数:
84
判断从顶点u到v是否有路径 void ExistPath(AdjGraph* G, int u, int v, bool& has) { int w; ArcNode* p; visit[u] = 1; if (u == v) { has = true; return; } p = G->adjli ...
分类:
编程语言 时间:
2019-11-25 09:22:50
阅读次数:
63
子集树 子集树主要求解当前集合的所有子集,是算法中的基本思想指导。参考代码如下,以求解字符串的子集串为例子: 此代码可以结合二叉树的深度(见图)遍历进行理解,每个节点有 0(不选) 1(选择)两种方式,在实际过程中,可用合理的方式进行标记 以上代码中,我们使用中间缓存 m 保存当前将要删除的节点,在 ...
分类:
其他好文 时间:
2019-10-11 23:37:01
阅读次数:
195
作为我出山的第一篇日志,怎么也得写篇对得起我身份和地位的文章吧? 先容我吐槽一下不小心发的贴图,那个只是我不小心收藏了隔壁兄弟班的课表就别大家这么热情的 BB 我感到很有压力,额,废话不多说,立刻进入正题吧。 简单说一下 AStar ( )算法,这是一种根据启发函数图遍历算法雏形。 举个栗子,如果你 ...
分类:
其他好文 时间:
2019-09-13 20:21:48
阅读次数:
305
八数码难题 参考代码:(刘汝佳《算法竞赛入门经典》,源代码在首页置顶区的代码仓库 编码和解码 c++ set vis; void init_() { vis.clear() ; } int try_to_insert(int rear) { int v = 0; for(int i = 0; i i ...
分类:
其他好文 时间:
2019-06-25 00:12:43
阅读次数:
106