Cocoa Touch no tiene una estructura de datos de árbol de búsqueda?

votos
11

He estado buscando en esto en Google y leer la entrada Colecciones en la documentación del SDK, y no encontró nada. ¿Hay un BST (cualquiera de sus variantes) aplicación disponible fuera de la caja con el SDK de iOS?

Parece extraño que algo tan básico faltaría en una plataforma de desarrollo importante. Es su aplicación de hash sólo eso mágica? ¿O los desarrolladores asumen que nadie va a hacer inserciones / elimina en cosas que no tienen una orden?

Puedo utilizar NSSetpor ahora, ya sé que la mayoría de nosotros (yo incluido) no son realmente escribir nada con toneladas de cómputo en iOS que necesitan un tiempo de acceso garantizado, pero sigue abriendo paso en mí.

Publicado el 08/10/2011 a las 01:56
fuente por usuario
En otros idiomas...                            


4 respuestas

votos
0

CoreFoundation tiene una CFBinaryHeap tipo que puede utilizar. No hay envoltorio Obj-C para ello, pero un poco de C no hace daño a nadie.

Respondida el 08/10/2011 a las 01:59
fuente por usuario

votos
6

CFBinaryHeap ve bastante prometedor y útil, pero puede que no sea exactamente lo que quiere, ya que no es realmente un árbol de búsqueda binaria, sino un montón . Son similares, pero no es lo mismo, por lo que se sienten como Core Fundación de cftree clase podría ser un poco mejor. He aquí una descripción de la referencia de clase cftree:

Cftree utiliza para crear estructuras de árbol que representan las organizaciones jerárquicas de información. En tales estructuras, cada nodo del árbol tiene exactamente un árbol padre (excepto para el árbol de raíz, que no tiene padre) y puede tener varios hijos.

Si no se siente cómodo con C (Fundación Core es C, no Objective-C), puede utilizar la biblioteca JKPTree que es un envoltorio de Objective-C de cftree. Puede descargarlo aquí .

ACTUALIZAR:

Acabo de encontrar otra biblioteca llamada CHDataStructures que simplifica la creación de una amplia variedad de estructuras de datos. Es compatible con las siguientes estructuras de datos (y muchos otros) no cotizados:

  • Árbol AVL
  • Resumen árbol de búsqueda binaria
  • Árbol Andersson
  • Lista enlazada
  • búsqueda Árbol
  • Árbol Negro Rojo
  • Árbol desequilibrada
  • Cola
  • Montón

    Puede descargar CHDataStructures aquí .

Respondida el 22/08/2012 a las 05:07
fuente por usuario

votos
0

Se puede utilizar std::seta partir de la biblioteca estándar de C ++, si el nombre de su archivo con una .mmextensión (modo de Objective-C ++).

Respondida el 22/01/2013 a las 02:28
fuente por usuario

votos
0

No es Cocoa Touch, pero el Objective-C de GNU biblioteca de colecciones tiene un árbol Red-Negro y abstracto árbol binario , así como un montón de otras colecciones no arbóreas cosas.

Respondida el 26/02/2015 a las 02:29
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more