算法
文章平均质量分 62
老衲有点帅
宠辱不惊,看庭前花开花落;去留无意,望天上云卷云舒
展开
-
[排序算法]选择排序法
选择排序的一个优点是它不涉及复杂的递归调用,因此对于小型数据集或者对于递归深度有限制的环境,它可能是一个不错的选择。然而,对于大型数据集,由于其时间复杂度较高,通常不推荐使用选择排序。原创 2024-05-11 16:13:04 · 433 阅读 · 1 评论 -
[排序算法]基数排序
基数排序适用于位数较少的整数排序,对于位数较多的情况,效率可能不如其他排序算法。原创 2024-05-07 10:38:30 · 429 阅读 · 0 评论 -
[排序算法]堆排序
堆排序是一种高效的排序算法,尤其适用于需要稳定时间复杂度的情况下。原创 2024-05-06 09:43:55 · 467 阅读 · 2 评论 -
[排序算法]插入排序法
尽管插入排序在最坏情况下效率不高,但它对于小型数据集或基本有序的数据集非常有效。稳定性:可以保证相等的元素在排序后保持原来的相对顺序。原地排序:不需要额外的存储空间。简单性:算法实现简单,易于理解和编程。插入排序通常用作其他更高级排序算法(如归并排序和快速排序)的辅助方法,尤其是在处理小型数组或数组的子部分时。原创 2024-04-30 09:12:53 · 312 阅读 · 0 评论 -
[排序算法]冒泡排序法
虽然冒泡排序在效率上不如一些更高级的排序算法(如快速排序、归并排序等),但由于其实现简单,对于一些小规模数据的排序或者学习排序算法的基本概念时,冒泡排序仍然是一个很好的选择。此外,冒泡排序的一个优点是它能够在发现数组已经排序好的情况下提前结束排序过程,尽管这种情况在最坏的情况下不会减少比较次数,但在最佳情况下(即数组已经是排序状态)可以达到 O(n) 的时间复杂度。原创 2024-04-10 18:18:57 · 310 阅读 · 0 评论 -
深度优先搜索(DFS)算法
深度优先搜索算法(DFS)是一种用于遍历图形结构的算法,它从一个起始顶点开始,沿着一条路径尽可能深入地访问图中的所有顶点,直到不能继续为止,然后返回并探索其他路径。DFS算法使用栈数据结构来实现,在访问完一个顶点后,将其未被访问的邻居压入栈中,并标记为已访问,然后从栈中取出下一个未被访问的顶点,继续进行同样的操作,直到栈为空为止。DFS算法可以用于解决图中的许多问题,例如找出两个顶点之间的最短路径、判断图是否为连通图等。DFS算法的时间复杂度为O(V+E),其中V为顶点数,E为边数。DFS算法相比BFS算法原创 2023-06-07 17:08:11 · 6605 阅读 · 0 评论 -
广度优先搜索(BFS)算法
广度优先搜索算法(BFS)是一种用于遍历图形结构的算法,它从一个起始顶点开始,先依次访问这个顶点的所有邻居顶点,然后再按照距离逐层遍历图中的所有顶点。BFS算法使用队列数据结构来实现,在访问完一个顶点后,将其未被访问的邻居加入队列中,并标记为已访问,然后从队列中取出下一个未被访问的顶点,重复以上过程,直到队列为空为止。BFS算法可以用于解决图中的许多问题,例如找出两个顶点之间的最短路径、判断图是否为二分图等。BFS算法的时间复杂度为O(V+E),其中V为顶点数,E为边数。原创 2023-06-07 15:48:02 · 4021 阅读 · 0 评论 -
php计算两个坐标(经度,纬度)之间距离
php计算两个坐标(经度,纬度)之间距离原创 2021-11-23 10:16:02 · 1058 阅读 · 1 评论 -
php计算两个坐标(经度,纬度)之间的方位角
【代码】php计算两个坐标(经度,纬度)之间的方位角。原创 2021-12-22 10:51:23 · 772 阅读 · 1 评论 -
最短路径查找-迪杰斯特拉算法
迪杰斯特拉算法(Dijkstra's algorithm)是一种用于解决带权有向图(weighted directed graph)中单源最短路径问题的算法。它以一个节点作为起点,计算该节点到其它所有节点的最短路径。迪杰斯特拉算法的基本思想是从起点开始,逐步扩展出新的节点,并尝试通过这些节点更新已经扩展过的节点到起点的距离。在每次扩展时,选择当前距离起点最近的未扩展节点进行扩展,并使用该节点到起点的距离更新已经扩展过的节点到起点的距离。重复执行这个过程,直到所有节点都被扩展过为止。原创 2023-05-11 16:49:09 · 256 阅读 · 0 评论