Deneysel bir OOP dili uyguladım ve şimdi bir Storage benchmark kullanarak çöp toplama işlemini karşılaştırdım. Şimdi küçük derinlikler için aşağıdaki kriterleri kontrol etmek/yazdırmak istiyorum (n = 2, 3, 4, ..).Bir test noktasını kontrol etmek için 4 düğümlü Ağacı (basit orman)
Ağaç (4 alt sıranlı orman) buildTreeDepth
yöntemiyle üretilir.
import java.util.Arrays;
public final class StorageSimple {
private int count;
private int seed = 74755;
public int randomNext() {
seed = ((seed * 1309) + 13849) & 65535;
return seed;
}
private Object buildTreeDepth(final int depth) {
count++;
if (depth == 1) {
return new Object[randomNext() % 10 + 1];
} else {
Object[] arr = new Object[4];
Arrays.setAll(arr, v -> buildTreeDepth(depth - 1));
return arr;
}
}
public Object benchmark() {
count = 0;
buildTreeDepth(7);
return count;
}
public boolean verifyResult(final Object result) {
return 5461 == (int) result;
}
public static void main(String[] args) {
StorageSimple store = new StorageSimple();
System.out.println("Result: " + store.verifyResult(store.benchmark()));
}
}
buildTreeDepth tarafından oluşturulan ağacı baskı biraz basit/yalındır yolu var mı şu şekildedir: kodudur? Sadece n = 3, 4, 5.
Not: Ağacı yazdırmak istiyorum, böylece deney dili için oluşturduğum aynı ağaç olduğundan emin olduğumu biliyorum. – mrsteve
Bu soru, durduğu kadar geniş gözüküyor. Sizin için bir grafik veya ASCII ağacı oluşturabilen 100 Java API'sı varsa şaşırmam. Muhtemel yinelenen - [Bağlı düğümlerin bir grafiğini temsil eden bir ağaç nasıl çizilir?] (Http://stackoverflow.com/questions/10126695/how-to-draw-a-tree-representing-a-graph-of-connected- düğümler – Dukeling
Aradığınız çıktının nasıl görüneceğine dair bir örnek ekleyebilir misiniz? – eitanfar