Megjegyzések programmistera, hogyan kell felépíteni egy fa a grafikonon

Megjegyzések programmistera, hogyan kell felépíteni egy fa a grafikonon

Vázlat egy grafikon - közös adatstruktúrát a programozás és a gyakran használt algoritmusok. A tartalma ez a struktúra alkalmas arra, hogy tanulmányozza keményen hibakeresés, annak a ténynek köszönhető, hogy szinte mindig le egyetlen csomópont hivatkozva utódaik. Ie hogy az érték a csomópont, szükséges, hogy végre egy nem-triviális fa bejárás. És itt a támogatás jöhet vizuális reprezentációja a grafikonon. Épület egy grafikon, kompakt és könnyen érzékelhető a fa, nem triviális feladat, és minden bizonnyal sok döntéseket. Ebben a cikkben szeretném megosztani a saját „kerék”, hogy megoldja ezt a problémát.








A cikk feltételezi, hogy az adott időpontban kaphat információt a leszármazottai egy adott csomóponthoz a fa. Hivatkozások az ős csomópont nincs szükség, mivel nincsenek jelen minden fa nézetben.

A kód a cikkben bemutatott Java. Ahhoz, hogy a kód érthető az olvasó nem ismeri a java, röviden ismertesse az osztályok specifikusak a nyelvet:
  • Point - meghatároz egy pont koordinátái x és y;
  • Dimenzió - írja a méretet. Mezőket tartalmaz magasság és a szélesség;
  • Téglalap - egy téglalap írja le a méreteit és a koordinátákat a bal felső sarokban;
  • TreeModel - ismerteti a fa. Termel utódok és számuk az adott csomóponton.






A fő követelmény az algoritmus egy minimális mennyiséget fa bejárás kiszámításához koordinátáit minden csomópont.

Javasolt határozat Az ötlet az, hogy kezelje, mint a gyermek csomópont nem egyedül, és minden által generált egész fát:

Megjegyzések programmistera, hogyan kell felépíteni egy fa a grafikonon


Bemutatjuk a „klaszterek”. Bunch - némi adatstruktúra, amely utal a csomópontjára, és ugyanolyan hivatkozási szám „klaszter”, amely megfelel a csomópont gyermek.

A feladat az, hogy klaszter a csomópont kiszámításához körzethely, amelyre hivatkozik, és a számítás a saját méretét.

Tény, hogy egy csomó - térkép csomópont helyét és annak leszármazottai.

Megjegyzések programmistera, hogyan kell felépíteni egy fa a grafikonon

Klasztereket és számítástechnikai koordinátáit a bal felső sarokban a felfutást rekurzív fa mélysége:

Hogy láthatóvá ötletek, úgy a példa a kiszámítása a koordinátáit a gyökér csomópont leszármazottai 0. Az algoritmus feltételezi, hogy ezen a ponton koordinátái csomópontok 4-10 már kiszámított, és méretei a fák által generált csomópontok 1, 2. és 3. ismertek (a vízszintes távolság a cellák között, a példa egyenlő 0 ):

Megjegyzések programmistera, hogyan kell felépíteni egy fa a grafikonon