【计算机二级公共基础】《数据结构与算法》笔记

一、算法

1. 概念

1.1 算法:是指解题方案的准确而完整的描述。(算法不等于程序)
  • 可行性:在设计一个算法时,必须考虑他的可行性
  • 确定性:算法中的每个步骤必须是明确定义的,不允许模棱两可
  • 有穷性:算法必须在有限的时间内做完,必须在执行有限个步骤之后停止
  • 足够的情报:是指算法要有一定的输入数据和必须要有的输出结果

2. 算法的基本要素

2.1 对数据对象的运算操作:
  • 算数运算、逻辑运算、关系运算、数据传输
2.2 算法的控制结构
  • 算法中各操作之间的执行顺序
  • 描述算法的工具通常有传统流程图、N-S结构化流程图、算法描述语言等
  • 一个算法一般可以用==顺序、选择、循环、==三种基本结构组合而成

3. 时间和空间复杂度

3.1 算法的时间复杂度
  • 是指执行算法所需要的计算工作量,可以用算法所执行的基本运算次数度量
3.2 算法的空间复杂度
  • 是指执行算法所需要的内存空间。包括算法程序、输入的初始数据以及算法执行过程中需要的额外空间。
3.3 算法的时间复杂度和 空间复杂度 相互独立

二、数据结构

1. 数据结构

1.1 数据:
  • 需要处理的数据元素的集合,一般来说,这些数据元素,具有某个共同的特征

数据元素是数据的基本单位,即数据集合中的个体。

有时一个数据元素可由若干个==数据项(Data Item)==组成。数据项是数据的最小单位。

1.2 结构:
  • 所谓“结构”,是集合中各个数据元素之间存在的某种关系(或联系)
1.3 数据结构:
  • 是指相互有关联的数据元素的集合

2. 数据结构的分类

2.1 逻辑结构:

指反映数据元素之间的逻辑关系(即前后件关系)的数据结构

  • 线性结构:线性表,栈,队列

线性结构(线性表):

  1. 有且只有一个根节点,它无前件
  2. 每一个节点最多有一个前件,也最多有一个后件

例子:

春–>夏–>秋–>冬

就是可以用一条线串起来的

  • 非线性结构&#x
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值