sql >> Databáze >  >> RDS >> Sqlserver

Nalezení, jaká slova může vytvořit sada písmen?

V tuto chvíli ignoruji SQL část problému, algoritmus, který bych použil, je poměrně jednoduchý:začněte tím, že vezmete každé slovo do svého slovníku a vytvoříte jeho verzi s písmeny v seřazeném pořadí spolu s ukazatelem zpět na původní verzi tohoto slova.

Vznikne tabulka se záznamy jako:

sorted_text word_id
act         123    /* we'll assume `act` was word number 123 in the original list */
act         321    /* we'll assume 'cat' was word number 321 in the original list */

Když pak obdržíme vstup (řekněme „tac“), seřadíme jeho písmena, vyhledáme je v naší tabulce setříděných písmen spojených s tabulkou původních slov, a to nám dá seznam slov, která lze vytvořit z tento vstup.

Pokud dělali to, měl bych pro to tabulky v databázi SQL, ale pravděpodobně bych použil něco jiného k předběžnému zpracování seznamu slov do seřazeného tvaru. Stejně tak bych pravděpodobně nechal třídění písmen uživatelského vstupu na cokoliv, co jsem použil k vytvoření front-endu, takže SQL by bylo ponecháno na to, v čem je dobré:na správu relačních databází.



  1. Otázky týkající se emotikonů iPhone a webových stránek

  2. Proč se položka sekvence Postgres zvedne, i když se vytvoření objektu nezdaří?

  3. Jaký typ struktury používám pro obsah HTML (MySQL)

  4. php mysql třídí výsledky podle pořadí načtení