数据结构与算法----数据--算法

数据是具有相同性质元素的集合,包括数据对象和数据结构,如集合、线性结构、树状结构和图状结构。算法是程序的核心,必须具备有穷性、确定性、可行性,以及输入和输出。良好的算法应具备正确性、可读性、健壮性和高效的空间、时间复杂度。时间复杂度和空间复杂度是衡量算法性能的关键指标。
摘要由CSDN通过智能技术生成

数据--算法

数据

数据对象

具有相同性质的数据元素的集合,是数据的一个子集。

数据结构

相互之间存在一种或多种特定关系的数据元素的集合。

  • 三要素:

    • 逻辑结构:

      • 集合结构

      • 线性结构(一对一)

      • 树状结构(一对多)

      • 图状结构(多对多)

    • 数据的运算

    • 物理结构

数据类型,抽象数据类型

  • 原子类型(值不可再分)

  • 结构类型(可以再分解为若干成分的数据类型)

  • 抽象数据组织及与之相关的操作

算法

概念

  • 程序=数据结构(信息)+算法(过程)

特性

  • 有穷性

  • 确定性

  • 可行性

  • 输入

  • 输出

“好算法”

  • 正确性

  • 可读性

  • 健壮性(可以处理异常)

  • 高效率与低存储量需求(省时省内存,时间复杂度,空间复杂度都低

时间复杂度

时间复杂度大小排序:

  • O(1)<O(log2N)<O(N)<O(Nlog2N)<O(N^2)<O(N^3)<O(2^N)<O(N!)<O(N^N)

三种复杂度:最坏时间复杂度,平均时间复杂度,最好时间复杂度

空间复杂度

空间复杂度大小排序:

  • O(1)<O(log2N)<O(N)<O(Nlog2N)<O(N^2)<O(N^3)<O(2^N)<O(N!)<O(N^N)

空间复杂度=递归调用的深度

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值