数据结构及其概念

数据结构与算法

1 基本概念及术语

  • 数据(Data) :是描述客观事物的数值、字符以及能输入机器且能被处理的各种符号集合。 数据的含义非常广泛,除了通常的数值数据、字符、字符串是数据以外,声音、图像等一切 可以输入计算机并能被处理的都是数据。例如除了表示人的姓名、身高、体重等的字符、数 字是数据,人的照片、指纹、三维模型、语音指令等也都是数据。
  • 数据元素(data element)是数据的基本单位,是数据集合的个体,在计算机程序中通 常作为一个整体来进行处理。例如一条描述一位学生的完整信息的数据记录就是一个数据元 素;空间中一点的三维坐标也可以是一个数据元素。数据元素可由若干个数据项组成,例 如描述学生相关信息的姓名、性别、学号等都是数据项;三维坐标中的每一维坐标值也是数 据项。数据项具有原子性,是不可分割的小单位。数据项是对客观
    事物某一方面特性的数据描述。
  • 数据对象(data object)是性质相同的数据元素的集合,是数据的子集。例如一个学校 的所有学生的集合就是数据对象,空间中所有点的集合也是数据对象,如字符集合C={‘A’,’B’,’C,…} 。
  • 数据结构(data structure)是指相互之间存在一种或多种特定关系的数据元素的集合
  • 表示一组数据元素及其相互关系的数据结构同样也有两种不同的 表现形式,一种是数据结构的逻辑层面,即数据的逻辑结构;一种是存在于计算机世界的物理层面,即数据的存储结构

2 逻辑结构分类

数据的逻辑结构按照数据元素之间相互关系的特性来分,可以分为以下四种结构:集合、线性结构、树形结构和图状结构

  • 集合 结构中的数据元素除了“ 同属于一个集合”外,没有其它关系。
  • 线性结构 结构中的数据元素之间存在一对一的关系。
  • ③ 树型结构 结构中的数据元素之间存在一对多的关系
  • ④ 图状结构或网状结构 结构中的数据元素之间存在多对多的关系。

3 逻辑结构的描述

数据的逻辑结构可以采用两种方法来描述:二元组、图形

3.1 数据结构 graph 的图形表示

  • 当使用图形来表示数据结构时,是用图形中的点来表示数据元素,用图形中的弧来表示 数据元素之间的关系。如果数据元素 x 与 y 之间有关系<x , y>,则在图形中有从表示 x 的点 出发到达表示 y 的点的一条弧。
QQ截图20180520200250.png

3.2 数据结构的二元组表示

  • 数据结构的二元组表示形式为: 数据结构 = {D , S}
  • 其中 D 是数据元素的集合;S 是 D 中数据元素之间的关系集合,并且数据元素之间的 关系是使用序偶来表示的。
  • 序偶是由两个元素 x 和 y 按一定顺序排列而成的二元组,记作 <x , y>,x 是它的第一元素,y 是它的第二元素(下面提到的前元素即:x,后元素即:y)

集合set

  • 二元组表示为 set = (K,R),其中 K = {01, 02, 03, 04, 05} R = {}
  • 可以看到在数据结构 set 中,只有数据元素的集合非空,而数据元素之间除了同属一个 集合之外不存在任何关系(关系集合为空)。

线性结构linearity

  • 二元组表示为 linearity = (K,R),其中 K = {01, 02, 03, 04, 05} R = {<02,04>, <03,05>, <05,02>, <01,03>}
  • 在这些数据元素中有一个可 以被称为“第一个”(元素 01)的数据元素;还有一个可以被称为“后一个”(元素 04) 的数据元素;
  • 除第一个元素以外每个数据元素有且仅有一个直接前驱元素,除后一个元素 以外每个数据元素有且仅有一个直接后续元素
  • 这种数据结构的特点是数据元素之间是 1 对 1 的联系,即线性关系
  • 把具有此种特点的数据结构称为线性结构。

树结构tree

  • tree = (K,R),其中 K = {01, 02, 03, 04, 05, 06} R = {<01,02>, <01,03>, <02,04>, <02,05>, <03,06>}
  • 除了一个数据元素(元素 01)以外每个数据元素有且仅 有一个直接前驱元素,但是可以有多个直接后续元素
  • 特点是数据元素之间 是 1 对 N 的联系
  • 把具有此种特点的数据结构称为树结构。

图结构graph

graph = (K,R),其中 K = {01, 02, 03, 04, 05} R = {<01,02>, <01,05>, <02,01>, <02,03>, <02,04>, <03,02>, <04,02>, <04,05>, <05,01>, <05,04>}

  • 每个数据元素可以有多个直接前驱元素,也可以有多个 直接后续元素。
  • 特点是数据元素之间是 M 对 N 的联系
  • 具有此种特 点的数据结构称为图结构。

4 数据结构的存储方式

  • 数据结构在计算机内存中的存储包括数据元素的存储元素之间的关系的表示
  • 元素之间的关系在计算机中有两种不同的表示方法:顺序表示非顺序表示
  • 由此得出两种不同的存储结构顺序存储结构链式存储结构
  • 顺序存储结构 :数据元素的存储对应于一块连续的存储空间,数据元素之间的前驱和后续关系通过数据元素 在存储器中的相对位置来反映。
  • 链式存储结构 :在每一个数据元素中增加一个存放另一个**元素地址的指针(pointer ) **,用该指针来表示数据元素之间的逻辑结构( 关系(即前后元素关系)) 。

5 数据结构的三个组成部分

  • 数据结构的三个组成部分:
  • 逻辑结构: 数据元素之间逻辑关系的描述
    D_S= (D ,S )
  • 存储结构: 数据元素在计算机中的存储及其逻辑关系的表现称为数据的存储结构或物理结构。
  • 数据操作: 对数据要进行的运算。
QQ截图20180520204516.png

6 数据结构的运算

  • 数据结构的主要运算包括:
  • ⑴ 建立(Create) 一个数据结构;
  • ⑵ 消除(Destroy) 一个数据结构;
  • ⑶ 从一个数据结构中删除(Delete) 一个数据元素;
  • ⑷ 把一个数据元素插入(Insert) 到一个数据结构中;
  • ⑸ 对一个数据结构进行访问(Access) ;
  • ⑹ 对一个数据结构( 中的数据元素) 进行修改(Modify) ;
  • ⑺ 对一个数据结构进行排序(Sort) ;
  • ⑻ 对一个数据结构进行查找(Search) 。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,265评论 6 490
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,078评论 2 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 156,852评论 0 347
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,408评论 1 283
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,445评论 5 384
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,772评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,921评论 3 406
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,688评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,130评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,467评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,617评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,276评论 4 329
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,882评论 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,740评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,967评论 1 265
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,315评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,486评论 2 348

推荐阅读更多精彩内容