일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 결항
- 푸르지오포레피스
- 사진문자추출하기
- 중학교입학수학문제
- 사진문자추출
- 영통역소고기
- 종이캐리어
- 고마워다음
- 커피
- 아이혼자다녀옴
- 홍시스무디
- 양양솔비치 뷔페
- 가족소고기외식
- 싱가폴중학교수학문제
- 오트눈썰매장
- 편도수술
- 당근마켓중고차
- DFS
- 사진에서 글자추출
- 영통칠프로칠백식당
- 영통외식
- 커피쏟음
- 검색완료
- 결항전문
- 양양솔비치조식
- 에어아시아
- 파이썬
- 양양솔비치아침
- 양양솔비치세프스키친
- 주차넉넉
- Today
- Total
너와나의 관심사
이진트리 삽입 & Node 구하는 코드 본문
void insert(int root, int key) {
if (root < key && rightC[root] == 0) { //no child
rightC[root] =key;
return;
}
else if (root > key && leftC[root] == 0) { //no child
leftC[root] = key;
return;
}
//right fill s
if (root < key && rightC[root] != 0) {
insert(rightC[root], key);
}
//left child fill
else if (root > key && leftC[root] != 0) { //왼쪽 자식이 비어있을때
insert(leftC[root], key);
}
}
//해당하는 노드의 자식수를 구하는 함수
int child_cnt(int curNode) {
//no child -- > 0s
if (leftC[curNode] == 0 && rightC[curNode] == 0) {
return 0;
}
//both left/left +2
if (leftC[curNode] != 0 && rightC[curNode] != 0)
return child[curNode] = child_cnt(leftC[curNode]) + child_cnt(rightC[curNode]) + 2;
//only lelf child +1
else if (leftC[curNode] != 0 && rightC[curNode] == 0) {
return child[curNode] = child_cnt(leftC[curNode]) + 1;
}
//right child num + 1
else if (leftC[curNode] == 0 && rightC[curNode] != 0) {
return child[curNode] = child_cnt(rightC[curNode]) + 1;
}
}