Heeft Cocoa Touch hebben een zoekboom datastructuur?

stemmen
11

Ik ben al op zoek naar deze op Google en lees de Collecties vermelding in de SDK-documentatie, en leverde niets op. Is er een BST (een van haar varianten) uitvoering beschikbaar uit de doos met de iOS SDK?

Het lijkt vreemd dat iets zo eenvoudig zou ontbreken in een belangrijke ontwikkeling platform. Is hun hash uitvoering net die magische? Of heeft de ontwikkelaars aannemen niemand gaat om inserts te doen / verwijdert op dingen die een bestelling hebben?

Ik kan gebruiken NSSetvoor nu, omdat ik weet dat de meesten van ons (waaronder ikzelf) niet echt iets met tal van berekeningen op iOS die een gegarandeerde toegang tijd nodig te schrijven, maar het is nog steeds aan me knagen.

De vraag is gesteld op 08/10/2011 om 01:56
bron van user
In andere talen...                            


4 antwoorden

stemmen
0

CoreFoundation heeft een CFBinaryHeap type dat u kunt gebruiken. Er is geen Obj-C wrapper voor, maar een beetje C kan nooit kwaad.

antwoordde op 08/10/2011 om 01:59
bron van user

stemmen
6

CFBinaryHeap ziet er veelbelovend en nuttig, maar het is misschien niet precies wat je wilt, want het is niet echt een binary search boom, maar een hoop . Ze zijn vergelijkbaar, maar niet hetzelfde, dus ik voel me als de Core Foundation cftree klasse een beetje beter zou kunnen zijn. Hier is een beschrijving van de cftree klasse referentie:

U gebruikt cftree tot boom structuren die hiërarchische organisatie van de informatie representeren. In dergelijke structuren, elk boomstructuur precies één ouderboom (behalve de wortelboom, die niet ouder) en kunnen meerdere kinderen.

Als je niet vertrouwd bent met C (Core Foundation is C, niet Objective-C), kunt u de JKPTree bibliotheek die een Objective-C wrapper van cftree gebruiken. Je kan het downloaden hier .

BIJWERKEN:

Ik heb net een andere bibliotheek genaamd CHDataStructures dat de oprichting van een breed scala aan data structuren vereenvoudigt. Het ondersteunt de volgende datastructuren (en vele andere niet-beursgenoteerde degenen):

  • AVL Tree
  • Abstract binaire zoekboom
  • Andersson Tree
  • Linked List
  • Zoeken Tree
  • Red Black Tree
  • ongebalanceerde Tree
  • Wachtrij
  • Hoop

    U kunt CHDataStructures downloaden hier .

antwoordde op 22/08/2012 om 05:07
bron van user

stemmen
0

U kunt gebruik maken std::setvan de C ++ standaard bibliotheek, als u uw bestand met een naam .mmextensie (Objective-C ++ mode).

antwoordde op 22/01/2013 om 02:28
bron van user

stemmen
0

Het is niet van Cocoa Touch, maar de GNU Objective-C bibliotheekcollecties heeft een rood-zwarte Boom en abstract Binary Tree , evenals een heleboel andere niet-boom collecties spullen.

antwoordde op 26/02/2015 om 02:29
bron van user

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