您的位置:首页 > 理论基础 > 数据结构算法

【算法零基础入门】 学习笔记一 什么是数据结构

2012-12-30 14:59 671 查看
数据结构:是相互之间一种或几种特定关系的数据元素的集合。

一、引言

数据结构的起源来于人们对计算机能解决哪些问题的的思考。一开始人们觉得计算机就是解决计算问题的,就如同现在的计算器。但是随着计算机的发展,计算机能解决的问题越来越多,数据越来越复杂,怎么管理和组织数据,及数据之间的关系,就显得越来越重要。因而一门新的学科就诞生了,也就是我们正在讨论的数据结构。

二、基本概念

2.1 数据

要讨论数据结构,让我们先来讨论什么是数据。这个问题还真不好回答,各位可以闭上眼睛,自己想想数据该怎么定义。书本上给出的定义是这样的:数据是描述客观事物的符号,是计算机中可以操作的对象,是能输入计算机被计算机识别,并输入给计算机处理的符号集合。

这里的数据如果

从计算机的角度来看就是0,1两个数字组成的集合。

从数学角度来看的话包括整数,浮点数。

从编程语言角度来看的话除了整数,浮点数还包括布尔,字符串,结构,类等数据类型。

从现实角度来看的话包括声音,图像,视频等。

字符是通过对数字的编码来实现的。声音,视频更是通过对数字合理的结构安排及组合来实现的。

2.2 数据对象,数据元素,数据项

这三个概念也不好理解,如果你知道数据库的一点知识,用数据库里面的表,记录,字段来理解这三个概念是最简单不过了,数据库表就是一个数据对象,数据对象是相同数据元素组成的集合;记录就是数据元素,数据元素是组成数据的有一定意义的基本单位;字段就是数据项,数据项是组成数据元素的更小单位。

2.3 数据结构

所谓结构就是关系,人与人之间的关系有夫妻,朋友,情人等。计算机中大量的数据当然不是杂乱无章的,他们有着一定的内在关系,比如前后顺序关系,位置关系等。这种数据与数据之间的关系就是数据结构,有链表,图,树等。所以数据结构就是相互之间一种或几种特定关系的数据元素的集合。

三、逻辑结构与物理结构

3.1 逻辑结构

逻辑结构:是指数据集合中元素之间的关系。是从集合角度来看元素之间的关系的。也可以用数据表之间的关系对比来理解,表之间关系有无关系,一对一,一对多,多对多,所以逻辑结构就分为四种:

1. 集合结构 无关系

2. 线性结构 一对一

3. 树形结构 一对多

4. 图形结构 多对多

注意:数据的逻辑结构只有以上四种

3.2 物理结构

物理结构也叫做存储结构,是描述数据怎么在计算机上存储的。这里的存储结构主要是指内存中的存储,硬盘等的存储一般是用文件结构来描述。

注意:数据的物理结构更简单只有以下两种:

1. 顺序存储结构 就是把数据元素按顺序放在连续的存储空间里。其最典型的代表是数组。

2. 链式存储结构 就是把数据元素按顺序放在任意的存储空间里。但是每个数据元素里增加一个指向下一个元素的地址的指针。

四、数据类型

有人说掌握一门编程语言的数据类型,就掌握了这门语言的核心。这话不无道理,数据类型最核心的作用就是定义这种数据的存储空间的大小,以及这种数据的一些操作。

这里说一点指针的话题,大家觉得指针是不是一种数据类型呢?如果从数据类型的定义上来看,指针也算是一种数据类型的,因为它有大小,在一个32位机器上它的大小为4个字节,指针本身也定义了一些操作。但是指针它本身又有类型的,我们都知道指针有整形指针,字符串指针,结构指针,类指针等。为什么指针又要定义其类型呢?指针的类型指的是指针所指的数据的大小,就是这个地址上后面多少字节表示的是数据。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: