随笔分类 -  数据结构与算法

摘要:关系 B-树就是B树,英文B-Tree,其中的“-”是连接符,B+树是B树的升级版,B 树只是一个每个节点的子节点个数不能小于 m/2 的 m 叉树。 区别 B+ 树中的节点不存储数据,只是索引,而 B 树中的节点存储数据 B 树中的叶子节点并不需要链表来串联 阅读全文
posted @ 2022-04-25 17:04 whyly 阅读(56) 评论(0) 推荐(0)
摘要:前言 今天看到一个有意思的问题,要获取一个集合的所有子集,使用PHP语言表示的话,就是要找到一个数组的所有子集数组,如[1,2,3],结果应该是 [1] [2] [3] [1,2] [1,3] [2,3] [1,2,3] PHP代码 function powerSet($in,$minLength 阅读全文
posted @ 2022-04-15 16:04 whyly 阅读(221) 评论(0) 推荐(0)
摘要:首先说明,研究这个并不是想搞什么算法研究,目的在于能够应用到日常的项目代码中。 list $a = 'A'; $b = 'B'; list($b, $a) = [$a, $b]; //php7可以简写为[$b, $a] = [$a, $b]; echo "a:{$a}, b:{$b}"; 建议大家使 阅读全文
posted @ 2020-08-21 11:25 whyly 阅读(272) 评论(0) 推荐(0)
摘要:题目 输出一个字符串所有可能的组合,如"abc",结果为['a', 'b', 'c', 'ab', 'ac', 'bc', 'abc'],不考虑字符顺序,ab和ba输出一种即可。 分析 可以采用递归算法,要计算"abc"的结果,可以考虑先计算"ab"的结果,在"ab"的结果基础上,再加入"c" 递归 阅读全文
posted @ 2020-08-12 10:49 whyly 阅读(511) 评论(0) 推荐(0)
摘要:插入排序 时间复杂度O(n^2) //插入排序 function insertionSort(&$arr) { $len = count($arr); if ($len <= 1) return; for ($i=1;$i<$len;$i++) { $value = $arr[$i]; for ($ 阅读全文
posted @ 2020-08-04 23:03 whyly 阅读(100) 评论(0) 推荐(0)
摘要:冒泡排序 时间复杂度O(n^2) //冒泡算法 function bubbleSort(&$arr) { $len = count($arr); if ($len <= 1) return; for ($i=1;$i<$len;$i++) { for ($j=0;$j<$len-$i;$j++) { 阅读全文
posted @ 2020-08-04 22:57 whyly 阅读(87) 评论(0) 推荐(0)