Estructura de datos (tres) -cadena, matriz y tabla generalizada

Estructura de datos (3) -cadena, matriz y tabla generalizada


Parcialmente reproducido por LUOFANG SHIJIE



cuerda

Las cadenas, como las tablas lineales, tienen estructuras de almacenamiento secuenciales y estructuras de almacenamiento encadenadas, pero teniendo en cuenta los problemas de eficiencia, a menudo se utilizan estructuras de almacenamiento secuenciales.


Estructura de almacenamiento secuencial

#define Maxsize 255
typedef struct 
{
	char ch[Maxsize +1];  //存储串的一维数组
	int length; //串的当前长度
}SString;

Para facilitar la explicación, generalmente las cadenas almacenadas secuencialmente comienzan con un subíndice de 1 y el componente con un subíndice de 0 se deja intacto.

typedef struct
{
	char *ch;
	int length;
}HString;

El almacenamiento secuencial de matrices

1. El método de almacenamiento basado en el orden de las columnas

2. Orden de fila como método principal de almacenamiento de pedidos

Mesa generalizada

Ampliación de mesas lineales

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

Tres características de las tablas generalizadas:

  1. Los elementos de la tabla generalizada pueden ser subtablas y los elementos de las subtablas también pueden ser subtablas
  2. Las tablas generalizadas pueden ser compartidas por otras tablas
  3. La tabla generalizada puede ser una tabla recursiva, es decir, la tabla generalizada en sí misma también puede ser una subtabla de sí misma.

Dos operaciones importantes en tablas generalizadas

  1. Encabezado tomado: El encabezado eliminado es el primer elemento de una tabla generalizada no vacía. Puede ser un solo átomo o una sublista.
  2. Tome el extremo de la mesa: El extremo tomado de la tabla es una tabla compuesta por el resto de los elementos excepto la cabeza, y la cola debe ser una tabla generalizada.

Estructura de almacenamiento de mesa generalizada

Las tablas generalizadas a menudo utilizan una estructura de almacenamiento en cadena (la estructura de almacenamiento de las listas vinculadas de cabecera y cola y la estructura de almacenamiento de la lista vinculada extensible)

Supongo que te gusta

Origin blog.csdn.net/Touale/article/details/112670143
Recomendado
Clasificación