Till KTH:s startsida Till KTH:s startsida

Gruppwebben som samarbetsyta stängs 31 december 2026. Du som administratör behöver nu exportera gruppens innehåll och/eller radera gruppen.

Observera: Från och med den 1 oktober 2026 kommer delar av gruppwebben som inte längre används, successivt att stängas ned, exempelvis gruppwebbar som redan har flyttats eller varit inaktiva under en längre tid.

Mer information hittar du i nyheten: Gruppwebben och Social stänger hösten 2026. Stöd och instruktioner för hur du exporterar en gruppwebb finns i: Gruppwebben som samarbetsyta stängs hösten 2026.

Strykord

Tomt ord är stamfar, barnen får man genom att lägga på en bokstav och kolla i ordlistan. Eftersom man inte är ute efter kortaste strykord utan tvärtom längsta är breddenförst inte nödvändigt. Rekursiv djupetförst som går igenom hela trädet och noterar längdrekord är kanske bäst, särskilt eftersom letandet i ordlistan då hela tiden går framåt! Här har jag lagt alla svenska ord i ett binärträd - det tar förstås mycket minne och är onödigt. Man kan i stället läsa filen ord för ord eftersom man aldrig behöver backa.

def byggut(ord):
    """ Rekursiv djupetförst"""
    global rekord
    if len(ord) > len(rekord): 
       rekord = ord
    for tkn in alfabet:
      if svenska.exists(ord+tkn):
          byggut(ord+tkn)


from bintree import Bintree
alfabet="abcdefghijklmnopqrstuvwxyzåäö"
rekord=""

svenska=Bintree()
svenskfil = open("words.txt")
for rad in svenskfil.readlines():
    svenska.put(rad.strip())     #Ta bort returtecknet

byggut("")
print("Längsta strykord: ", rekord)