数据结构与算法系列1 什么是数据结构和算法

数据结构系列1

啥是数据结构?

数据结构是计算机存储,组织数据的方式,就是怎么存储数据的意思

啥是数据

数据:是描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并给计算机处理的符号集合

数据元素:是组成数据的,有一定意义的基本单位,在计算机中通常作为整体处理,也被称为记录

数据项:一个数据元素可以由若干数据项的组成

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

啥是结构

逻辑结构,物理结构

**

一、数据的逻辑结构。

系统的逻辑结构是从思想的角度上对系统分类,把系统分成若干个逻辑单元,不同逻辑单元分别实现自己的功能。数据的逻辑结构是对数据之间关系的描述,有时就把逻辑结构简称为数据结构,数据的逻辑结构分为以下四种:

1、集合结构:集合结构的集合中任何两个数据元素之间都没有逻辑关系,组织形式松散。

2、线性结构:数据结构中线性结构指的是数据元素之间存在着“一对一”的线性关系的数据结构。

3、树状结构:树状结构是一个或多个节点的有限集合。

4、图形结构:网络结构是指通信系统的整体设计,它为网络硬件、软件、协议、存取控制和拓扑提供标准。

**

集合结构:集合结构中的数据元素除了同属一个集合外,他们之间没有其他关系

数据结构与算法系列1 什么是数据结构和算法_第1张图片

线性结构:线性结构中的数据之间是一对一的关系

数据结构与算法系列1 什么是数据结构和算法_第2张图片

图形结构:图形结构的数据元素是多对多的关系

数据结构与算法系列1 什么是数据结构和算法_第3张图片

树形结构:树形结构中的数据之间是一对多的层次关系

数据结构与算法系列1 什么是数据结构和算法_第4张图片

二:物理结构:是指数据的逻辑结构在计算机中的存储形式。顺序存储和链式存储。

顺序存储:是把数据元素存放在地址连续的存储单元里。

链式存储:是把数据元素存放在任意的存储单元里,这组存储单元可以是连续的,也可以是不连续的。

各位大佬对数据结构的见解

数据结构与算法系列1 什么是数据结构和算法_第5张图片

Sartaj Sahni在他的《数据结构、算法与应用》一书中称:“数据结构是数据对象,以及存在于该对象的实例合组成实例的数据元素之间的各种联系。这些联系可以通过定义相关的函数来给出。”他将数据对象(data object)定义为“一个数据对象是实例或值的集合”。

数据结构与算法系列1 什么是数据结构和算法_第6张图片

Clifford A.Shaffer在《数据结构与算法分析》一书中的定义是:“数据结构是 ADT(抽象数据类型Abstract Data Type) 的物理实现。”

数据结构与算法系列1 什么是数据结构和算法_第7张图片

大话数据结构:数据结构是相互之间存在一种或多种特定关系的数据元素的集合。

数据结构与算法系列1 什么是数据结构和算法_第8张图片

个人:数据结构包括数据对象集以及它们在计算机中的组织方式,即它们的逻辑结构和物理存储结构,同时还包括与数据对象集相关的操作集,以及实现这些操作的最高效的算法。拿我们生活中的图书馆藏书举例,就是把图书馆中的书转化为一些字符数据存入电脑中,以及对这些数据对象集的操作。如找书,摆放放书等。

什么是算法?

还是图书馆的例子,如果一本一本找累死人,要是有个索引,先找哪一类这样会快很多。如何查找其实就是算法。

算法是解决问题步骤的有限集合,通常用某一种计算机语言进行伪码描述。通常用时间复杂度和空间复杂度来衡量算法的优劣。

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

输入:零个或多个输入。

输出:一个或多个输出。

有穷性:有限步骤后在可接受时间内完成。

确定性:每个步骤都有确定含义,无二义性。

可行性:每一步都是可行的。

算法设计要求:正确性、可读性、健壮性、时间效率高和存储低。

正确性:有输入输出,无二义性,有正确答案。

可读性:方便阅读。

健壮性:输入不合法能处理

时间效率高和存储低:时间空间复杂度越低越好。

以上就是数据结构与算法系列1 什么是数据结构和算法,后面我会继续更新,写作不易,请各位老铁点个赞支持一下,觉得有帮助的也可以收藏呀,我会经常更新文章,也可以关注我呀

数据结构与算法系列1 什么是数据结构和算法_第9张图片

你可能感兴趣的:(数据结构与算法)