算法
铮亮不锈
喜欢交朋友、户外运动、台球等,常想未竟之业笃志而行,朋友这种关系最美是锦上添花花好月更圆,最可贵是雪中送炭
展开
-
用PHP实现Dijkstra算法,计算从起始点到其他任一节点的最短路径长度
一个图中有很多点,如何求出两点之间的最短距离呢? 这实际上涉及到一个算法问题,如下图所示: 一张图上有从A到G七个节点,如果想求出任一个节点到D节点的最短距离,该怎么办呢? 参照 Dijkstra算法原理,我用PHP实现了该算法,感谢“平凡的L同学”,他的文章读后立即就能明白算法的原理。 <?php /** * 这是一个节点类 */ class Node { //标记该节点是否已得到最短路径 var $isMarked = false; //标记该节点离起始节点的最短路原创 2020-08-18 15:09:30 · 639 阅读 · 0 评论 -
php实现的数组快速排序算法
快速排序算法思想 $arr = [5, 2, 1, 0, 3] 如果开始时选择3作为比较基准的话, $right = $arr.length -1; 那就是 $arr[$right]=3; quicksort($arr, $left, $right) { 未排序区间: [i,j] [0,i):放比3小的数 (j, $right-1] :放比3大的数 通过交换值来实现放到不同区间一直到i>j为止 然后交换当前i位置数据与$arr[$right]的值 递归调用排序前一部分 q原创 2020-08-12 16:36:28 · 425 阅读 · 0 评论 -
PHP 如何验证字符串中左右括号是否匹配
PHP笔试题,一个字符串里有很多个小括号,要求 小括号可以嵌套,但是必须保证左右匹配, 要求写出一个方法能验证该字符串中是否符合小括号规定的格式 <?php /** * PHP笔试题,一个字符串里有很多个小括号,要求 小括号可以嵌套,但是必须保证左右匹配 * 给出一个方法,要求能验证该字符串中是否符合小括号规定的格式 */ $input1 = '))))((((()'; $input2 = '((()))()'; $input3 = '((())())'; $input4 = ')(()()原创 2020-08-09 00:39:18 · 714 阅读 · 0 评论