数据结构与算法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浙江大学陈越老师

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值