(待补充)常用数据结构学习

1. 数据结构:相互之间存在一种或多种特定关系的数据元素的集合。形式定义:数据结构是一个二元组(D,S),D是数据元素的有限集,S是D上关系的有限集。

2. 结构:数据元素之间的关系称为结构,通常由四种基本结构:集合、线性结构、树形结构、图状(网状)结构;

3. 数据结构在数学层面的描述是逻辑结构,在计算机中的表示(映像)是物理(存储)结构。

4. 数据元素在计算机中表示为元素或结点,当一个数据元素由若干个数据项组成的时候,结点中对应于各个数据项的子位串称为数据域。

5. 数据元素之间的关系在计算机中分为:顺序映像和非顺序映像;

由此得到的两种存储结构:顺序存储结构和链式存储结构。

6. 数据类型:是一个值的集合和定义在这个值集上的一组操作的总称。如整型变量的值集是某个区间上的整数,定义在其上的操作是加减乘除和取模等算术运算。

7. 抽象数据类型:指一个数学模型以及定义在该模型上的一组操作。按值的不同特性可分为三种类型:原子类型、固定聚合类型、可变聚合类型。形式定义:抽象数据类型是一个三元组(D,S,P),D是数据对象,S是D上的关系集,P是对D的基本操作集。

 

 

  • 线性表

1. 定义:一个线性表是n个数据元素的有限序列。数据元素依具体应用情况而定,可以是基本类型也可以是由若干个数据项组成的记录,含有大量记录的线性表又称文件。

2. 特点:线性表中元素个数n(n>=0)定义为长度,n=0时称为空表。在非空表中每个数据元素都有一个确定的位置。

3. 操作:查找、排序、添加、删除

4. 结构:顺序结构(数组)、链式结构(结点)

 

1. 顺序表:用一组地址连续的存储单元依次存储线性表的数据元素。

2. 链式表:用一组任意的存储单元存储线性表的数据元素(可以连续也可以不连续)。

3. 静态链表:用数组描述的链式表。

4. 循环链表:特点是表中最后一个结点的指针域指向头结点,整个链表形成一个环。所以从表中任何一个结点出发都能找到其它结点。

5. 双向链表:结点中有两个指针域,一个指向前驱,一个指向后继。

 

 

  • 栈和队列:

1. 栈和队列是特殊的线性表,但是不同的抽象数据类型。

2. 栈:是限定近在表尾(即栈顶)进行插入或删除操作(后进先出)的线性表。

3. 队列:先进先出的线性表,只允许在表一端(队尾)插入,在另一端(队头)删除元素

 

 

 

  • 串:

1. 串(或字符串)是由零个或多个字符组成的有限序列,一般记为:s=’a1a2a3…an’ (n>=0) s是串名,单引号里面的字符序列是串值,ai可以是字母、数字或其它字符,串中字符的数目称为串的长度。长度为0的串是空串。

2. 串中任意连续个字符组成的子序列是该串的子串。

3. 两个串相等=串长相等&&串中对应位置的字符相同

4. 串的定长顺序存储表示:类似于顺序表,

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值