- 博客(4)
- 收藏
- 关注
原创 C++常见十大排序
冒泡排序是一种简单的排序算法,它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小(或越大)的元素会经由交换慢慢“浮”到数列的顶端,就像水中的气泡一样上升到水面。选择排序是一种简单的排序算法,其基本思想是在待排序的序列中依次选出最小(或最大)的元素,存放到序列的起始位置,然后再从剩余未排序元素中继续寻找最小(或最大)元素,然后放到已排序序列的末尾。
2024-05-12 10:14:03 790
原创 Floyd最短路径算法
Floyd算法是用于在一个图中寻找所有顶点对之间最短路径的算法。它是一个经典的动态规划算法,可以处理有向图和无向图,并且能够检测图中是否存在负权重循环。
2024-05-09 14:00:31 536 3
原创 Dijkstra最短路径算法
Dijkstra算法是用于在加权有向图中找到单一起始点到其他所有点的最短路径的算法。它由荷兰计算机科学家艾兹赫尔·戴克斯特拉于1956年提出。
2024-05-09 13:46:34 292
原创 C++最小生成树(kruskal算法,prim算法)
生成树是一种特殊的连通子图,它在保持图中所有顶点的同时,只包含了构成一棵树的边数,即n-1条边,其中n是图中的顶点数量。生成树是无环的,并且是连通的,这意味着通过生成树可以从任何一个顶点到达其他任何顶点,而不需要回溯或形成环路。权值最小的生成树称为最小生成树。
2024-05-09 13:19:59 505
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人