数据结构与算法 — 数据结构的定义

计算机是一种具备了数据计算与信息处理功能的电子设备。

它可以接受人类所设计的指令或程序设计语言,经过运算处理后,输出期待的结果。

对于有志于从事信息技术专业领域的人员来说,数据结构(Data Structure)是一门与计算机硬件和软件息息相关的学科,称得上是从计算机问世以来经久不衰的热门学科。

这门学科研究的重点是在计算机程序设计领域,即研究如何将计算机中相关数据或信息的组合,以某种方式组织起来进行有效地加工和处理,其中包含算法(Algorithm)、数据存储的结构、排序、查找、树、图、及哈希函数等。

我们可以将数据结构看成是在数据处理过程中的一种分析、组织数据的方法与逻辑,它考虑到了数据之间的特性与相互关系。

简单来说,数据结构的定义就是一种程序设计优化的方法论,它不仅讨论到存储的数据,同时也考虑到彼此之间的关系与运算,使之达到加快执行速度与减少内存占用空间的作用。

在现代社会中,计算机与信息是息息相关的,因为计算机有处理速度快与存储容量大两大特点,所以在数据处理的角色上更为举足轻重。

数据结构无疑就是数据进入计算机内处理的一套完整逻辑,就像程序设计师必须选择一种数据结构来进行数据的添加、修改、删除、存储等操作。

如果在选择数据结构时做了错误的决定,那么程序执行的速度可能会变得非常低效;

如果选错了数据类型,那么后果更是不堪设想。

因此,当要求计算机为我们解决问题时,必须以计算机所能接受的模式来确认问题,而且安排适当的算法处理数据,这就是数据结构要讨论的重点。

1. 数据与信息

谈到数据结构,首先必须了解何为数据与信息。

所谓数据,指的就是一种未经处理的原始文字、数字、符号或图形等,它所表达出来的只是一种没有评估价值的基本元素或项目。

例如,姓名、课程表、通信录等都皆可称为一种”数据”。

从严谨的角度来形容”数据处理”,就是用人力或机器设备对数据进行系统地整理,如记录、排序、合并、整合、计算、统计等,以使原始的数据符合需求,从而成为有用的信息。

2. 数据的特性

通常按照计算机中所存储和使用的对象将数据分为两大类:

一类为数值数据(Numeric Data),如0,1,2,即可用运算符来进行运算的数据;

另一类为字符数据,如A,B,C,等非数值数据。

如果按照数据在计算机程序设计语言中的存在层次来划分,则可以分为以下三种类型。

  • 基本数据类型

不能以其他类型来定义的数据类型,或者称为标量数据类型,几乎所有的程序设计语言都会为标量数据类型提供一组基本数据类型,如C#语言中的基本数据类型就包括了整数(int)、浮点(float)等。

  • 结构数据类型

结构数据类型也称为虚拟数据类型,是一种比基本数据类型更高一级的数据类型,如字符串(string)、数组(array)等。

  • 抽象数据类型

我们可以将一种数据类型看成是一种值的集合,以及在这些值上进行的运算及其代表的属性所组成的集合。

“抽象数据类型”比结构数据类型更高级,是指一个数字模型及定义在此数学模型上的一组数学运算或操作。

也就是说,ADT在计算机中是表示一种”信息隐藏”的程序设计思想及信息之间的某一种特定的关系模式。

例如堆栈(Stack)就是一种典型的数据抽象类型,它具有后进后出的数据操作方式。

订阅评论
提醒
0 评论
最旧
最新 最多投票
内联反馈
查看所有评论
滚动至顶部