Я работал над решением проблемы сегодня. Но я застрял. Я знаю, как работает trie, но проблема в том, что я знаю, как реализовать его со статическими массивами и классами. Сегодня, просматривая в Интернете, я читаю, что есть способ реализовать попытки с использованием stl :: map. Я пробовал сегодня, но я до сих пор не знаю, как вставлять элементы в int. это struchture.Trie Implementation With Map
Edit1: я пытаюсь решить эту проблему: spoj.com/problems/TAP2012D Я хочу знать, как добавить слова к синтаксическому дереву с EDIT2: Я знаю, как работает карта, я просто не знаю, как работает trie с картой. Я хочу, чтобы кто-то знал о попытках.
Вот что ив сделал до сих пор
const int ALPH_SIZE = 26;
using namespace std;
struct trie{
map<char,int> M;
int x,y;
trie();
};
trie T[1000000];
trie::trie()
{
x=y=0;
}
int maximo;
void addtrie(string palabra)
{
int tam=palabra.size();
int pos=0;
for(int i=0;i<tam;i++)
{
if(T[pos].M.find(palabra[i])==T[pos].M.end())
{
T[pos].M[palabra[i]]=new trie();
T[pos].M[palabra[i]]=
}
}
}
ваша настоящая проблема? также 'trie T [1000000];' может стекать переполнение – billz
@billz Я не знаю, как добавлять элементы. Я имею в виду функцию add, я хочу добавить элементы на нее – Giuseppe
вы имеете в виду добавить элементы в 'M'? – billz