"数据结构"
数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。它包括三方面的内容:逻辑结构、存储结构和数据的运算。数据的逻辑结构和存储结构是密不可分的两个方面,一个算法的设计取决于所选定的逻辑结构,而算法的实现依赖于所采用的存储结构。
逻辑结构是指数据元素之间的逻辑关系,即从逻辑关系上描述数据。它与数据的存储无关,是独立于计算机的。数据的逻辑结构分为线性结构和非线性结构。线性结构是指结构中的数据元素之间只存在一对一的关系。非线性结构是指结构中的数据元素之间存在一对多的关系或多对多的关系。
存储结构是指数据结构在计算机中的表示(又称映像),也称物理结构。它包括数据元素的表示和关系的表示。数据的存储结构是逻辑结构用计算机语言的实现,它依赖于计算机语言。数据的存储结构主要有顺序存储、链式存储、索引存储和散列存储。
算法是指解决问题的步骤的集合。算法的五个特征是:有穷性、确定性、可行性、输入和输出。算法的复杂度是指算法的执行时间和所需空间的大小。时间复杂度是指算法随着问题规模增大,算法执行时间增长的快慢。空间复杂度是指算法随着问题规模增大,算法所需空间的增长率。
线性表是具有相同数据类型的n(n≥0)个数据元素的有限序列。它的逻辑结构是指线性表中每个元素都有且仅有一个直接前驱和一个直接后继。线性表的顺序存储结构称为顺序表。它是用一组地址连续的存储单元依次存储线性表中的数据元素,使得逻辑上相邻的两个元素在物理位置上也相邻。
顺序表的操作包括插入和删除。插入操作的算法思路是:判断i的值是否正确,判断表长是否超过数组长度,从后向前到第i个位置,分别将这些元素都向后移动一位,将该元素插入位置i,并修改表长。删除操作的算法思路是:判断i的值是否正确,取删除的元素,将被删除的元素从线性表中移除,并修改表长。
数据结构是解决问题的基础,它包括逻辑结构、存储结构和数据的运算。算法是解决问题的步骤的集合,包括五个特征:有穷性、确定性、可行性、输入和输出。线性表是具有相同数据类型的n(n≥0)个数据元素的有限序列,它的逻辑结构和顺序存储结构是密不可分的两个方面。