크래프톤 정글 WEEK4
공부 키워드
동적 메모리 할당, 메모리 누수, 균형 이진 탐색 트리, 포인터, 포인터의 연산, 가상화, GCC, 레드 블랙 트리
CSAPP
3장 - 3.4, 3.7, 3.8
7장 - 7.1, 7.4, 7.9, 그림 7.15
8장 - 5.1, 8-5
9장 - 9.9, 9.11
-> 책 하나도 못 읽어서.. 설날을 기점으로 쓱 읽어볼 예정이다. 코치님께서 훑어보는 정도로만 읽어도 된다고 해서 깊게 파고들진 않을 것이다.
RB트리 C언어로 구현!!!
-> 못 할 줄 알았는데 성공...해서 너무 기뻤던..! 다른 동료분의 도움이 없었더라면 못 했을 것 같다 감사합니다..
회고
이번 4주차는 설날로 인해 하루 빨리 끝났어서 화요일 퀴즈 보고 수요일에 바로 시험 / 발제여서 시간이 좀 촉박했다.
또 RB트리를 이해하는 데 시간을 너무 많이 쓰고 환경설정 하는 부분에서도 많이 소요되서 전체적으로 제대로 공부를 못했다라는 생각이 드는 주차였다. 그래서 더 아쉬움이 남는다. 퀴즈도 너무 못봐서 스스로에게 실망이 크다
그래도 RB트리를 구현했다는 점에 대해서는 기쁘지만 사실 아직 다 이해하지 못해서 전체적으로 아쉬움이 많은 주차다..
알고리즘 책이 이렇게 고마울 수가 있나 싶었다.. 내 노트북 받침대로 쓰이던 책을 이리 오래 핀 건 처음이다 ㅋ.ㅎ.
C언어도 다 까먹어서 다시 공부해야된다 ㅠㅠ 화이팅...
키워드 정리
동적 메모리 할당
[C언어] 동적 메모리 할당(Dynamic Memory Allocation)
동적 메모리 할당이란? - 컴퓨터 프로그래밍에서 실행 중(런타임)에 사용할 메모리 공간을 할당하는 것을 의미한다. - 프로그램이 실행되기 전, 컴파일 시점에 소스 코드를 읽고 메모리 공간을
habbn-unitystudy.tistory.com
RB트리
Red-BlackTree
Red-Black 트리 - 이진 탐색 트리(BST)의 한 종류 - 스스로 균형 잡는 트리 - BST의 worst case의 단점을 개선( O(N) -> O(logN) - 모든 노드는 red or black RBTree 특성 #1 모든 노드는 Red or Black #2 루트 노드는 Black #3
habbn-unitystudy.tistory.com
퀴즈 리뷰
1. 다음 코드를 실행했을 때 출력 값이 2 3 4 5 6이 되도록 fucn 함수를 완성하시오.
#include<stdio.h>
void func(int *p, int n){
for(int i=0; i<n; i++)
{
*p = *p +1;
p++;
}
int main(){
int arr[5] = {1,2,3,4,5};
func(arr,5);
for(int i=0; i<5; i++)
printf("%d",arr[i]);
return 0;
}
2. 다음 C 코드의 문제점을 찾아 해결하고, 실행 결과를 적으시오
#include <stdio.h>
#incldue <stdlib.h>
int main(){
int *arr = (int*)malloc(5*sizeof(int));
for (int i=0; i<5; i++){
arr[i] = i*i;
}
printf("%d\n", arr[3]);
return 0;
}