算法笔记(自用)

程序 = 数据结构 + 算法

数据元素与数据对象

  • 数据元素——组成数据的基本单位
    • 与数据的关系:是集合的个体
  • 数据对象——性质相同的数据元素的集合
    • 与数据的关系是:集合的子集
      数据结构:数据元素不是孤立存在的,他们之间存在某种关系,数据元素相互之间的关系称为结构。是指在相互之间存在一种或多种特定关系的数据元素集合。
      逻辑结构和储存结构的关系
  • 储存结构式逻辑关系的映像与元素本身的映像。
  • 逻辑结构是数据结构的抽象,储存结构式数据结构的实现
  • 两者综合起来建立了数据结构间的关系

算法和算法分析

算法定义:对特定问题求解方法和步骤的一种描述,它是指令的有限序列。其中每个指令表示一个或多个操作。(解决问题的方法和步骤)

算法五个重要特性:
  • 有穷性:一个算法总是再执行有穷步之后结束,且每一步都在有穷时间内完成。
  • 确定性:算法中的每一条指令必须有确切的含义,没有二义性,在任何条件下,只有唯一的一条执行路径,即对于相同的输入只能得到相同的输出
  • 可行性:算法是可执行的,算法描述的操作可以通过已经实现的基本操作执行有限次来实现
  • 输入:一个算法有零个或多个输入
  • 一个算法有一个或多个输出
    算法的要求
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

一个好的算法首先要具备正确性,然后是健壮性,可读性,在这几个方面都满足的情况下,主要考虑算法的效率,通过算法的效率来评判不同算法的优劣程度

算法效率主要从以下两个方面来考虑:

  1. 时间效率:指的是算法锁耗费的时间;
  2. 空间效率:指的是算法执行过程中所耗费的存储空间。

****时间效率和空间效率有时候是矛盾的

分析算法时间复杂度的基本方法

在这里插入图片描述

时间复杂度有嵌套最深层语句的频度决定的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值