- 博客(24)
- 收藏
- 关注
原创 【图论】总汇(内含C++)
图由点和边组成的。有向图、有向边,是有方向的。度是一点所关联的边数。出度有向图中,从一个点出去的边数;入度有向图中,从一个点进来的边数。自环,邪恶的东西,能寄掉一些算法,需要特殊处理,一条边两端连着同一个点。路径,从一个点走到另一个点(可含环);简单路径,就是不含环的路径。环,从一点出发在绕回这个点的路径有向无环图(DAG),若设动态规划状态为点,转移为为边,这一定是DAG。需要用邻接接矩阵。表示从 j 走到 k 经过的点的编号小于等于 i 的最短路。通过一个点,将周围所有点最短路变短。
2023-10-04 08:58:32
2720
4
原创 【数据结构】总汇—第二章(内含C++)
RMQ问题,又称区间最值问题,这是一种多次询问区间最大或最小值的问题。当询问量不是太多时我们可以用上一章的线段树来解决!借第一章图片一用(下图),这就是一棵树。树是N个点,N-1条边的连通图。或者说,没有环的连通图。5和3为父子关系,5为父,3为子。所有父亲的儿子数量为X及X以下叫X叉树。3和7为兄弟关系。5和0为祖孙关系,5为祖先,0为后代。有一颗N个节点的树,有M次询问,每次询问给出两个点u,v,求u,v在树上的最近公共祖先(即深度最深的公共祖先)。
2023-10-01 14:29:33
483
1
原创 【数据结构】总汇—第一章(内含C++)
这当然是一个二叉树了。每个节点的左儿子比自己小。每个节点的右儿子比自己大。二叉堆是一种特殊的二叉树。满足任意上面节点的值都比下面节点大的叫做大根堆。满足任意上面节点的值都比下面节点小的叫做小根堆。线段树是一种二叉树结构。线段树上每一个节点对应一个区间。节点的左儿子对应,右儿子对应。以下就是一个线段树,借用一下老师的图片……第一章终于肝完了~总结:各有所长,散了吧
2023-09-30 20:16:49
303
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人