๐Ÿ’ป

[์•Œ๊ณ ๋ฆฌ์ฆ˜] ๋™์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ - ์ดํ•ญ๊ณ„์ˆ˜ / ์ด์ง„ํŠธ๋ฆฌ ๋ณธ๋ฌธ

์•Œ๊ณ ๋ฆฌ์ฆ˜/๊ธฐ๋ณธ๊ธฐ ๋‹ค์ง€๊ธฐ

[์•Œ๊ณ ๋ฆฌ์ฆ˜] ๋™์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ - ์ดํ•ญ๊ณ„์ˆ˜ / ์ด์ง„ํŠธ๋ฆฌ

๋˜ํšจ๋‹ˆ 2020. 2. 13. 16:21

์ดํ•ญ๊ณ„์ˆ˜

 

๋ถ„ํ•  ์ •๋ณต๋ฒ•์„ ์ด์šฉํ•œ ์ดํ•ญ๊ณ„์ˆ˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜

int binary(int n, int k){
	if(k==0 || n == k) return 1;
    else return binary(n-1, k-1) + bin(n-1, k);
}

 

 

๋™์ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์ด์šฉํ•œ ์ดํ•ญ๊ณ„์ˆ˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜

int binary(int n, int k){
    int B[n][k];
    for(int i=0; i<=n; i++){
    	for(int j=0; j<=min(i,k); j++){
        	if(j==0 || j==i) B[i][j] = 1;
            else B[i][j] = B[i-1][j-1] + B[i-1][j];
      	}
    }
    return B[n][k];
}

 

 

ํŠธ๋ฆฌ์˜ ์ข…๋ฅ˜

์ด์ง„ ํŠธ๋ฆฌ(binary tree) : ๊ฐ ๋…ธ๋“œ๊ฐ€ ์ตœ๋Œ€ ๋‘ ๊ฐœ์˜ ์ž์‹ ๋…ธ๋“œ๋งŒ์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” ํŠธ๋ฆฌ

๊ท ํ˜• ์ด์ง„ ํŠธ๋ฆฌ(balanced binary tree) : ํŠธ๋ฆฌ์˜ ๋ชจ๋“  ๋…ธ๋“œ์˜ ์™ผ์ชฝ ๋ถ€๋ถ„ํŠธ๋ฆฌ์™€ ์˜ค๋ฅธ์ชฝ ๋ถ€๋ถ„ํŠธ๋ฆฌ์˜ ๊นŠ์ด๊ฐ€ ์ตœ๋Œ€ ํ•˜๋‚˜ ์ฐจ์ด๊ฐ€ ๋‚˜๋Š” ํŠธ๋ฆฌ

์ˆœ์„œ ํŠธ๋ฆฌ(ordered tree) : ๊ฐ ๋…ธ๋“œ์˜ ์ž์‹์ด ์ˆœ์„œํ™”๋œ ๋ฃจํŠธํŠธ๋ฆฌ.

์™„์ „ ์ด์ง„ ํŠธ๋ฆฌ(complete binary tree) : ๋…ธ๋“œ์˜ ์ฐจ์ˆ˜๊ฐ€ 2๊ฑฐ๋‚˜ ๋ฆฌํ”„๋…ธ๋“œ.

๋ฐ˜์‘ํ˜•
Comments