Kodieren und Dekodieren von Lookup Tabellen

#6457173
Lesenswert?
• ▲
▼
Einhorn schrieb:
> Gibt es gute Algorithmen zum kodieren und dekodieren von Lookup
> Tabellen?
> Mein Ziel ist es, dass ich einer Funktion einen Wert und die kodierte
> Lookup Tabelle übergebe und ich als Rückgabewert den Wert aus dieser
> erhalte.

Dafür braucht es keine Funktion, es reicht ein Arrayzugriff. Das ist das 
kleine 1x1 jeder Programmiersprache.
1
int tabelle[10] = {2, 3, 5, 7, 9, 11, 13, 17, 19, 23};
2

3
...
4

5
int primzahl = tabelle[i];
Gast #6457193
Lesenswert?
• ▲
▼
Einhorn schrieb:

> Gibt es gute Algorithmen zum kodieren und dekodieren von Lookup
> Tabellen?

Ja, der beste Algorithmus (zumindest bei Optimierung auf 
Geschwindigkeit) ist der, bei dem der Zugriff auf die Tabelle zu einer 
simplen Indirektion schrumpft, also auf die Tabelle einfach als array 
mit einem Index zugegriffen werden kann.

Solange die Tabelle also in Bezug auf den verfügbaren Speicher für 
konstante Daten klein genug ist, um genug Platz für den Rest der 
Anwendung zu lassen, ist das mit ziemlicher Sicherheit das Optimum.
(Firma: Q3) #6457289
Lesenswert?
• ▲
▼
Wenn es sich, wie in dem obigen Beispiel, nicht gerade um Primzahlen 
ginge, sondern z.B. um eine Linearisierung, benötigt man noch einen 
guten Interoplations-Agorithmus. Der kann beinahe beliebig aufwändig 
sein (z.B. ebenfalls nicht-linear auf Basis der umgebenden Werte) ...
#6457664
Lesenswert?
• ▲
▼
Einhorn schrieb:
> Mein Ziel ist es, dass ich einer Funktion einen Wert und die kodierte
> Lookup Tabelle übergebe und ich als Rückgabewert den Wert aus dieser
> erhalte.

Der Sinn einer Tabelle ist, daß man keine Funktion braucht. Der 
Eingangswert ist einfach der Index auf die Tabelle.
Ist die Tabelle monoton, kann man sie auch mittels binärerer Suche 
rückwarts benutzen.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.