2010-11-22 40 views
0

J'ai un tableau de 256 valeurs. Ces 256 valeurs ont été calculées de façon mystérieuse et vont de 0 à 3 inclusivement. Pour augmenter l'efficacité de mon programme, je peux calculer les résultats du tableau en fonction d'un index, plutôt que de chercher dans le tableau. Fondamentalement, le programme me donne un index, qui serait recherché dans le tableau, mais je sais que je peux réellement calculer ce qui sera dans cet index en utilisant le numéro d'index lui-même.Conseils pour rechercher des modèles dans une matrice

Par exemple

a[0] = 3, a[1] = 2, a[2] = 1, ... , a[254] = 1, a[255] = 1 

Je ne demande pas en fait le calcul, mais regardant chaque numéro dans le tableau, ce sont quelques conseils sur déterminer le modèle? Je m'excuse si cela est mal formulé, je vais essayer d'éclaircir toutes les questions.

+0

Nom du tableau par exemple. Code qui l'utilise. QI (pas d'infraction, mais de nombreux tests de QI vous donnent une séquence de nombres, et vous devez deviner la valeur suivante). – ruslik

+0

Vous pouvez également lire ceci pour mieux comprendre le problème: http://en.wikipedia.org/wiki/Kolmogorov_complexity – ruslik

Répondre

1

Il n'y a probablement pas d'approche générale pour résoudre ce problème sans avoir une idée de la fonction qui a généré les données. Vous avez mentionné "l'efficacité" — s'il n'y a vraiment que 256 valeurs et que la fonction pour générer les données a n'importe quelle sorte de complexité de calcul, il est probablement plus efficace de le garder simplement comme un tableau.

+0

Oui, dans la plupart des cas, vous créez un tableau pour une accélération. La plupart des algorithmes sont plus lents qu'une simple recherche. – ruslik