笔试算法
文章平均质量分 93
默归
这个作者很懒,什么都没留下…
展开
-
基本数据结构:图
图是由结点与边构成的集合(V,E),V是所有点的集合,E是所有边的集和。图中的边是具有方向性的,只能按箭头方向从一点到另一点。我们把以这个结点为起点的有向边的数目称作该结点的出度,把以这个结点为终点的有向边的数目称作该结点的入度。图中的边无方向性,可以由任意方向从一点到另一点。我们把与该结点相连的边的数目称作该结点的度。图中的边带有权值,可以理解为从一个结点到与它相连结点的距离。............原创 2022-07-10 11:47:08 · 289 阅读 · 2 评论 -
最短路径问题(Floyd算法、Dijkstra算法、Bellman-Ford算法、SPFA算法)
导入最短路径问题是指在一幅带权图中,找出连接两个顶点之间的所有路径中,边权和最短的那一条。如下图就是一幅带权图,边上的数字就代表该边的权值。解决最短路径问题有多种不同的算法,本文将对它们的基本思想与优化操作一一进行介绍。.........原创 2021-12-11 15:53:55 · 4344 阅读 · 0 评论 -
图论算法:最小生成树
重点介绍了Prim算法与Kruskal算法的思想及其优化策略。原创 2021-11-30 00:43:07 · 743 阅读 · 0 评论 -
动态规划入门(一):从爬楼梯开始
动态规划是运筹学的一个概念,是用来解决多阶段决策过程相关问题的一种思想,一般简称为DP(Dynamic Programming),所谓多阶段决策过程是指有一个活动的过程可以分成若干个相互联系的阶段,在它的每一阶段都需要做出决策,不同的决策将影响活动最终的结果,这个过程如下图所示,活动的初始状态为状态0,经过一次决策后转移到状态1,这是一个中间结果,经过n次决策后转移到状态n,而状态n即为活动最终的结果。与多阶段决策过程相关的问题大致有下面2种,它们是使用动态规划来解决的典型问题:最优化问题、决策方案数问题。原创 2022-06-19 22:33:28 · 857 阅读 · 0 评论 -
八大排序算法的Java实现
选择排序、冒泡排序、插入排序、希尔排序、归并排序、快速排序、堆排序、计数排序、基数排序原创 2021-11-26 21:51:18 · 868 阅读 · 0 评论 -
广度优先搜索BFS基础:图与迷宫
与深度优先搜索类似,我们还是以图的搜索引入广度优先搜索的定义。如下是一张无向图,现对其进行广度优先遍历:一种可能的结果是:ABFCIGEDH,与深度优先搜索不同,广搜会优先搜索该结点所有可能的分支,而深搜则是沿某一分支一直搜到底。其具体实现可以利用队列完成:这样的搜索有什么优势呢?那就是将整幅图划分出了层次,第一层:A、第二层:BF、第三层:CIGE、第四层:DH,所以广搜又可以叫做层次遍历。广搜可以用来求得图上任意两结点间的最小间距,其就等于它们分别所在的层数之差的绝对值,如B到H的最小间距为4-2=2。原创 2022-09-05 23:02:41 · 707 阅读 · 0 评论