数据结构--绪论知识点

数据:
是描述客观事物的数和字符的集合。

数据元素:
数据的基本单位,一个数据元素由若干个数据项组成。

数据项:
具有独立含义的数据最小单位,也称字段或域。

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

数据结构:
指所有的数据元素以及数据元素之间的关系,可以看做相互之间存在特定关系的数据元素的集合。

数据的逻辑结构:
从数据元素的逻辑关系上对数据进行描述,是指数据元素之间逻辑关系的总体。

逻辑结构的表示法:图示表示法和二元组表示法

逻辑结构的类型:集合、线性结构和树形结构。

线性结构:数据元素之间存在一对一的关系。

树形结构:数据元素之间存在一对多的关系。如二叉树

数据的存储结构:
数据的逻辑结构在计算机存储器中的存储表示。

存储结构:
顺序存储结构、链式存储结构、索引存储结构、哈希存储结构。

顺序存储结构:是指采用一组连续的存储单元存放所有的数据元素。优点:存储效率高,实现随机存取;缺点:不利于数据的修改、插入、删除等

链式存储结构:每个逻辑元素用一个内存结点存储,每个结点是单独分配的,但是不一定是连续的,无需占用一整块空间(通过指针域将所有的结点链接起来)。 优点:便于数据的修改,不需要占用一整块空间;缺点:空间利用率低,需要分出一部分存储单元用来存放结点信息,不能实现随机存取。

索引存储结构:在存储数据信息的同时还需要建立一张索引表。

哈希存储结构:根据元素的关键字通过哈希函数求出一个值,将这个值作为该元素的存储地址。

数据类型:
是指一组性质相同的值得集合和定义在此集合上的一组操作的总称;是已实现的数据结构。

算法:
是对特定问题求解步骤的一种描述,它是指令的有限序列。

算法的特性:
有穷性、确定性、可行性、有输入、有输出。

程序是算法在计算机上的特定实现。

算法设计的目标:正确性、可使用性、可读性、健壮性、高效率与低存储量要求。

健壮性:具有很好的容错性,提供异常处理,能够对不合理的数据进行检查。

算法分析就是分析算法占用计算机资源的多少。

算法分析的目的是分析算法的时空特性以便改进算法。

两种算法时间性能分析方法:事前估算法和事后统计法。

时间分析就是求出算法所有原操作的执行次数。

时间复杂度:表示随问题规模n的增大,算法的执行时间的增长率和f(n)的增长率相同。

空间复杂度:一个算法在运行过程中临时占用的存储空间大小的量度。

小结:

从逻辑上可以把数据结构分为线性结构和非线性结构两大类。

有序表属于逻辑结构。

ADT:数据对象、数据关系和基本操作。

算法的时间复杂度取决于问题的规模和待处理数据的形态。

设n是描述问题规模的非负整数,下面程序片段的时间复杂度是(O(log2n))。
x=2;
while(x<n/2)
  x=2*x;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值