2019년 5월 22일 수요일

국비 교육 : 게임 프로그래밍 049일

49일 차 교육 내용 메모를 옮겨 본다.
어제에 이어서 Tree에 대한 내용이 메모로 작성되어 있다.


Tree 삭제
- 양쪽 자식이 모두 살아 있는 경우
 왼쪽 노드의 가장 큰 값
 오른쪽 노드의 가장 작은 값


Tree = STL의 Map 으로 키(key)와 데이터(data)로 구성된다.
- 키(key)는 유일값으로 중복되지 않는다.

Tree가 한쪽으로 치우치는 상태 = 편향 = AVL 알고리즘으로 해결

재귀함수의 경우 값이 계속 갱신 되도록 구조를 잡아야 한다.
- 부모의 값 = 자식의 값 또는 연산 값


Map Set을 알아본다.

Map, pair 구조체를 이용해 값을 넣는다.
- Map 의 " [ ] " 연산자의 사용이 가능하지만 안 하는 것을 추천한다.


list와 vector의 삭제 시, erase() 구문은 2개 타입밖에 없다.
map, erase는 키 값과 반복자를 이용해 삭제할 수 있다.


자료구조 매니저 제작 시
- Vector 는 index가 index로 0부터 순차적으로 증가 된다.
- Map은 key가 index로 순차적이지 않아도 된다.

Map은 넣을 때 고민할 필요가 없어서 데이터 관리에 효율적이다.


이상과 같은 내용이 교육되었고, Tree구조를 제작해 검색과 삭제가 되는 프로젝트 실습을 진행한 것 같다.

댓글 없음:

댓글 쓰기

Unity - Firebase 연동 (Analytics, AdMob)

버전 : firebase_unity_sdk_6.5.0.zip 게임에서 통계 측정 및 광고 추적을 위해 Firebase 을 연동한다. 앞서 [Unity - GPGS 와 Admob 연동 및 배포 준비 작업]  연동 이후에 작업을 진행 한다. 유니...