Red de conocimiento informático - Material del sitio web - ¿Cómo utilizar el lenguaje C para expresar la unión de conjuntos y la entrada de salida en matemáticas discretas?

¿Cómo utilizar el lenguaje C para expresar la unión de conjuntos y la entrada de salida en matemáticas discretas?

El más simple es un conjunto de bits (también llamado matriz de bits, vector de bits). Por ejemplo, un conjunto (el número de elementos del conjunto completo es N) usa typedef unsigned bitset[N / sizeof(). sin firmar)] representa, donde cada bit representa la presencia o ausencia de un elemento en el conjunto.

La ventaja de esta estructura de datos es que puede lograr conexión, intersección y complementación mediante operaciones de bits (&, |, ~), por lo que es muy adecuada para operaciones informáticas.

La desventaja es que la complejidad espacial y temporal es proporcional al número de elementos del conjunto completo, N, en lugar del número real de elementos del conjunto completo. Por ejemplo, si todo el conjunto es un entero de 32 bits, cada conjunto requiere 2^32 bits = 512 MB de espacio. Si el número de elementos en el conjunto es relativamente pequeño, se puede utilizar una secuencia ordenada (como una matriz ordenada, un árbol de búsqueda binario, etc.) para implementar el conjunto. Su desventaja es que el tiempo para modificar la colección no es fijo.

Palabra clave de tipo de datos

Corto: modificar int, datos enteros cortos, puede omitir el int modificado (introducido durante el período K&R)

Largo: modificar int , datos enteros largos, puede omitir el int modificado (introducido en el período K&R)

Long: modificar int, datos enteros superlargos, puede omitir el int modificado (nuevo en el estándar C99))

Firmado: modifica datos enteros, tipo de datos firmados. (Nuevo en el estándar C89)

unsigned: modifica datos enteros, tipo de datos sin signo. (Introducido en K&R)

Restricciones: se utiliza para calificar y restringir punteros e indicar que los punteros son la única y inicial forma de acceder a un objeto de datos.