gitweb on Svarog

projekti pod git sistemom za održavanje verzija -- projects under the git version control system
Pojednostavljivanje resenja za NajboljiPut
[spa2-materijali.git] / PretrazivanjeSaVracanjem / Lavirint / NajboljiPut / Lavirint.java
diff --git a/PretrazivanjeSaVracanjem/Lavirint/NajboljiPut/Lavirint.java b/PretrazivanjeSaVracanjem/Lavirint/NajboljiPut/Lavirint.java
deleted file mode 100644 (file)
index a96bd8c..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-/**\r
- * Klasa Lavirint sadrzi nekoliko metoda za trazenje puteva.\r
- * \r
- * Klase KomparatorPoDuzini i KomparatorPoVrednosti predstavljaju komparatore\r
- * koji se korste pri trazenju najkraceg i najvrednijeg puta.\r
- */\r
-\r
-import java.util.Comparator;\r
-\r
-public class Lavirint {\r
-\r
-       // Polje m sadrzi kompletnu mapu\r
-       private Mapa m;\r
-       // Polje optResenje sluzi za pamcenje optimalnog resenja\r
-       private Resenje optResenje;\r
-\r
-       // Ucitava mapu iz datog fajla i stampa je na ekran\r
-       Lavirint(String imeFajla) {\r
-               m = Mapa.ucitajIzFajla(imeFajla);\r
-               m.stampaj();\r
-       }\r
-\r
-       // Kreira optimalno resenje za put, pri cemu se za optimalnost resenja\r
-       // koristi komparator po duzini resenja, tj. trazi se najkrace resenje\r
-       // Samo resenje kreira se u metodi optPut\r
-       public Resenje najkraciPut(int x, int y) {\r
-               Resenje r = new Resenje();\r
-               optPut(x, y, r, new KomparatorPoDuzini());\r
-               return optResenje;\r
-       }\r
-\r
-       // Kreira optimalno resenje za put, pri cemu se za optimalnost resenja\r
-       // koristi komparator po duzini resenja, tj. trazi se najvrednije resenje\r
-       // Samo resenje kreira se u metodi optPut\r
-       public Resenje najvrednijiPut(int x, int y) {\r
-               Resenje r = new Resenje();\r
-               optPut(x, y, r, new KomparatorPoVredosti());\r
-               return optResenje;\r
-       }\r
-\r
-       // Proverava da li postoji put korsiteci pretrazivanje sa vracanjem\r
-       // Ukoliko se pronadje na prvi ili optimalniji put, taj put se pamti u\r
-       // optResenje\r
-       // Optimalnost resenja se proverava komparatorom\r
-       private void optPut(int x, int y, Resenje r, Comparator<Resenje> c) {\r
-               if (x < 0 || x >= m.getSirina() || y < 0 || y >= m.getVisina()) {\r
-                       return;\r
-               }\r
-               if (m.getPos(x, y)) {\r
-                       return;\r
-               }\r
-               if (m.getMat(x, y) == Mapa.ZID) {\r
-                       return;\r
-               }\r
-               if (m.getMat(x, y) == Mapa.IZLAZ) {\r
-                       r.dodaj(x, y, 0);\r
-                       if (optResenje == null || c.compare(r, optResenje) < 0) {\r
-                               optResenje = r.kopija();\r
-                       }\r
-                       r.izbaciKraj();\r
-                       return;\r
-               }\r
-               \r
-               // pokusavamo da trazimo dalje put\r
-               m.setPos(x, y, true);\r
-               r.dodaj(x, y, m.getMat(x, y));\r
-               optPut(x + 1, y, r, c);\r
-               optPut(x, y + 1, r, c);\r
-               optPut(x, y - 1, r, c);\r
-               optPut(x - 1, y, r, c);\r
-               m.setPos(x, y, false);\r
-               r.izbaciKraj();\r
-       }\r
-}\r
-\r
-// Komparator za resenja po duzini resenja\r
-class KomparatorPoDuzini implements Comparator<Resenje> {\r
-       public int compare(Resenje r1, Resenje r2) {\r
-               return r1.getLength() - r2.getLength();\r
-       }\r
-}\r
-\r
-// Komparator za resenja po vrednosti resenja\r
-class KomparatorPoVredosti implements Comparator<Resenje> {\r
-       public int compare(Resenje r1, Resenje r2) {\r
-               return r2.getVrednost() - r1.getVrednost();\r
-       }\r
-}
\ No newline at end of file
Svarog.pmf.uns.ac.rs/gitweb maintanance Doni Pracner