En el de informática, un determinado es una colección (envase ) de ciertos valores, sin ninguna orden particular, y ningunos valores repetidos. Corresponde con un sistema finito en matemáticas. Sin hacer caso de la secuencia, y del hecho de que no haya valores repetidos, es igual que una lista . Un sistema se puede considerar como arsenal asociativo (trazado parcial) en el cual el valor de cada par del llave-valor se no haga caso.

Puestas en práctica

Los sistemas se pueden ejecutar usar vario ideal de las estructuras de datos que las estructuras de datos determinadas hacen eficiente comprobar si un objeto está en el sistema, así como la permisión de otras operaciones útiles tales como iteración a través de todos los objetos en el sistema, realizando una unión o una intersección de dos sistemas, o tomando el complemento de un sistema en un cierto dominio limitado. Cualquier que la estructura de datos asociativa del arsenal se pueda utilizar para ejecutar un sistema dejando el sistema de llaves sea los elementos del sistema y de no hacer caso los valores. Debido a la semejanza a los órdenes asociativos, los sistemas se ejecutan comúnmente de las mismas maneras, a saber, un Uno mismo-que balancea el árbol de busqueda binaria para los sistemas clasificados (que tiene O (registro n) para la mayoría de las operaciones), o una tabla de elección arbitraria para los sistemas sin clasificar (que tiene O (1) medio-caso, pero O (n) a lo peor, para la mayoría de las operaciones). Una tabla de elección arbitraria linear clasificada se puede utilizar para proporcionar sistemas determinista pedidos.

Otros métodos populares incluyen los órdenes particularmente un subconjunto de los números enteros 1. el n se puede ejecutar eficientemente como n - arsenal de pedacito del pedacito, que también apoyan operaciones muy eficientes de la unión y de la intersección. Un mapa de la floración ejecuta un sistema probabilistically, usar una representación muy compacta pero arriesgar una pequeña ocasión de positivos falsos en preguntas.

Sin embargo, muy pocas de estas estructuras de datos apoyan operaciones determinadas tales como unión o intersección eficientemente. Para estas operaciones, estructuras de datos determinadas especializadas existen.

Ayuda de la lengua

Una de las idiomas más tempranas para apoyar sistemas era Pascal ; muchas idiomas ahora la incluyen, si en la lengua de la base o en una biblioteca estándar . El lenguaje de programación de Java ofrece el interfaz a los sistemas de la ayuda (con la clase ejecutándolo usar una tabla de elección arbitraria), y el sub-interface a la ayuda clasificada fija (con la clase ejecutándola usar un árbol de busqueda binaria). En el C++, STL proporciona el " set" clase de la plantilla, que ejecuta un sistema clasificado usar un árbol de busqueda binaria; y STL del SGI proporciona el " hash_set" clasificar, que ejecuta un sistema usar una tabla de elección arbitraria. El pitón tiene un tipo incorporado del sistema, pero ningún literal del sistema.

Conjunto múltiple

Una variación del sistema es el conjunto múltiple del o el bolso, que son iguales que las estructuras de datos del sistema, pero permite valores repetidos. Formalmente, un conjunto múltiple se puede pensar en como arsenal asociativo que los elementos únicos de los mapas a los números enteros positivos que indican el mulplicity del elemento, aunque la puesta en práctica real pueda variar. La biblioteca estándar de la plantilla de C++ proporciona el " multiset" clasificar para el conjunto múltiple clasificado, y STL del SGI proporciona el " hash_multiset" clasificar, que ejecuta un sistema usar una tabla de elección arbitraria. Las colecciones de los campos comunes de Apache proporcionan el interfaz del bolso y de SortedBag para el Java ; junto con la ejecución de clases tener gusto de HashBag y de TreeBag, análogos a las puestas en práctica determinadas similar-nombradas.
  • Zenithic
  • Corbul Ucei River
    Random links:Sindar | Kendall, condado de Monroe, Wisconsin | Haparanda | Aeropuerto de Hamilton | Gobernador de la escuela

  • © 2007-2008 enciclopediaespana.com; article text available under the terms of GFDL, from en.wikipedia.org
    ="http://pagead2.googlesyndication.com/pagead/show_ads.js">