数据结构思维导图及一些概念的辨析

宏观图:

这里写图片描述

概念:

数据结构的定义:
      数据结构( data structure)是相互之间存在一种或多种特定关系的数据元素的集合,在任何问题中,数据元素都不是孤立存在
的,而是在它们之间存在着某种关系,这种数据元素相互之间的关系称为结构(结构=关系)。(【元素+关系】  的集合就叫数据结构

关系(或结构)的划分:

1.集合关系:

    元素之间只有 “同属于一个集合”的这一个关系。

2.线性关系:

    数据元素之间存在一个对一个的关系

3.树形关系:

   数据元素之间存在一个对多个的关系

4.图状关系

   数据元素之间存在多个对多个的关系

:从离散数学的角度:数据结构是一个二元组Data Structure=(D,S)
       其中:D是数据元素的有限集,S是D上关系的有限集

数据结构在计算机中的表示:

     计算机中表示信息的最小单位是二进制数的一位,叫做位(bit)(数字0或1),几个0或1(位)组成的一串数(位串)称为元素

顺序表示:借助元素在存储器中的相对位置(借助元素在内存中的偏移量)来表示数据元素之间的逻辑关系--高级语言中用数组这一结构类型来实现-----注意:不是非结构的原子类型【基本类型(整型,实型,字符型,枚举型)。以及指针类型,空类型】

非顺序表示:借助指示元素存储地址的指针( pointer)表示数据元素之间的逻辑关系。--高级语言中用链表这一结构类型来实现

 

数据结构的线性结构和非线性结构:

在这里插入图片描述

线性数据结构:它是有序数据元素的集合。其中数据元素之间的关系是一对一的关系,即除了第一个和最后一个数据元素之外,                          其它数据元素都是首尾相接的。

常用的线性结构有:线性表(【线性(顺序)表---比如java里的List集合类和线性(链式)表--比如java里的LinkList集合类】),                                  栈,队列,双队列,数组,串 

非线性数据结构中:各个数据元素不再保持在一个线性序列中,每个数据元素可能与零个或者多个其他数据元素发生联系

常见的非线性结构有:二维数组,多维数组,广义表,树(二叉树等),图。(其中多维数组是由多个一维数组组成的,所以不再                                      是线性结构)

线性结构特点:
1.集合中必存在唯一的一个"第一个元素";
2.集合中必存在唯一的一个"最后的元素";
3.除最后元素之外,其它数据元素均有唯一的"后继";
4.除第一元素之外,其它数据元素均有唯一的"前驱"。

注意:

     1. 从数据结构的角度:栈,队列,双队列,数组,串 --- 它们都是线性表。

     从数据类型和操作角度看:它们都有其自身的特殊性。所以也常常将它们单独抽出来,有别于线性表来进行讨论。栈,队列是操作受限的特殊线性表。是一类重要的抽象数据类型。(多型数据类型)。串是一种特殊的线性表,其中元素全部为字符型;串和线性表的操作有较大的区别;串通常以整体作为操作的对象,而线性表通常以单个元素作为操作的对象

   2. 顺序还是非顺序不是看是否用到了指针。而是看它们在内存中的地址是连续的(顺序),还是非连续的(非顺序)。比如线性表:=结构体{基本数据类型+指针类型}+对结构体(中数据)的操作(/处理)。对结构体的操作不同,才导致线性(顺序)表(顺序的)和线性(链式)表(非顺序的)的产生。

 

计算机中的树:

二叉树
 
自平衡二叉查找树
 
B树
 
Trie(字典树)
 
二叉空间分割(BSP)树
 
非二叉树
 
空间数据分割树
 
其他树

补充

     哈夫曼树:又称最优二叉树,是一类带权路径长度最短的树。

     线索二叉树:加上线索的二叉树。

     最小生成树:一个有 n 个结点的连通图的生成树是原图的极小连通子图,且包含原图中的所有 n 个结点,并且有保持图连通的最少的边,它是最小权重生成树的简称 。

 

计算机中的图:

è¿éåå¾çæè¿°

参考文章:

1.数据结构教材

2.https://blog.csdn.net/YYZZHC999/article/details/75923540           杨晓慧_Hepburn

3.https://blog.csdn.net/vivian_wanjin/article/details/86299709           vivian_wanjin

4.百度百科 

5.https://blog.csdn.net/Augusdi/article/details/36178663                     Augusdi

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值