数据结构-数组、矩阵和广义表

《数据结构-数组、矩阵和广义表》

作者:谭东

最近把之前学过的数据结构和算法部分都重新研究看完了,整理分享一下。数组和矩阵应该都熟悉,广义表就是线性表里面元素可能是子线性表。

1、先看数组:

数组是定长线性表在维数上的扩展,即线性表中的元素又是一个线性表。n维数组是一种“同构”的数据结构,其每个数据元素类型相同、结构一致。数组是用于储存多个相同类型数据的集合。

数组特点:

1)数组是一种最简单的数据结构,它占据一块连续的内存并且顺序存储数据,所以我们需要首先指定数组的大小;

2)数组的空间效率不是很好,会有空闲的区域没有得到充分的应用;

3)数组的时间复杂度为O(1);

一维数组:由一组具有相同类型的数据元素组成,并存储在一组连续的存储单元中的数组元素我们称之为数组。

二维数组:若一维数组中的数据元素又是一维数组结构,我们称为二维数组。二维数组可以看成是n个列向量组成的线性表。

三维数组:以此类推,若一维数组中的元素又是二维数组结构,我们称为三维数组。

N维数组:一般,一个n维数组可以看成元素为n-1维数组的线性表。

设有n维数组A[b2,b2,b3…,bn],其每一维的下界都为1,bi是第i维的上街。n维数组A中每个元素A[j1,j2,j3,…,jn](1≤ji

≤bi)都被n个关系所约束。在每个关系中,除了第一个和最后一个元素外,其余元素都只有一个直接后继和一个直接前驱。因此就单个关系而言,它仍然是现行的。

    原文作者:范特西_jay
    原文地址: https://blog.csdn.net/jay100500/article/details/82959341
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞