Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jak znaleźć słowa, które może stworzyć zestaw liter?

Ignorując na razie część problemu dotyczącą SQL, algorytm, którego użyłbym, jest dość prosty:zacznij od pobrania każdego słowa ze słownika i utworzenia jego wersji z literami w kolejności posortowanej wraz ze wskaźnikiem wstecz do oryginalnej wersji tego słowa.

Dałoby to tabelę z wpisami takimi jak:

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 */

Następnie, gdy otrzymamy dane wejściowe (powiedzmy „tac”), sortujemy jego litery, szukamy go w naszej tabeli posortowanych liter połączonych z tabelą oryginalnych słów, co daje nam listę słów, z których można utworzyć to wejście.

Jeśli ja gdybym to robił, miałbym tabele do tego w bazie danych SQL, ale prawdopodobnie użyję czegoś innego do wstępnego przetworzenia listy słów na posortowaną formę. Podobnie, prawdopodobnie zostawiłbym sortowanie liter danych wejściowych użytkownika do tego, czego używałem do tworzenia interfejsu, więc SQL pozostałby z tym, w czym jest dobry:zarządzaniem relacyjnymi bazami danych.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kursor SQL Server - pętla przez wiele serwerów i wykonanie zapytania

  2. Dlaczego SQL Server 2008 blokuje SELECT przy długich transakcjach INSERT?

  3. Wydajność serwera SQL — testowanie w chmurze

  4. GROUP BY, aby połączyć/połączyć kolumnę

  5. Nie można uzyskać dostępu do tabel tymczasowych z poziomu funkcji