一、本章内容小结 本章主要学习了串、数组和广义表。 1.串 定义: 串是内容受限的线性表,限定表中元素为字符。 串的两种存储结构: 顺序存储结构、链式存储结构。 串的模式匹配: 有两种常见算法: (1)BF算法,暴力依次比较法,时间复杂度为O(m*n)。 (2)KMP算法,找出当前匹配串中头尾最长的 ...
分类:
其他好文 时间:
2020-05-05 18:17:44
阅读次数:
73
你对本章内容的小结 1)三种数据结构:串,数组,广义表2)串是内容受限的线性表,它限定表中的元素为字符。串有两种基本存储结构:顺序存储和链式存储。串的常用算法是模式匹配算法;3)多维数组可以看成是线性表的推广,其特点是结构中的元素本身可以是具有某种结构的数据,但属于同一种数据类型。数组一般采用顺序存 ...
分类:
其他好文 时间:
2020-05-05 12:43:25
阅读次数:
56
1.第四章学习了串、数组和广义表,其中重点在串的模式匹配算法,其次是特殊矩阵的压缩存储。串的模式匹配算法中最难理解的就是KMP算法了,虽然我反复看了三遍SPOC上的教学视频,但仍未能完全吃透这个算法,在网上搜索后,意外发现一位博主给出的解释,一下次又恍然大悟了,但是要说能自己打出整个函数,那还是有点 ...
分类:
其他好文 时间:
2020-05-05 00:49:38
阅读次数:
64
一.本章内容小结 本章我们学习了串,数组和广义表 首先,我们学习了串,线性表主要由顺序表示或链式表示。在实际应用中,常以栈,队列,字符串等特殊形式使用。线性表和串的操作基本类似,但串的操作针对串的整体,而线性表则针对单个元素。 概念的理解并不复杂,接下来是实现所用的算法 1.BF算法 BF算法即暴风 ...
分类:
其他好文 时间:
2020-05-04 21:34:50
阅读次数:
75
一、内容小结 数据结构第四章学习的是串,数组和广义表 串的定义其实在c++学习中就有所接触,串的逻辑结构和线性表极为相似,区别仅在于串的数据对象约束为字符集。在线性表的基本操作中,大多以“单个元素” 作为操作对象,在串的基本操作中,通常以“串的整体”作为操作对象, 重点说的是两个串模式匹配算法 1. ...
分类:
其他好文 时间:
2020-05-04 19:38:42
阅读次数:
89
一、本章学习小结:第四章主要学习了串、数组和广义表,与以前学习的区别在于,本章将它们视为线性表。 1)串是内容受限的线性表,考虑到存储效率和算法方便性,一般采用顺序存储结构;考虑到串变量相差较大,可采用动态分配的方法;为了便于操作,可增设尾指针。 串的主要应用场景是模式匹配,其中有BF算法和KMP算 ...
分类:
其他好文 时间:
2020-05-04 12:59:26
阅读次数:
68
1、数组:由n个相同类型的数据元素构成的有限序列。 2、一维数组可视为一个线性表,二维数组可视为元素是线性表的线性表。 3、一维数组的存储结构关系式 LOC(ai)=LOC(a0)+i*L;L是每个数组元素所占的存储单元。 多维数组的存储有两种:按行优先和按列优先。 4、压缩存储:为多个值相同的元素 ...
分类:
编程语言 时间:
2020-04-28 13:13:44
阅读次数:
69
1 /****************************************************** 2 * * 3 * 文件夹: ▲05 数组和广义表\03 RowLinkSparseMatrix * 4 * * 5 * 文件名: RowLinkSparseMatrix.h * 6 ...
分类:
其他好文 时间:
2020-03-18 20:23:27
阅读次数:
58
1 /**************************************************** 2 * * 3 * 文件夹: ▲05 数组和广义表\05 GeneralizedList-H&T * 4 * * 5 * 文件名: GeneralizedList-H-T.h * 6 * ...
分类:
其他好文 时间:
2020-03-18 20:14:39
阅读次数:
77
数组和广义表 可以看成是一种特殊的线性表, 其特殊在于 :表中的元素本身也是一种线性表,内存连续,根据下标在O(1)时间读写任何元素。 二维数组,多维数组,广义表,树,图都属于非线性结构 。 数组 数组的顺序存储 :行优先顺序,列优先顺序。数组中的任意元素可以在相同的时间内存取,即顺序存储的数组是一 ...
分类:
编程语言 时间:
2020-02-29 22:42:40
阅读次数:
96