Bootstrap

【数据结构】· 串、数组和广义表

写在前面


        Hello大家好, 我是【麟-小白】,一位软件工程专业的学生,喜好计算机知识。希望大家能够一起学习进步呀!本人是一名在读大学生,专业水平有限,如发现错误不足之处,请多多指正!谢谢大家!!!

        如果小哥哥小姐姐们对我的文章感兴趣,请不要吝啬你们的小手,多多点赞加关注呀!❤❤❤ 爱你们!!!


目录

写在前面

前言:

1. 串

1.1 串的定义

1.2 案例引入

1.3 串的类型定义

 2. 数组

2.1 数组的定义

2.2 数组的声明

2.3 数组的抽象数据类型定义

2.4 数组的顺序存储

2.5 特殊矩阵的压缩存储

3. 广义表

3.1 广义表的定义

3.2 广义表的性质

3.3 广义表与线性表的区别

3.4 广义表的基本运算

结语


【往期回顾】

【数据结构】· 第二章 · 栈和队列下(队列)

【数据结构】· 第二章 · 栈和队列上(栈)

【数据结构】· 第一章 · 线性表(下)

【数据结构】· 第一章 · 线性表(上)

【数据结构】· 前章 · 绪论


前言:


1. 串


1.1 串的定义

串(String):零个或多个任意字符组成的有限序列

几个术语:

  • 子串:串中任意个连续字符组成的子序列称为该串的子串。
    • 例如:"abcde"的子串有:""、"a"、"ab"、"abc"、"abcd"、“abcde”等。
    • 真子串是指不包含自身的所有子串。
  • 主串:包含子串的串相应地称为主串。
  • 字符位置:字符在序列中的序号为该字符在串中的位置。
  • 子串位置:子串第一个字符在主串中的位置。
  • 空格串:由一个或多个空格组成的串,与空串不同。

  • 串相等:当且仅当两个串的长度相等并且各个对应位置上的字符都相同时,着两个串才是相等的。所有空串都是相等的。

1.2 案例引入

 


1.3 串的类型定义

串中元素逻辑关系与线性表的相同,串可以采用与线性表相同的存储结构。

串的顺序存储结构

 

串的链式存储结构:

串的链式存储结构——块链结构


 2. 数组


2.1 数组的定义


2.2 数组的声明


2.3 数组的抽象数据类型定义

基本操作:


2.4 数组的顺序存储

一维数组:

二维数组:

 

二维数组的行序优先表示

三维数组:

n维数组:

 


2.5 特殊矩阵的压缩存储

对称矩阵:

对称矩阵的存储结构:

 三角矩阵:

对角矩阵(带状矩阵):

存储方法:

稀疏矩阵存储:

稀疏矩阵的压缩存储方法——顺序存储结构

 稀疏矩阵的链式存储结构——十字链表


3. 广义表


3.1 广义表的定义


3.2 广义表的性质


3.3 广义表与线性表的区别


3.4 广义表的基本运算


结语


本人会持续更新文章的哦!希望大家一键三连,你们的鼓励就是作者不断更新的动力

;