Ha Cocoa Touch ha una ricerca struttura dati ad albero?

voti
11

Ho cercato in questo su Google e leggere la voce Collezioni nella documentazione di SDK, e giunta a nulla. Esiste un BST (una qualsiasi delle sue varianti) applicazione disponibile out of the box con l'SDK per iOS?

Sembra strano che qualcosa di così fondamentale sarebbe mancato da una piattaforma di sviluppo importante. È la loro attuazione hash proprio questo magico? O se gli sviluppatori non si assumono alcuna sta per fare inserti / cancella su cose che hanno un ordine?

Posso usare NSSetper ora, come so che la maggior parte di noi (me compreso) non sono veramente scrivere qualcosa con tonnellate di calcolo su iOS che necessitano di un tempo di accesso garantito, ma è ancora mi rode.

È pubblicato 08/10/2011 alle 01:56
fonte dall'utente
In altre lingue...                            


4 risposte

voti
0

CoreFoundation ha un CFBinaryHeap tipo è possibile utilizzare. Non c'è Obj-C wrapper per esso, ma un po 'C mai male a nessuno.

Risposto il 08/10/2011 a 01:59
fonte dall'utente

voti
6

CFBinaryHeap sembra piuttosto promettente e utile, ma potrebbe non essere esattamente ciò che si vuole, come non è davvero un albero binario di ricerca, ma un mucchio . Sono simili, ma non è la stessa, quindi mi sento come del Nucleo Fondazione CFTree classe potrebbe essere un po 'meglio. Ecco una descrizione dal riferimento di classe CFTree:

Si utilizza CFTree per creare strutture ad albero che rappresentano le organizzazioni gerarchiche di informazioni. In tali strutture, ogni nodo albero ha esattamente un albero di genitore (tranne che per la radice, che non ha nessun genitore) e può avere più figli.

Se non stai bene con C (Core Foundation è C, non è Objective-C), è possibile utilizzare la libreria JKPTree che è un involucro Objective-C di CFTree. Potete scaricarlo qui .

AGGIORNARE:

Ho appena trovato un altro libreria chiamata CHDataStructures che semplifica la creazione di una vasta gamma di strutture di dati. Esso supporta le seguenti strutture di dati (e molti altri quelli non quotate):

  • AVL albero
  • Estratto binario Ricerca Albero
  • Andersson Albero
  • Lista collegata
  • Ricerca Albero
  • Albero Nero Rosso
  • Albero sbilanciato
  • Coda
  • Mucchio

    È possibile scaricare CHDataStructures qui .

Risposto il 22/08/2012 a 05:07
fonte dall'utente

voti
0

È possibile utilizzare std::setdalla libreria standard C ++, se il nome del tuo file con .mmestensione (Objective-C ++ modalità).

Risposto il 22/01/2013 a 02:28
fonte dall'utente

voti
0

Non è Cocoa Touch, ma l'Objective-C GNU biblioteca collezioni ha un albero Rosso-Nero e astratto albero binario , così come una serie di altri non-albero collezioni roba.

Risposto il 26/02/2015 a 02:29
fonte dall'utente

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