数据结构的基本概念
在学习一些知识之前,我们都问自己我们正在学习的目的是什么吗?学习数据结构也是如此。我们学习数据结构主要是用程序来信息现实世界中的问题;用计算机有效地处理这些信息以创造价值。ok,接下来,正式学习数据结构课程:
数据:数据是信息的载体,是描述客观事物属性的数字、字符和所有能够输入计算机并被计算机程序识别和处理的集合。数据是计算机程序处理的原材料。
数据元素:数据的基本单位,通常作为一个整体进行考虑和处理。
数据项:一个数据元素可以由几个数据项组成,数据项是构成数据元素不可分割的最小单位。
数据对象:具有相同性质的数据元素的集合,是数据的子集。
它们之间的关系如下:
数据结构的三要素
逻辑结构分为几种情况,下面将逐一解释,以下是数据元素之间常见的逻辑关系:
集合结构:每个元素都属于一个集合,没有其他关系。线性结构:数据元素是一对一的,除了第一个元素,所有元素都有唯一的前驱;除了最后一个元素,所有元素都有唯一的继承者。树结构:数据元素之间有一对多的关系。形状结构:数据元素之间有多对多的关系。
数据运算:根据逻辑结构,结合实际需要,定义基本运算。
物理结构是用计算机表示数据元素的逻辑关系,以下是物理结构创建的存储方式:
顺序存储:在物理位置和相邻存储单元中存储逻辑相邻元素,元素之间的关系反映在存储单元的相邻关系中。链式存储:逻辑上,相邻元素在物理位置上不能相邻,元素之间的逻辑关系可以借助指示元素存储地址的指针来表示。索引存储:在存储元素信息时建立额外的索引表。索引表中的每一项都叫索引项,索引项的一般形式是。散列存储:根据元素的关键字直接计算元素的存储地址,也称为哈希存储。
如果使用顺序存储,每个数据元素必须在物理上连续;如果使用非顺序存储,每个数据元素可以在物理上离散。数据的存储结构会影响存储空间分配的便利性;数据操作的速度。
算法的基本概念
算法是对特定问题解决步骤的描述,是指令的有限序列,每个指令表示一个或多个操作。
算法具有以下特点:
穷:算法必须在执行有穷步后结束,每一步都可以在有穷时间内完成。算法必须是穷的,程序可以是无穷的。确定性:算法中的每一个指令都必须具有确切的含义,对于相同的输入,只能得到相同的输出。可行性:算法中描述的操作可以通过有限次的基本操作执行来实现。输入:一个算法有零或多个输入,这些输入取决于特定对象的集合。输出:一个算法有一个或多个输出,与输入有一定的关系。
一个好的算法应该具备以下特点:
正确性:算法应该能够正确地解决问题。可读性:算法应具有良好的可读性,以帮助人们理解。强度:当输入非法数据时,算法可以在不产生无法解释的输出结果的情况下进行适当的反应或处理。高效率和低存储需求:少花时间和免费内存。
总结片如下:
我已经在之前的文件中解释了时间复杂性和空间复杂性的解释操作。不知道的朋友建议看看我之前的文章:时间复杂性和空间复杂性。当然也可以看看下面整理的知识梳理文档:
本文主要讲解数据结构的基本概念,下一篇文章将重点讲解数据结构的相关知识。
文章为作者独立观点,不代表股票交易接口观点