数据结构与算法02:一张图概括【算法】是什么?

数据结构与算法02:【算法】是什么?(图解加深记忆)

数据结构与算法这两个词,经常是连着提到的,但是算法到底是什么呢?算法和数据结构又是什么联系呢?

一、算法图解

直接上图,一图概括算法到底是什么?
在这里插入图片描述

二、对应文字解释

  1. 定义
    算法是解决特定问题求解步骤的描述,在计算机中表现为指令的优先序列,并且每条指令表示一个或多个操作。

  2. 特性

    输入:算法具有零个或多个输入;
    输出:算法至少有一个或多个输入;
    有穷性:1)优先步骤;2)自动结束;3)可接受时间内完成
    确定性:不会出现二义性;
    可行性:每个步骤都能通过执行优先次数完成。

  3. 设计要求
    1)正确性
    -层次1:没有语法错误;
    -层次2:非法输入,能够得出满足规格的说明;
    -层次3:合法输入,可以产生满足要求的输出;
    -层次4:所有测试数据都有满足要求的输出结果;
    2)可读性
    -可读性也就是方便阅读,容易理解与交流;
    3)健壮性
    -满足健壮性时,哪怕当输入数据不合法时,算法也能做出相关处理,而不是产生异常或莫名其妙的结果。
    4)时间高效及存储量低

  4. 时间复杂度
    1)定义
    算法的时间复杂度,也就是算法的时间度量。
    2)表示方法
    T(n)=O(f(n))
    3)推导方法
    -用常数1取代所有加法常数
    -只保留最高阶项
    -如果最高阶想存在且不是1,则忽略与这一项相乘的常数
    4)常见的时间复杂度
    O(1)<O(logn)<O(n)<O(nlogn)<O(n平方)<O(n立方)<O(2的n次方)

三、推荐学习资料

1.推荐书籍

《大话数据结构》

2.推荐课程

《数据结构》——MOOC浙江大学陈越老师

猜你喜欢

转载自blog.csdn.net/qq_41940277/article/details/123304181
今日推荐