Nos, a múlt alkalommal 3 és fél percről beszéltünk. Nos, örömmel jelentem, hogy sikerült ezt 1-1,5 perc közé hozni :) Hogy hogyan? Egyrészt, a List adattípus használatáról áttértem Array-ra, ami sokkal jobban teljesít. (A List elem-elérése O(n) idejű, míg az Array-jé O(1). És van pár ilyen mátrix, amit rengetegszer kell elérnem véletlenszerű helyeken.) A másik dolog pedig, hogy a gráf elemeit (node-okat és edge-eket) szintén kivettem a listából, de őket Map-ben tartom (amolyan asszociációs lista, tehát (kulcs, érték) párok, viszont kiegyensúlyozott bináris fát használ).
Ugyanakkor itt szeretném bemutatni a kevert városmintázatot, mert azt is megnéztem, hogyan működik. Jelentem, nekem tetszik az eredmény :D (Bár még kicsit érdekesen működik, de ennek utána lesz nézve majd.) A tovább gomb után lesz kép is.
UPDATE: Kíváncsiságból kipróbáltam, hogy kirajzolás nélkül mennyi időbe tart elkészíteni ugyanezt a várost. Az eredmény meglepő: kis híján kemény 1, azaz EGY (!) másodperc. Igen. Másodperc. Ééééés nem. Ugyanis annyira megörültem az eredménynek, hogy nem is figyeltem, hogy elfelejtettem inicializálni a kezdőpontokat, ilyenkor pedig az egész városgenerálás egy nagy SKIP. >.<