
数据结构与算法
刷题的时候遇到的一些数据结构和算法
Liuuuu408
这个作者很懒,什么都没留下…
展开
-
二叉树结构c++代码实现(只涉及增加删除查找)
结合教材和视频课整理的,删除部分可以简化很多,主要还是看自己的逻辑思路。原创 2023-06-13 15:32:09 · 129 阅读 · 1 评论 -
什么是线段树?
线段树(Segment Tree)是一种二叉树数据结构,通常用于解决与区间或者段相关的问题。它主要用于处理一维区间的查询和更新操作,例如,查找区间内的最小值、最大值、和、平均值等。线段树是一种灵活而强大的数据结构,特别适用于需要频繁查询和更新区间信息的场景。线段树的基本思想是将一个区间划分成多个子区间,每个节点表示一个子区间的信息,然后递归地构建这个二叉树。通常情况下,线段树是一颗平衡二叉树,每个叶子节点表示数组中的一个元素,而每个非叶子节点表示对应区间的一些信息,如最小值、最大值、和等。原创 2023-11-15 14:24:08 · 183 阅读 · 0 评论 -
Floyd算法
Floyd算法,也称为Floyd-Warshall算法,是一种用于解决图中所有节点对之间最短路径的动态规划算法。该算法的目标是找到图中每一对节点之间的最短路径,考虑图中的权重(边上的权值)。算法的核心思想是通过一个中间节点的集合,逐步优化节点对之间的最短路径。具体来说,Floyd算法使用一个二维数组来存储任意两个节点之间的最短路径长度,然后通过逐步考虑图中所有节点作为中间节点的情况,不断更新最短路径的信息。初始化一个二维数组,其中元素(i, j)表示节点i到节点j的最短路径长度。原创 2023-11-14 09:25:00 · 175 阅读 · 0 评论