~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
开发工具与关键技术:数据结构和算法的概念及基础知识
作者:黄海峰
撰写时间:2020.04.27
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
算法+数据结构=程序
数据结构的基本概念:
1.逻辑结构
(1)线性结构。结构中的数据元素存在着一对一的线性关系。
线性结构:除第一个和最后一个数据元素外,每个元素只有一个前驱和一个后继数据元素。
(2)树结构。结构中的数据元素存在着一对多的层次关系。
树结构:除根节点外,每个数据元素只有一个前驱数据元素,可有0个或若干个后继数据元素。
(3)图结构。结构中的数据元素存在着多对多的任意关系
图结构:每个数据元素可有0个或若干个前驱数据元素,可有0个或若干个后继数据元素
2.逻辑结构的延伸及基本算法
3.物理结构
4.运算集合(基本操作)
算法的语言形式
1.文字形式:用中文或英文这样的文字来描述算法。
2.伪码形式:用一种仿程序设计语言的语言来描述算法。
3.程序设计语言形式:用某种程序设计语言描述算法。其优点是算法不用修改,直接作为程序语句键入计算机,计算机能调用和运行。
(算法是描述求解问题方法的操作步骤集合)
算法的概念和特定
算法是对特定问题求解步骤的一种描述,他是指令的有限序列,其中每一条指令表示一个或多个操作,此外,一个算法还需要具有以下五个重要特性:
1有穷性 2确定性 3可行性 4输入 5输出
算法设计的要求
算法设计的好坏关乎程序的执行效率,算法设计必须满足以下要求:
1正确性 2可读性 3健壮性 4效率与低储存需求
数据结构基础知识
学习数据结构首先从认识以下几个概念开始。
1.数据
数据是指所有能输入到计算机中的描述客观事物的符号,包括文本、声音、图像、符号等。我们经常使用的“扫一扫”的二维码,也是数据。
2.数据元素
数据元素是数据的基本单位,也称节点或记录。
3.数据项
数据项表示有独立含义的数据最小单位,也称域。若干个数据项构成一个数据元素,数据项是不可分割的最小单位。
4.数据对象
数据对象是指相同特性的数据元素的集合,是数据的一个子集。
5.数据结构
数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。
数据结构是带“结构”的数据元素的集合,“结构”是指数据元素之间存在的关系。数据结构研究的问题是将带有关系的数据存储在计算机中,并进行相关操作。数据结构包含逻辑结构、存储结构和运算三个要素。
6.逻辑结构和存储结构
逻辑结构是数据元素之间的关系,存储结构是数据元素及其关系在计算机中的存储方式。例如,小明和小勇是表兄弟,这是他们之间的逻辑关系;他们在教室里面的位置是他们的存储结构。无论他们的座位怎样安排,是挨着坐,还是分开坐,都不影响他们的表兄弟关系。
逻辑结构:数据元素间抽象化的相互关系,与数据的存储无关,独立于计算机,它是从具体问题中抽象出来的数学模型。
逻辑结构有4种:集合、线结构、数结构、图结构。
存储结构:数据元素及其关系在计算机中的存储方式。
存储结构可以分为4种:顺序存储、链式存储、散列存储和索引存储。