Colección de citas famosas - Colección de poesías - ¿Es un diccionario una tabla hash o un árbol?

¿Es un diccionario una tabla hash o un árbol?

Hola: 1. Tabla hash

Una tabla hash representa un conjunto de pares clave/valor. existir. NET framework, Hashtable es un contenedor proporcionado por el sistema. El espacio de nombres de colecciones se usa para procesar y representar pares clave-valor similares a clave-valor, donde la clave generalmente se usa para una búsqueda rápida y distingue entre mayúsculas y minúsculas. El valor se usa para almacenar el valor correspondiente a la clave. Los pares clave-valor clave-valor en Hashtable son tipos de objetos nulos, por lo que Hashtable puede admitir cualquier tipo de par clave-valor clave-valor, y cualquier objeto no nulo se puede utilizar como clave o valor.

Agrega un par clave/clave-valor a la tabla hash: HashtableObject. Add(key,);

Elimina un par clave/clave-valor de la tabla hash. remove(key);

Elimina todos los elementos de la tabla hash. clear();

Determina si la tabla hash contiene una clave específica: objeto de tabla hash. Contiene (clave);

2. Hasht

La clase HashSet ltT gt se utiliza principalmente para realizar operaciones de conjuntos de alto rendimiento, como encontrar la intersección, unión y diferencia de dos conjuntos. colocar. Un conjunto contiene un conjunto de elementos que son únicos y no tienen un orden característico. HashSet se niega a aceptar objetos duplicados.

Algunas funciones de HashSet ltT gt son las siguientes:

a. Los valores en HashSet ltT gt no se pueden repetir y no hay orden.

La capacidad de b.HashSet ltT gt se agregará automáticamente según sea necesario.

3. Diccionario

Un diccionario representa una colección de claves y valores.

Diccionario ltstring, string gtEste es un medicamento genérico.

Tiene la función de una colección en sí misma y, a veces, también puede considerarse como una matriz.

Su estructura es la siguiente: Diccionario

Su característica es que los objetos a almacenar corresponden al valor de [clave] uno a uno.

Encontrar el valor correspondiente a través de una determinada [clave]

La diferencia entre 4.4. Tabla hash y diccionario:

(1).HashTable no admite genéricos, pero Dictionary sí.

Elementos de (2). Hashtable es un tipo de objeto, por lo que las operaciones de boxeo y desempaquetado generalmente se realizan al almacenar o recuperar tipos de valores, por lo que es posible que se requieran algunas operaciones de conversión de tipos para tipos de valores como int, float, etc. lleva mucho tiempo.

(3) El diccionario se recomienda para programas de un solo subproceso. Tiene la ventaja de ser genérico, una velocidad de lectura más rápida y una capacidad más utilizada. Se recomienda utilizar tablas hash en programas multiproceso. La tabla hash predeterminada permite la escritura en un solo subproceso y la lectura en varios subprocesos. Otras llamadas al método Synchronized() en Hashtable dan como resultado un tipo totalmente seguro para subprocesos. El diccionario no es seguro para subprocesos, por lo que se debe utilizar una declaración de bloqueo para protegerlo, lo que reduce en gran medida la eficiencia.

(4) Al pasar la prueba del código, se descubrió que la clave es que el diccionario de números enteros es más rápido que Hashtable. Los diccionarios no son tan rápidos como las tablas hash si las claves son cadenas.