数据结构复习笔记01

数据结构-基本知识:

基本术语:

数据:

对客观事物的符号表示,在计算机科学里之所有能输入到计算机并且背其处理的符号总称,是计算机程序加工的原料,数据的含义极广,例如图像、声音、文件等都可以通过编码而归为数据的范畴。

数据元素:

是数据的基本单位,一个数据元素由若干个数据项组成,此时的数据元素通常称为记录。

数据项:

是组成数据的最小单位,不可细分。

数据对象:

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

数据结构:

相互之间存在一种或多种特定关系的数据元素的集合,结构就是指数据元素之间的相互关系,即数据的组织形式。分为以下三个方面的内容:

逻辑结构:

数据元素之间的逻辑关系,独立于计算机。

存储结构:

数据元素及其关系在内存里面的表示,,又称数据的物理结构,或数据的存储结构。

数据的运算及实现:

对数据元素施加的操作,以及这些操作在相应存储结构上的实现。

数据的逻辑结构:

1.集合结构:数据元素之间同属一个集合
2.线性结构:数据元素之间一对一的关系,每个数据元素都由唯一的前驱和后继,除第一个和最后一个元素以外。
3.树形结构:数据元素之间一对多的关系,最上面的为根结点,最下面的为叶子结点
4.网状结构:数据元素之间多对多的关系。

数据的存储结构:

数据元素在计算机中的表达和存储方式,是逻辑结构在计算机中的实现,包含数据元素的表示和关系的表示。
依据数据元素之间的关系在计算机中不同的表示,有两种不同的存储结构:顺序存储结构(数组)、链式存储结构(链表)。

数据类型:

按照值的不同特性,高级程序语言中的数据类型分为两类:非结构的原子类型:其值不可分解、另一类为结构类型:其值由若干成分按照某种结构组合而成,可分解。

抽象数据类型:

指一个数学模型以及定义在该模型上的一组操作,其定义仅取决于他的一组逻辑特性,与在计算机内部如何表示和实现无关。

算法:

其实在python的学习里面已经提及了算法,即一系列操作按照一定顺序组成的,用于解决某项问题。

算法的特性:

1.有穷性:一个算法必须在有限步骤内结束,不能形成无穷循环
2.确定性:算法中的每一个步骤都要有明确的含义,不能有二义性
3.可行性:算法中的每个步骤都应当可以有效执行,并得到确切结果
4.输入:包含零个或多个输入
5.输出:包含至少一个输出
算法的基本特性是:有穷性、确定性以及可行性。

算法的描述方式:

自然语言、流程图、伪代码、程序设计语言

算法设计的要求:

确保算法的正确性、可读性、稳健性、高效性、内存利用低。

算法性能分析:时间复杂度和空间复杂度

1.时间复杂度:该算法的运行时间与问题规模的对应关系:T(n)=O(f(n))
n为问题规模,T(n)表示语句执行次数;f(n)为辅助函数;O(f(n))表示f(n)是T(n)的同数量级函数。
2.空间复杂度:从开始到结束所需的存储空间:S(n)=O(f(n))

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值