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

数据结构入门

2015-12-25 15:49 357 查看
本文为笔者的读书笔记,如有不对之处,请小伙伴们多多指出交流


1 数据

所谓数据就是计算机处理的对象。一般分为两类:数值数据和非数值数据。

数值数据:是一些整数、实数或复数等;

非数值数据:包括文本、字符、图形、图像、音频和表格等。

2 数据结构

数据结构是为了研究和解决如何使用计算机组织和处理这些非数值问题而产生的理论,技术和方法。数据结构是由数据元素按照某种逻辑联系组织起来的,对数据元素间逻辑关系的描述成为数据的逻辑结构;数据必须在计算机内存储,数据的存储结构是数据结构的实现形式,是在计算机内存中的表示。对数据结构的讨论分为两个层次:抽象层和实现层。抽象层讨论数据的逻辑结构及运算的定义,实现层讨论数据的存储表示以及运算的算法实现。

3 数据结构的抽象层

数据结构的抽象层也就是数据的逻辑结构,从人的角度来研究数据结构,它讨论的数据与数据之间的关系,主要包括四种基本的逻辑结构。

(1)集合结构set

一堆数据,无顺序

(2)线性结构linear

数据之间有一定顺序,一个紧挨着一个

(3)树形结构tree

有一个根root,其他的都是在根的基础上像树一样展开,非根元素都存在一条从根到该元素的路径,树是层次数据结构。

(4)图状结构graph

也有叫网状结构的

4 数据结构的实现层

数据结构的实现层是数据结构的存储结构,从计算机的角度来研究数据结构,它讨论的是数据如何在计算机中存储的,是逻辑数据的存储影像,它是面向计算机的。数据在计算机中的存储主要分为两类:

(1)连续

在计算机中开辟一块连续的存储空间来存储数据

(2)链接

在计算机中的存储空间不连续,就像链表一样

5 数据结构的运算

如果说数据的逻辑结构描述的是数据的静态特性,那么运算被称为数据的动态特性。

数据结构一旦创建,其结构就不在变化,称为静态数据结构,否则称为动态数据结构。

总之,学习数据结构的目的是为了应用,研究一个数据结构,需要同时研究该数据结构上的相关运算才有意义,从这个层面上来看:

程序=数据结构+算法
所以,讨论数据结构时,不但要讨论数据的逻辑结构和存储结构,还要讨论运算和实现这些运算的算法。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: