文 / 2020.07.20 最近这段时间打算把数据结构重新学习一遍。选取的课程为MOOC上的课程《数据结构》。 计划将基础知识用思维导图的方式记录,并进行简单总结。 线性结构 什么是线性表? 线性表是同类型数据元素构成有序序列的线性结构。广义表是线性表的推广,元素除了可以是单元素,也可以是另一个广 ...
分类:
其他好文 时间:
2020-07-21 09:29:20
阅读次数:
71
广义表其实是线性表的一种推广,也属于多重链表,他的元素不仅可以是一个单元素也可以是一个广义表。本文介绍 广义表的存储结构和解析union 广义表的存储结构 typedef struct GNode *GList; struct GNode { int Tag; // 标志域, 0表示节点是单元素,1 ...
分类:
其他好文 时间:
2020-06-29 18:26:58
阅读次数:
55
数组、稀疏矩阵、广义表的一些简单综合应用,这里可以运用线性代数的知识更好地掌握稀疏矩阵学习。 ...
分类:
编程语言 时间:
2020-06-08 23:45:21
阅读次数:
74
一、线性表 由同类型数据元素构成的有序序列的线性结构 ·表中元素的个数称作线性表的长度 ·线性表没有元素时称作空表 ·起始位置称作表头,结束位数称作表尾 二、广义表 ·广义表是线性表的推广 ·对于线性表而言,n个元素都是基本的单元素,而广义表中,这些元素也可以是另一个广义表 多重链表:链表中的节点可 ...
分类:
其他好文 时间:
2020-05-14 22:18:59
阅读次数:
66
数据结构第四章学习的是串,数组和广义表 串的定义其实在c++学习中就有所接触,所以这里不详说,重点说的是两个串模式匹配算法 1.BF算法 BF算法的思想就是将目标串S的第一个字符与模式串T的第一个字符进行匹配,若相等,则继续比较S的第二个字符和T的第二个字符; 若不相等,则比较S的第二个字符和T的第 ...
分类:
其他好文 时间:
2020-05-06 01:20:57
阅读次数:
57
一、内容小结 (一) 串 定义 空串、子串、主串等概念 顺序存储——堆 链式存储 (二) 串的模式匹配算法 BF算法 KMP算法 (三) 数组 顺序存储 特殊矩阵的压缩存储 (四) 广义表 定义 取表头和取表尾两个运算 头尾链表、拓展线性链表的存储结构 (五)对string类型进一步了解 二、心得体 ...
分类:
其他好文 时间:
2020-05-05 23:49:07
阅读次数:
100
在这一章我学习了串、数组和广义表:①对于串的学习,我认为BF算法是一个时间复杂度高但易于理解的算法,而KMP算法是一个十分抽象的算法,next的函数让我觉得很难理解emmm,所以这part需要再看看书或者看看视频;②数组是我们从开始讲C++课程就学了的东西,所以我觉得数组的学习还挺顺利的。对于多为数 ...
分类:
其他好文 时间:
2020-05-05 23:23:37
阅读次数:
63
1.第四章学习的内容是串,数组和广义表 串的模式匹配有两种算法,一种是BF算法,也是最传统的算法,耗时久,时间复杂度是O(m*n),另一种就是KMP算法,时间复杂度是O(m+n) 跟之前的数组比起来,这章学习的数组还可以用链式结构,根据用户自行选择,还学了特殊矩阵的压缩存储 广义表则是一种递归的线性 ...
分类:
其他好文 时间:
2020-05-05 23:17:12
阅读次数:
52
1.内容小结 数据结构第四章学习的是串,数组和广义表。重点学习了串和串的模式匹配和数组的压缩存储 两个串模式匹配算法 1.BF算法 BF算法的思想就是将目标串第一个字符与模式串的第一个字符进行匹配,若相等,则继续比较的第二个字符; 若不相等,则比较原字符串的第二个字符和模式串的第一个字符,依次比较下 ...
分类:
其他好文 时间:
2020-05-05 23:10:52
阅读次数:
74
内容小结: 第四章学习了串、数组、广义表等,其中包括: 1.串: ①串的定义:注意空串(Ø)和空格串(“ ”)的区别。 ②串的存储结构:分为顺序存储和链式存储,其中: i. 顺序存储又分为定长顺序存储和堆式顺序存储,前者为静态存储,相当于一维数组,而后者为动态存储; ii. 链式存储:每个结点可以存 ...
分类:
其他好文 时间:
2020-05-05 20:07:59
阅读次数:
63