【1】什么是数据结构?什么是算法?

算法+数据结构=程序

计算机解决一个问题,大致需要5个步骤:

在这里插入图片描述

算法:解决特定问题的步骤和方法的描述,是指令的有限序列
数据结构:问题的数学模型
程序:算法在计算机上使用某种程序设计语言的具体实现

数据结构

  1. 数据:能够输入到计算机中并被计算机程序识别和处理的符号集合。

在这里插入图片描述
2. 数据结构:相互之间存在一种或多种特定关系的数据元素的集合
在这里插入图片描述

数据结构包括两个层次:

①逻辑结构:数据元素之间的逻辑关系
②物理结构:在计算机中的存储方式

算法

对特定问题求解步骤的描述,是指令的有限序列,每一条指令表示一个或多个操作

算法特性

  1. 有穷性:在输入合法的情况下,一个算法的每一步必须在有穷时间内完成,该算法要在有穷步骤后结束
  2. 确定性:每条指令都要有确定含义
  3. 可行性:算法中描述的的操作都可通过有限次执行已经实现的基本运算来实现
  4. 有输入:一个算法有0个或多个输入
  5. 有输出:一个算法有一个或多个输出

算法与程序的关系

程序是算法在计算机上用某种程序设计语言的具体实现

算法可以用不同方式、不同语言表示,比如英语、汉语、流程图、伪代码等等

算法设计要求

  1. 正确性
    ①没有语法错误
    ②对任何合法的输入都能得出正确的结果
  2. 可读性
    逻辑清晰,易于理解
  3. 健壮性
    当输入数据非法时,算法能够做出反应和处理
  4. 效率与存储量需求
    一个好的算法应该执行时间少,存储空间小

算法性能分析

时间复杂度与空间复杂度
(这是下一节的内容)

这一节有收获了吗(●’◡’●)

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值