[Week4] 0205.5

안나경·2024년 2월 6일

크프정 일상

목록 보기
27/109

2시 ~ 4시 반 코어

책에 대해 요약하고,
c언어 퀴즈를 같이 풀어보았음.

3은 이미 진행하셨을테니
7, 8, 9
....
사람들 이니셜을 일치하는건 포기하고 그냥 하겠다
H님이 전반적으로 읽어와주셨어서
H님이 얘기해주시고, 내가 한 번더 부가 설명을 붙이는 방식으로 진행했다.

그리고 c언어 퀴즈...

.,..

인풋아웃풋

scanf는 값을 받은 글자 수를 반환한다.
(Printf로 그대로 출력하면 숫자가 나옴.)

%는 뒤에 %가 붙어야 출력된다. (%%로 치면 % 하나 나옴)

printf를 숫자 + 문자열 하면 해당하는 문자의 숫자를 지나친 이후가 출력된다.

%(숫자)s를 하면 최대 그 글자만큼 출력된다..

...등등.

c는 함수와 배열은 반환하지 못한다.

함수 이름을 출력하면 주소가 출력된다.

그외 전방선언, 인자 여러개 받으면
하나만 출력 되는 등,
extern은 다른 곳에서도 전역변수로 작용하지만
static은 해당 파일에서만 전역변수로 작용하는등...
...
의 확인을 했다.

9시~ 10시 G님의 AVL 트리 코어

(사실 이분의 철자를 모르겠어...)
(등장한적있으실텐데...)

......

......
AVL트리는 LL, LR, RR, RL 케이스에따라,
가장 leaf 노드와, 그 다음 leaf 노드까지의 거리를
재서, 2가 되면 (정확히는 레벨 차이를 재는 것이다)
때에 따라 적절히 좌회전, 우회전을 하는 것이다.

(이론적으로는 왼쪽 서브트리의 높이 - 오른쪽 서브트리의 높이의 절대값인거같은데...)

아마 BF가 2이면 그아래 1인 지점에서 돌리는거같다..
(RR, LL인 경우고 RL, LR이면 0인 지점에서 한번 돌리고, 1인지점에서 한번 더 돌림.)

실제 코드에서는 height 라는 속성을 따로줘서
bfactor를 계산하여 그 값에 따라 조건문을 따로 빼는 것같다.

(bfactor는 왼쪽 노드의 height, 오른쪽 노드의 height를 각각 가져와서 계산함.)

핵심은 bfactor라는 개념인 듯.

G님은 실제 예제를 가져와
풀어보고 맞춰보는 시간을 갖게 해주셨다.

profile
개발자 희망...

0개의 댓글