Har Cocoa Touch har en søke tre datastruktur?

stemmer
11

Jeg har vært ute til dette på Google og lese Samlinger oppføring i SDK dokumentasjon, og dukket opp noe. Er det en BST (noen dens varianter av) implementering tilgjengelig ut av boksen med iOS SDK?

Det virker merkelig at noe så grunnleggende ville være mangler fra en stor utviklingsplattform. Er deres hash gjennomføringen nettopp det magisk? Eller har utviklerne anta ingen kommer til å gjøre innstikk / sletter på ting som har en bestilling?

Jeg kan bruke NSSetfor nå, som jeg vet de fleste av oss (meg selv inkludert) er egentlig ikke skrive noe med tonnevis av beregning på iOS som trenger en garantert tilgang tid, men det er fortsatt gnager på meg.

Publisert på 08/10/2011 klokken 00:56
kilden bruker
På andre språk...                            


4 svar

stemmer
0

Corefoundation har en CFBinaryHeap typen du kan bruke. Det er ingen Obj-C wrapper for det, men litt C aldri skadet noen.

Svarte 08/10/2011 kl. 00:59
kilden bruker

stemmer
6

CFBinaryHeap ser ganske lovende og nyttig, men det er kanskje ikke akkurat det du vil, så det er egentlig ikke et binært søketre, men en haug . De er like, men ikke det samme, så jeg føler at kjerne stiftelsens CFTree klasse kan være litt bedre. Her er en beskrivelse fra CFTree klasse referanse:

Du bruker CFTree å lage trestrukturer som representerer hierarkiske organisasjoner med informasjon. I slike konstruksjoner, har hver tre node nøyaktig en av foreldrene tre (med unntak av den opprinnelige treet, som ikke har noen overordnet), og kan ha flere barn.

Hvis du ikke er komfortabel med C (Kjerne Foundation er C, ikke Objective-C), kan du bruke JKPTree bibliotek som er en Objective-C wrapper av CFTree. Du kan laste det ned her .

OPPDATER:

Jeg har nettopp funnet et annet bibliotek kalt CHDataStructures som forenkler etableringen av et bredt spekter av datastrukturer. Den støtter følgende datastrukturer (og mange andre unoterte seg):

  • AVL treet
  • Abstract binært søketre
  • Andersson Tre
  • lenket liste
  • Søk treet
  • Red Black Tree
  • ubalansert treet
  • heap

    Du kan laste ned CHDataStructures her .

Svarte 22/08/2012 kl. 04:07
kilden bruker

stemmer
0

Du kan bruke std::setfra C ++ standard bibliotek, hvis du navnet filen med en .mmforlengelse (Objective-C ++ modus).

Svarte 22/01/2013 kl. 01:28
kilden bruker

stemmer
0

Det er ikke Cocoa Touch, men GNU Objective-C samlinger bibliotek har en rød-Black Tree og abstrakt Binary treet , samt en haug av andre ikke-tre samlinger ting.

Svarte 26/02/2015 kl. 02:29
kilden bruker

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