1. 主页
  2. 文档
  3. 开源达人之数据结构
  4. 五,算法的一些条件思考?

五,算法的一些条件思考?

一直在写代码学习,写代码学习,……………..

直到10年后的有一天,才真正意义上的思考算法、速度大O、效率等的问题。

当遇到任何的一个需求时,考虑算法,我的脑子里总会有如下这些算法思想或者说要准备的条件,也或者说依据等等值得考虑的内容。

1,数据的结构是什么?

2,是循环,还是判断来解决。

3,是比较吗?

4,什么样的算法效率更高。O(n) 或 O(log n)

5,基点或者说开始,我还会考虑数据结构的结束。(开始也或者说基准)

6,要不重新组装数据结构。

7,返回的结果是什么

8,是函数,是类,还是api的调用

9,是自已写,还是拿来用,百度找

10,排序啊,递归啊,快排啊,考虑散列表啊,广度优先搜索,狄克斯特拉算法,贪婪算法,动态的规划,K最近等等。

最后的学习还是回归数据的本身结构和有趣的数据算法。

// 查出最小f索引值$K
function seleval($arr){
    // 定位基准
    $v = $arr[0];
    $k = 0;
    
    for($i=1; $i<count($arr); $i++){
        //echo $arr[$i];
        if($arr[$i] < $v){  //6<10
            $v=$arr[$i]; //$v =6
            $k =$i; // $k=1
        }
    }
    return $k;


}

$ar = [10,6,5,7,8]; //0 1 2 3 4 5
echo seleval($ar);

/*
1,数据结构
2,循环,比较
3,开始,结束
4,返回值
5,是否组装拼接
6,速度和效率的问题
*/
这篇文章对您有用吗?

我们要如何帮助您?