2010-12-09 5 views
0

J'essaie de diviser les tableaux récursivement ... Je pense que c'est ce que l'on appelle haha ​​....Array Tree ... Peut-être récursif?

Par exemple, disons que le tableau initial contient 50 valeurs le plus élevé étant 97 et le plus bas étant 7 ... Je veux diviser ce tableau en deux, en les divisant selon qu'ils sont plus ou moins que le milieu de gamme de l'ensemble. Le milieu de gamme étant 52 ... ((97 + 7)/2) Ensuite, je veux diviser ces deux tableaux en utilisant la même méthode et ainsi de suite, ayant idéalement un programme qui répète ce processus un nombre arbitraire de fois ....

Load Values into array1 
Find Midrange 
For every value in array1{ 
     if value > midrange{ 
      assign value to ArrayHigh1} 
     Else{ assign value to ArrayLow1} 
} 
Perform same thing on ArrayHigh1 and ArrayHigh2 

etc etc etc

Je vais avoir du mal à comprendre comment je créerais les tableaux successifs (ArrayHigh2 3 4 etc.)

De plus, je me sens comme il doit y avoir un moyen plus facile pour ce faire, mais je ne peux pas penser à un au moment ...

Merci pour l'aide

+0

Alors Est-ce une question sur la façon de faire une implémentation Quicksort? Aussi, avez-vous un langage particulier pour la mise en œuvre? La création de tableaux se fera différemment selon les langues. – martineno

+1

Euh, je ne savais pas qu'il était appelé quicksort, mais après avoir lu, il semble très similaire ... Et j'espérait utiliser dans le traitement d'un projet d'art – danem

Répondre

0

Vous semblez travailler votre chemin vers une B-tree ou d'une mise en œuvre de Merge- ou Quicksort. Beaucoup de reference implementations sont available online.

Bien que d'une manière générale, vous pourriez bénéficier grandement de la lecture a book many here are familiar with.

+0

Bon, ces sons comme de bons endroits pour commencer ... Merci pour l'aide. Je n'avais pas réalisé que cela demanderait tellement d'autres recherches, mais je suppose que je ferais mieux de bien comprendre les sujets. – danem