算法
文章平均质量分 57
G925010178
不是我不明白,这世界变化快
展开
-
使用运算交换两个数的值
使用运算直接交换两个数的值原创 2022-09-27 16:31:41 · 310 阅读 · 1 评论 -
CSDN竞赛第五期竞赛-习题解析
CSDN竞赛第五期竞赛题目及解析过程原创 2022-09-13 16:58:37 · 556 阅读 · 0 评论 -
算法之DFS(深度优先搜索)
深度优先搜索属于图算法的一种,英文缩写为DFS即Depth First Search.其过程简要来说是对每一个可能的分支路径深入到不能再深入为止,而且每个节点只能访问一次纪念今天520,找女朋友用深度优先搜索的都是好男人,广度优先搜索的都是渣渣男【捂脸】一、具体步骤1、从一个支点开始,选择一条分支2、沿着分支一直走到无路可走3、重新回到分支,选择另一条路,重复第二步4、直到所有点全部遍历完成。二、举例分析例:从3出发,有多少路可以选择3->1->2->53->原创 2020-05-20 19:55:19 · 386 阅读 · 1 评论 -
十大编程算法助程序员走上高手之路(转)
算法一:快速排序算法快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序 n 个项目要Ο(n log n)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他Ο(n log n) 算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地被实现出来。快速排序使用分治法(Divide and conquer)策略来把一个串行(list)分为两个子串行(sub-lists)。算法步骤:1 从数列中挑出一个元素,称为 “基准”.转载 2020-05-14 11:59:26 · 226 阅读 · 0 评论 -
查找算法之 - 线性查找算法(BFPRT) php
1.描述BFPRT算法解决的问题十分经典,即从某n个元素的序列中选出第k大(第k小)的元素,通过巧妙的分 析,BFPRT可以保证在最坏情况下仍为线性时间复杂度。该算法的思想与快速排序思想相似,当然,为使得算法在最坏情况下,依然能达到o(n)的时间复杂 度,五位算法作者做了精妙的处理。**如果待查询的集合中,重复元素过多,不建议使用,可能无限循环下去。2.逻辑1、如果 数组A 长度小于等于5...原创 2020-04-23 18:08:33 · 460 阅读 · 0 评论 -
查找算法之 - 二分查找算法 php
1.描述二分查找算法是一种在有序数组中查找某一特定元素的搜索算法。搜素过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜 素过程结束;如果某一特定元素大于或者小于中间元素,则在数组大于或小于中间元素的那一半中查找,而且跟开始一样从中间元素开始比较。如果在某一步骤数组 为空,则代表找不到。这种搜索算法每一次比较都使搜索范围缩小一半。折半搜索每次把搜索区域减少一半,时间复杂度为Ο(lo...原创 2020-04-23 18:07:13 · 411 阅读 · 0 评论 -
排序算法之 - 堆排序 php
2.逻辑二叉树的特性:即子结点的键值或索引总是小于(或者大于)它的父节点1、建堆(从小到大排序,建大堆,从大到小排序,建小堆)建堆过程:1.找到数组键名的中间值 $i,找到它的子节点 $i * 2+1和 $i * 2+2 &n...原创 2020-04-23 18:05:42 · 359 阅读 · 1 评论 -
排序算法之 - 归并排序 php
1.描述归并排序(Merge sort)是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。和选择排序一样,归并排序的性能不受输入数据的影响,但表现比选择排序好的多,因为始终都是 O(nlogn) 的时间复杂度。代价是需要额外的内存空间。2.逻辑1、将数组以某个值为中间点,分割为左右两部分2、将左右数组在递归的进行第一步,...原创 2020-04-23 18:04:52 · 375 阅读 · 0 评论 -
排序算法之 - 快速排序 php
1.描述通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。2.代码1、取出一个数字,以改数字为界,将数组分割为小数组和大数组2、将分割的数组重复1步骤,直到无法分割后,在重新合并起来3、将小数组,中间数,大数组合并,排序完成$arr = ...原创 2020-04-22 18:16:19 · 306 阅读 · 0 评论 -
排序算法之 - 冒泡排序 php
冒泡排序为最简单的排序算法之一,下边以php为示例解释说明冒泡排序。1.描述$arr = [100, 20, 50, 49, 29, 15, 22, 8, 101, 50];function bubbingSort($arr){ $arrSize=count($arr); for ($i=0;$i<$arrSize;$i++){ for($j=$i+1;...原创 2020-04-22 18:15:24 · 355 阅读 · 0 评论