数据结构与算法导论之基本概念和术语介绍

简介: <p>为了与大家取得“共同的语言”,下面对一些概念和术语赋予确定的含义。</p> <p><br></p> <p>1、数据(data):对客观事物的符号表示,在计算科学中指所有能输入到计算机中并被计算机程序处理的符号总称。</p> <p>2、数据元素(data element):是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。一个数据元素可以由若干个数据项(data i

为了与大家取得“共同的语言”,下面对一些概念和术语赋予确定的含义。


1、数据(data):对客观事物的符号表示,在计算科学中指所有能输入到计算机中并被计算机程序处理的符号总称。

2、数据元素(data element):是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。一个数据元素可以由若干个数据项(data item)组成,数据项是数据不可分割的最小单位。

3、数据对象(data object):性质相同的数据元素的组合,是数据的一个子集。

总结而言,数据、数据对象、数据元素和数据项之间的关系可以总结为:数据项是数据不可分割的最小单位,若干个数据项可以组成一个数据元素,性质相同的数据元素是数据对象,而数据对象是数据的一个子集。


4、数据结构(data structure):是相互之间存在一种或多种特定关系的数据元素的集合。这种数据元素相互之间的关系称为结构(structure)。根据数据元素之间的不同特性,通常有下列4类基本结构:

(1)、集合:结构中的数据元素之间除了“同属于一个集合”的关系外,别无其他关系;

(2)、线性结构:结构中的数据元素之间存在一对一的关系;

(3)、树形结构:结构中的数据元素之间存在一对多的关系;

(4)、图状结构或网状结构:结构中的数据元素之间存在多对多的关系;


讨论数据结构的目的是为了在计算机中实现对它的操作,因此还需研究如何在计算机中的表示。

5、数据结构在计算机中的表示或映像成为数据的物理结构,又称存储结构。它包括数据元素的表示和关系的表示。

在计算机中表示信息的最小单位是二进制的一位(bit)。我们可以用一个由若干位组合起来形成的一个位串表示一个数据元素,称为这个位串为元素(element)或结点(node)。当数据元素由若干数据项组成时,位串中对应于各个数据项的子位串称为数据域(data field)。因此,元素或结点可以看成是数据元素在计算机中的映射。


6、数据元素之间的关系在计算机中的有两种不同的表示方法:顺序映射非顺序映射,并由此得到两种不同的存储结构:顺序存储结构链式存储结构

顺序映射的特点:借助元素在存储器中的相应位置表示数据元素之间的逻辑关系。

非顺序映射的特点:借助指示元素存储地址的指针(pointer)表示数据元素之间的逻辑关系。

总而言之,数据的逻辑结构和物理结构是密切相关的两个方面:任何一个算法的设计取决于选定的数据(逻辑)结构,而算法的实现依赖于采用的存储结构。


7、数据类型(data type):是一个值的集合和定义在这个值集上的一组操作的总称。

抽象数据类型(abstract data type,ADT):指一个数学模型以及定义在该模型上的一组操作。


8、算法(algorithm):是对特定问题求解步骤的一种描述,它是指令的有限序列,其中每一条指令表示一个或多个操作。

一个算法还具有下列5个重要特性:

(1)、有穷性:一个算法必须总是在执行有穷步骤之后结束,且每一步都可在有穷时间内完成;

(2)、确定性:算法中的每一条指令必须有确切的含义,并且在任何条件下,算法只有唯一的一条执行路径,即对于相同的输入只能得到相同的输出;

(3)、可行性:算法中描述的操作都是可以通过已经实现的基本运算执行有限次实现的;

(4)、输入:一个算法有0个或多个输入,这些输入取自于某个特定对象的集合;

(5)、输出:一个算法有一个或多个输出,这些输出是同输入某些特定关系的量。

算法设计的要求:正确性、可读性、健壮性、效率与低存储量需求;

算法效率的度量:时间复杂度和空间复杂度。


目录
相关文章
|
18天前
|
算法 数据处理 C语言
C语言中的位运算技巧,涵盖基本概念、应用场景、实用技巧及示例代码,并讨论了位运算的性能优势及其与其他数据结构和算法的结合
本文深入解析了C语言中的位运算技巧,涵盖基本概念、应用场景、实用技巧及示例代码,并讨论了位运算的性能优势及其与其他数据结构和算法的结合,旨在帮助读者掌握这一高效的数据处理方法。
28 1
|
2月前
|
存储 算法
数据结构与算法学习二二:图的学习、图的概念、图的深度和广度优先遍历
这篇文章详细介绍了图的概念、表示方式以及深度优先遍历和广度优先遍历的算法实现。
63 1
数据结构与算法学习二二:图的学习、图的概念、图的深度和广度优先遍历
|
6月前
|
存储 算法 Linux
【数据结构和算法】---二叉树(1)--树概念及结构
【数据结构和算法】---二叉树(1)--树概念及结构
55 0
|
3月前
|
算法 调度
贪心算法基本概念与应用场景
尽管贪心算法在许多问题中都非常有效,但它并不总是会产生最优解。因此,在应用贪心算法前,重要的是先分析问题是否适合采用贪心策略。一些问题可能需要通过动态规划或回溯等其他算法来解决,以找到确切的全局最优解。
120 1
|
3月前
|
C语言
数据结构基础详解(C语言):图的基本概念_无向图_有向图_子图_生成树_生成森林_完全图
本文介绍了图的基本概念,包括图的定义、无向图与有向图、简单图与多重图等,并解释了顶点度、路径、连通性等相关术语。此外还讨论了子图、生成树、带权图及几种特殊形态的图,如完全图和树等。通过这些概念,读者可以更好地理解图论的基础知识。
173 8
|
4月前
|
机器学习/深度学习 算法 搜索推荐
【机器学习】机器学习的基本概念、算法的工作原理、实际应用案例
机器学习是人工智能的一个分支,它使计算机能够在没有明确编程的情况下从数据中学习并改进其性能。机器学习的目标是让计算机自动学习模式和规律,从而能够对未知数据做出预测或决策。
116 2
|
4月前
|
机器学习/深度学习 算法
【机器学习】解释对偶的概念及SVM中的对偶算法?(面试回答)
解释了对偶的概念,指出对偶性在优化问题中的重要性,尤其是在强对偶性成立时可以提供主问题的最优下界,并且详细阐述了支持向量机(SVM)中对偶算法的应用,包括如何将原始的最大间隔优化问题转换为对偶问题来求解。
97 2
|
5月前
|
机器学习/深度学习 人工智能 自然语言处理
机器学习之深度学习算法概念
深度学习算法是一类基于人工神经网络的机器学习方法,其核心思想是通过多层次的非线性变换,从数据中学习表示层次特征,从而实现对复杂模式的建模和学习。深度学习算法在图像识别、语音识别、自然语言处理等领域取得了巨大的成功,成为人工智能领域的重要技术之一。
97 3
|
6月前
|
存储 算法 C语言
二分查找算法的概念、原理、效率以及使用C语言循环和数组的简单实现
二分查找算法的概念、原理、效率以及使用C语言循环和数组的简单实现
|
6月前
|
机器学习/深度学习 算法 C语言
详细介绍递归算法在 C 语言中的应用,包括递归的基本概念、特点、实现方法以及实际应用案例
【6月更文挑战第15天】递归算法在C语言中是强大力量的体现,通过函数调用自身解决复杂问题。递归涉及基本概念如自调用、终止条件及栈空间管理。在C中实现递归需定义递归函数,分解问题并设定停止条件。阶乘和斐波那契数列是经典应用示例,展示了递归的优雅与效率。然而,递归可能导致栈溢出,需注意优化。学习递归深化了对“分而治之”策略的理解。**
124 7