Miten Pythonilla tehdään puita ja verkkoja

Tarvitsisin matemaattiseen ongelmaan verkkojen ja puiden läpikäyntiä. Olen lukenut Pythonin perusteet, mutta miten kannattaa toteuttaa tällainen tietorakenne, jossa pitäisi etsiä isosta verkosta best-first -searchillä optimaalinen ratkaisu? Ja koko verkko ei taida mahtua koneen muistiin kokonaan vaan sitä pitäisi muokata sitä mukaa kun laskenta etenee.
152
Äänestä

Muut lukivat myös

Vastaukset 1

Vanhimmat

"Ja koko verkko ei taida mahtua koneen muistiin kokonaan vaan sitä pitäisi muokata sitä mukaa kun laskenta etenee."

Varmaan kannattaisi aloittaa siitä, että laskee mihin se tietorakenne sopii sillä pälliratkaisulla. Ja sen jälkeen selvittää mihin sen saa sopimaan kun vähän tiivistää.

Käytännössä jos ei saa sopimaan muistiin niin sitten se tietorakenne pidetään vaikka tiedostona. Homman juttu vaan on se, että suorituskyky kärsii ikävästi tuossa joten on kyllä helpompaa ostaa vaikka sitten muistia lisää tai toteuttaa Pythonin sijasta tarvittaessa toisella ohjelmointikielellä. Esim. C :lla voi kivasti kontrolloida muistin käyttöä, että voi saada toimimaan pienemmällä muistiavaruudella.

Harvemmin se suorituskyky on mikään ongelma joten tarvittaessa tekee vaikka tiedoston jossa niitä verkon solmun alkioita ja miten linkittyvät.

Äänestä

Kommentoi aloitusta


amatöörimatemaatikko kirjoitti:

Tarvitsisin matemaattiseen ongelmaan verkkojen ja puiden läpikäyntiä. Olen lukenut Pythonin perusteet, mutta miten kannattaa toteuttaa tällainen tietorakenne, jossa pitäisi etsiä isosta verkosta best-first -searchillä optimaalinen ratkaisu? Ja koko verkko ei taida mahtua koneen muistiin kokonaan vaan sitä pitäisi muokata sitä mukaa kun laskenta etenee.

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu