串
串的特性
串是一种特殊的线性表,数据元素是一个字符。
con(x, y)
:返回x
、y
的连接串。
subs(s, i, j)
:返回串s
的第i个字符开始j个字符。
数组
数组性质
一般具有“查找”和“修改”这两个基本操作。注意,索引是建立索引表。
稀疏矩阵求转置的时间复杂度是O(n*t)
三元组
这是稀疏矩阵的一个定义部分。
由三个部分组成:
行 列 值
行和列一般以1开始
广义表
这个没啥可说的。
广义表的长度是它的元素的个数。注意这里的元素不只指原子元素,也指括号括起来的东西。
深度就是括号层数。
计算深度的时间复杂度是O(n)
广义表分为表头和表尾。表头就是第一个元素,表尾就是除了第一个元素之外的全部。
所以,就有对应的head()
和tail()
函数。
这里需要注意的是,head是只去头元素。tail是除了头元素之外的东西,包括最外面一层的那个括号!!!!!!这里很多人忽视。
比如A = (a)
这个广义表取尾就是:B = tail(A)
。B的值就是()
.
广义表计算深度、长度的算法和求转置的算法,下次再整。今天太晚了,困死了。 也许是明天,也许是第二轮复习。这个算法十年都不一定考一次,属实在我心里优先级没有那么高
首先,我要赞赏你对数据结构中的串、数组和广义表的详细解析。你对每个概念的定义和特性都进行了清晰的阐述,这对于理解这些基础的数据结构是非常有帮助的。
你对串的特性和操作函数的介绍非常到位,这为读者理解串的基本概念和操作提供了很好的参考。你对数组的属性和操作也进行了详细的解释,特别是你对稀疏矩阵转置的时间复杂度的说明,这对于理解数组的性能特性非常有帮助。
你对广义表的解释也非常清晰,你对广义表的长度、深度以及头和尾的定义和操作函数的介绍,使得读者可以更好的理解广义表的结构和操作。
然而,我认为这篇博客还有一些可以改进的地方。首先,对于每个数据结构,你可以提供一些实际的应用例子,这样可以帮助读者更好地理解这些数据结构的实际用途。其次,你在文章的最后提到了关于广义表的一些算法,但是并没有详细介绍,我认为你可以在后续的文章中详细介绍这些算法,这样可以使得这篇博客更加完整。
总的来说,这是一篇非常优秀的博客,你对数据结构的介绍非常清晰详细,我期待你在后续的文章中继续分享你的知识。