前言
这一节为数据结构的前沿知识,笔者也是很久没更新了,祝各位初5财神进家门,在这一节的学习中我们会对数据结构有一个更好的认识,在国内的教材中,常听见的名字为《数据结构与算法》,我们往往把数据结构和算法放在一起,导致很多同学在学习数据结构的过程中进入了误区,觉得数据结构就是做题,其实数据结构是一种思想方式。这一节的学习过程中,可能会有些新知识,请看这回细细分解。
数据结构的定义和解释
先看一下百科的定义:
数据结构(data structure)是计算机中存储、组织数据的方式。看到这句话人都懵了,我们来看下面几个关键字即:
(1)存储
(2)数据
(3)组织
那数据结构就是存储数据和组织数据啰。组织数据就是我们平时说的CRUD,在数据库中我们提过CRUD的概念,即create(创建)、read(读取)、update(更新)、delete(删除)。
我举一个生活化的例子,很快就明白了,我们的手机联系人,微信联系人都是列表(list)。联系人即数据,
我们的手机里存了5个女朋友的联系方式,如果我们要加小姐姐的v,我们的数据就增加了1个(create),假如我们和3号闹矛盾了,我们可能就删除3号了(delete),假如我们2号女朋友叫小鲁班,我们改名字为李白就是update。在平常的过程中,我们往往有很多的联系人,不只是几个人,所以我们需要查找。这就是对数据结构的解释,不知道你是否明白。
tips
逻辑结构是指数据元素之间的逻辑关系,即从逻辑关系上描述数据。它与数据的存储无关。
在链接存储时,结点内的存储单元地址一定连续。(注意区分结点内和结点外)
数据结构的三要素是:数据元素、逻辑结构、存储结构
算法分析的目的是:分析算法的效率以求改进
在数据结构中,从逻辑上可以把数据结构分成(线性结构和非线性结构)
树形结构和图形结构合称为:非线性结构
常见题目:
(0) 可以用抽象数据类型定义一个完整的数据结构
(1) 算法的重要特性?
有穷性、确定性、可行性、输入、输出
(2)数据的逻辑结构独立于存储结构?
解: 对。见tips
(3) 数据的最小单位是什么?
解:位
(4) 链式存储结构与顺序存储结构相比较,主要优点是?
插入、删除、合并等操作较方便