[WinApi] Red - Black Tree Lu's…〃 Programing。

알고리즘 과제 중 레드블랙트리를 구현하는 게 있어서 한 번 만들어봤습니다.

레드블랙트리 : 다음의 네 가지 성질을 만족하는 이진트리이다.
1. 루트노드는 블랙이다.
2. nullptr을 포함한 맨 마지막 노드(리프노드)는 모두 블랙이다.
3. 레드는 연속되지 않는다.
4. 루트노드부터 리프노드까지 단방향으로 탐색할 때 만나는 블랙의 갯수는 모두 동일하다.


위의 네 가지 조건을 만족하는 이진트리를 보이게 만들어보았습니다.

0. 메세지박스에 굳이 커서가 없어도 키는 입력됩니다!
1. 메세지박스에 키를 입력하고 엔터, 스페이스, i 키, [inesert] 박스를 누르면 입력됩니다.
2. 메세지박스에 키를 입력하고 Esc, d, [delete] 박스를 누르면 삭제됩니다.
3. Q키로 종료할 수 있습니다.
4. 마우스 왼쪽버튼을 누른 채 드래그하여 이동할 수 있습니다.
5. 마우스 가운데 버튼을 누르면 루트노드가 가운데에 오도록 위치를 재조정합니다.
6. 메세지박스에 입력하고 싶은 노드 갯수를 입력하고 마우스 오른쪽버튼을 누르시면 샘플코드가 입력됩니다.
7. 노드의 키 값은 구현 목적 상 0부터 9999까지만 입력됩니다.


<실제 사용 화면>


레드블랙트리를 공부하시는 분들께 참고가 되었으면 좋겠습니다.
[다운로드▼]



※크롬에서 어째서인지 악성코드라는데, 아니거든요?!

추가

소스코드를 공개합니다.




덧글

댓글 입력 영역