/ / Има ли Trie в Java? [дубликат] - java, trie

Има ли трие в Java? [дубликат] - java, trie

Възможно дублиране:
Къде мога да намеря стандартна реализация на Trie базирана карта в Java?

Искам да използвам Trie в Java, има ли приложение, което мога да използвам? (Опитах се да го търся, но не го намерих).

Отговори:

41 за отговор № 1

Няма структурата на данните в основните библиотеки на Java.

Това може да се дължи на това, че опитите обикновено са предназначени за съхраняване на символни низове, докато структурите за данни на Java са по-общи, обикновено държащи такива Object (дефиниране на равенство и хеш операция), въпреки че понякога са ограничени до Comparable обекти (определяне на поръчка). Няма обща абстракция за "поредица от символи", въпреки че CharSequence е подходящ за символни низове и предполагам, че бихте могли да направите нещо с Iterable за други типове символи.

Ето още един въпрос, който трябва да се разгледа: когато се опитвате да внедрите конвенционална версия в Java, вие бързо се сблъсквате с факта, че Java поддържа Unicode. За да имате някаква пространствена ефективност, трябва да ограничите низовете във вашето трие до някакво подмножество от символи или да се откажете от конвенционалния подход за съхраняване на детски възли в масив, индексиран със символ. Това може да е друга причина, поради която опитите не се считат за общо предназначение за включване в основната библиотека и нещо, което трябва да се внимава, ако приложите своя собствена или използвате библиотека на трета страна.