2014-10-28 52 views
0

假設它是一個多週期二叉樹,每個週期它只能上升(Head)或下降(Tail)。對於3週期樹,將會有2^3 = 8場景/路徑。例如,其中一條路徑是所有頭,即HHH,然後是HHT,HTH,HTT ...如何在R中循環二叉樹路徑?

當週期變大時,更容易產生循環。使用R,我如何生成大量的二項式路徑,然後我可以將這些路徑循環用於其他目的。

+0

你的問題是有點不清楚,我會建議增加一些重複的例子,以及一些希望的輸出 – 2014-10-28 18:50:01

回答

2

您可能會發現包裹gtools有用。

library(gtools) 
permutations(2,3,c('H','T'),repeats.allowed=TRUE) 
    [,1] [,2] [,3] 
[1,] "H" "H" "H" 
[2,] "H" "H" "T" 
[3,] "H" "T" "H" 
[4,] "H" "T" "T" 
[5,] "T" "H" "H" 
[6,] "T" "H" "T" 
[7,] "T" "T" "H" 
[8,] "T" "T" "T" 

對於大N,

N<-20 
paths=permutations(2,N,c('H','T'),repeats.allowed=TRUE) 
for (i in 1:ncol(paths)){ 
    path<-paths[i,] 
    # blah blah 
}