Domeną zainteresowania jest dopasowywanie ciągów znaków. Załóżmy, że mam taką strukturę.Jak zaprojektowałbyś funkcję idealnego skrótu?
typedef struct
{
char *name,
int (*function)();
} StringArray
StringArray s[] =
{
{"George", func1},
{"Paul", func2},
{"Ringo", func3},
{"John", func4},
{"", NULL} /* End of list */
}
W tablicy znajduje się stała liczba ciągów. Są one zakodowane jak na przykładzie. Jeśli tabela ulegnie zmianie, konieczna będzie ponowna ocena jakości funkcji skrótu.
Chcę zastosować funkcję skrótu do napisu, a jeśli ciąg pasuje do jednej w tablicy, , a następnie wywołaj funkcję. Do tego potrzebna jest idealna funkcja skrótu. Żadne kolizje nie są dozwolone. Celem wymagającego skrótu jest uzyskanie O (1) wydajności podczas wyszukiwania.
Jakie masz pomysły dotyczące projektowania funkcji?
Nie sądzę spam oznacza co myślisz to znaczy –
@Mitch: Czy to znaczy, że jest to pytanie, które może być łatwo googled? –
@ j_random_hacker: Zrobiłem. Ale jest późno i to nie jest spam ... –