求下列广义表的两种存储结构图: A =((), a ,( b ,( c , d )),( e , f ))
时间: 2023-09-01 19:10:36 浏览: 129
这个广义表可以用两种存储结构表示:链式存储结构和顺序存储结构。
1. 链式存储结构:
链式存储结构可以采用二叉树的形式来表示广义表。其中,左子树表示表头,右子树表示表尾。
对于广义表 A =((), a ,( b ,( c , d )),( e , f )),它的二叉树表示如下:
```
()
|
a
|
-------------
| |
b ()
| |
------ ------
| | | |
c d e f
```
2. 顺序存储结构:
顺序存储结构可以将广义表存储在一个一维数组中。数组中每个元素可以表示一个原子或者一个子表。子表可以用一个指针指向该子表的起始位置。
对于广义表 A =((), a ,( b ,( c , d )),( e , f )),它的顺序存储结构表示如下:
```
index: 0 1 2 3 4 5 6 7 8 9 10 11 12
value: ( ) a ( b ( c , d ) ) ( e
next: 1 -1 -1 4 5 8 9 -1 -1 6 7 10 11
```
其中,value 数组表示每个元素的值,next 数组表示每个元素的下一个元素的下标,-1 表示该元素为原子。我们可以发现,广义表 A 中的空表也被存储在了数组中,它的值为 (,next[0] 指向了它的下一个元素的下标,即 1。
相关推荐
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)