Est-ce que Cocoa Touch ont une structure de données d'arbre de recherche?

voix
11

Je cherchais dans ce sur Google et lire l'entrée des collections dans la documentation du SDK, et relevai rien. Yat-il un BST (l'une de ses variantes) mise en œuvre disponible hors de la boîte avec le SDK iOS?

Il semble étrange que quelque chose serait si fondamental manquer d'une plate-forme de développement majeur. Leur mise en œuvre de hachage juste que magique? Ou bien les développeurs supposent ne va faire insertions / suppressions sur des choses qui ont une commande?

Je peux utiliser NSSetpour l' instant, comme je sais que la plupart d' entre nous (moi y compris) ne sont pas vraiment écrit quoi que ce soit avec des tonnes de calcul sur iOS qui ont besoin d' un temps d'accès garanti, mais il est encore rongeant à moi.

Créé 08/10/2011 à 01:56
source utilisateur
Dans d'autres langues...                            


4 réponses

voix
0

CoreFoundation a un CFBinaryHeap type que vous pouvez utiliser. Il n'y a pas wrapper Obj-C, mais un peu C n'a jamais tué personne.

Créé 08/10/2011 à 01:59
source utilisateur

voix
6

CFBinaryHeap semble assez prometteur et utile, mais il pourrait ne pas être exactement ce que vous voulez, car il est pas vraiment un arbre de recherche binaire , mais un tas . Ils sont similaires, mais pas la même chose, donc je me sens comme Core Foundation cftree classe pourrait être un peu mieux. Voici une description de la référence de classe cftree:

Vous utilisez cftree pour créer des structures d'arbres qui représentent les organisations hiérarchiques d'information. Dans ces structures, chaque nœud d'arbre a exactement un arbre parent (à l'exception de l'arbre racine, qui n'a pas de parent) et peut avoir plusieurs enfants.

Si vous n'êtes pas à l' aise avec C (Fondation de base est C, non Objective-C), vous pouvez utiliser la bibliothèque JKPTree qui est une enveloppe Objective-C de cftree. Vous pouvez le télécharger ici .

METTRE À JOUR:

Je viens de découvrir une autre bibliothèque appelée CHDataStructures qui simplifie la création d'une grande variété de structures de données. Il prend en charge les structures de données suivantes (et bien d' autres non cotées):

  • AVL Arbre
  • Résumé binaire Recherche Arbre
  • Arbre Andersson
  • lié Liste
  • Recherche Arbre
  • Arbre Rouge Noir
  • Arbre déséquilibrées
  • Queue
  • Tas

    Vous pouvez télécharger CHDataStructures ici .

Créé 22/08/2012 à 05:07
source utilisateur

voix
0

Vous pouvez utiliser std::setde la bibliothèque standard C de, si vous nommez votre fichier avec une .mmextension ( en mode Objective-C ++).

Créé 22/01/2013 à 02:28
source utilisateur

voix
0

Il n'est pas Cocoa Touch, mais l'Objective-C GNU bibliothèque de collections a un arbre rouge-noir et abstraite Binary Tree , ainsi qu'un tas d'autres trucs de collections non-tree.

Créé 26/02/2015 à 02:29
source utilisateur

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