数据结构-绪论

数据结构

什么是数据结构

研究非数值计算的程序设计中的操作对象,以及他们之间的关系和操作等相关的问题的学科

程序设计=数据结构+算法

数据

数据

描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别并输入给计算及处理的符号集合。
数据不仅包括数值类型,还包括图片,声音,视频等非数值类型

数据元素

组成数据的,有一定意义的基本单位。在计算机中通常被作为整体处理。也被称为记录。
比如在计算机编程语言中,C语言、JAVA、Python都是计算机编程语言中的数据元素

数据项

数据项是数据不可分割的最小单位
一个数据元素可以由若干个数据项组成。
比如一个人可以有眼睛、鼻子、嘴巴这样的数据项,也可以有姓名、年龄、性别这样的	数据项。

数据对象

性质相同的数据元素的集合,是数据的子集。

什么叫性质相同呢,就是人都有同名同姓,生日在同一天,性别相同的情况发生。由于数据对象是数据的子集,在实际应用中,处理的数据元素通常具有相同的性质,在不混淆的情况下,我们都将数据对象成为数据。

结构

结构

相互之间存在一种或者多种特定关系的数据元素的集合

简单点理解就是关系。抽象的话比如人与地球关系,人和地球都是数据元素,之间不是相互独立的,人类依靠地球生存。又比如组成分子的原子之间的排列方式。
严格的说,结构就是各个组成部分之间的相互排列的方式。

逻辑结构
数据对象中数据元素之间的相互关系

数据的逻辑结构分类图

集合结构

集合结构中的数据元素除了同属于一个集合外,它们之间没有其他关系。
集合的两个重要特点:1.成员是无序;2.每个成员都只在集合中出现一次。
线性结构

线性结构中的数据元素之间是一对一的关系
除了首尾元素之外,其他元素都只有唯一前驱和唯一后继
树形结构

树形结构中的数据元素之间存在一种一对多的层次关系

图形结构

图形结构的数据元素是多对多的关系

物理结构

数据的逻辑结构在计算机中的存储形式。物理结构也称为存储结构
就好像将一个树形结构如何存储在计算机的存储器中。存储器主要针对内存而言,U盘、移动硬盘等外部存储器的数据组织通常用文件结构来描述
数据元素的存储结构(物理结构)形式有两种:顺序存储和链式存储。
顺序存储结构

将数据元素存放在地址连续的存储单元里,其数据间的逻辑关系和物理关系是一致的。
比如数组,当我们开辟数组空间时,计算机在内存中找到一片连续的地址,将我们的元素依次存进去。

  • 优点:实现随机存取,每个元素占用最少的存储空间
  • 缺点:只能使用相邻的一块存储单元,可能会产生较多的外部碎片

链式存储结构

链式存储结构在于解决我们经常插入,删除时,处于经常变化的数据结构。
将数据元素存放在任意的存储单元里,这组存储单元可以是连续的,也可以是不连续的。

  • 优点:不会出现碎片现象,能充分利用所有存储单元
  • 缺点:每个元素因为存储指针而占用额外的存储空间,且只能实现顺序存储。

抽象数据类型

数据类型

一组性质相同的值的集合及定义在此集合上的一些操作的总称。
抽象数据类型(Abstract Data Type)

对已有的数据类型进行抽象,就有了抽象数据类型。

一个数学模型及定义在该模型上的一组操作。


参考书籍:《大话数据结构》

发布了4 篇原创文章 · 获赞 0 · 访问量 115

猜你喜欢

转载自blog.csdn.net/howtodowhat/article/details/105323723