B-Tree, B+Tree와 자기 균형 이진 트리Self-Balanced Binary Tree와의 차이점을 알아본 다음, B-Tree에서 탐색, 삽입, 삭제 과정을 알아보겠습니다.
이 내용은 포항공과대학교의 CSED 233의 내용을 기반으로 하며, 수업과 차이가 있는 부분은 기울임체로 별도 명시하였습니다.
B-Tree는 디스크 상에서 활용될 목적으로 개발된 탐색 트리의 일종입니다. 기본적인 아이디어는 이진 탐색 트리 하나의 노드에 여러 개의 데이터를 저장하는 것인데, 이러면 기본적인 속도는 Re...
본 글에서는 딕셔너리와 해싱을 알아보고, 각 언어의 구현을 알아보며 배운 내용을 체크해보려 합니다.
이 내용은 포항공과대학교의 CSED 233의 내용을 기반으로 하며, 수업에서 다루지 않은 내용은 인용문으로 표기하였거나 별도 명시하였으니 참고바랍니다.
딕셔너리는 추상 자료형Abstract Data Types의 일종으로, 특정 키에 대해 특정 원소가 매핑되는 짝의 집합으로 구성되어 있습니다.
Map이라고도 불립...
엣코더 ABC #348의 E - Minimize Sum of Distance 에서 트리 DP, 그중에서도 전방향 트리(全方位木) DP를 쓴다고 해서 찾아봤습니다.
이 알고리즘은 일본 외에서는 Rerooting 이라고 불리며, 루트가 정해지지 않은 트리에서 조건에 맞는 루트를 구할 때 유용하게 사용할 수 있는 테크닉입니다. 한국에서는 트리에서의 다이나믹 프로그래밍 분류의 일종으로 취급되지만, 외국에서는 이름을 따 붙힐 정도로 경쟁적 프로그래밍에서 은근 자주 출제되는 알고리즘인 듯 합니다.
동아리에서 후배들에게 리눅스 세미나를 하게 되었습니다. 그러면 실습 환경 구축을 해야겠죠.
제작년에는 선배들이 버추얼 박스를 설치해 오라고 시켰고, 작년에는 똑같이 제가 세미나를 맡아서 후배들에게 제 리눅스 서버 계정을 하나씩 넘겨주는 방식으로 실습을 했는데요,
올해는 제 리눅스랑 가상화 지식이 많이 늘기도 했고, 서버도 깔끔하게 재구축했으니 가상화를 통해 1인 1서버를 주는 걸 만들어보기로 했습니다.
원래는 컨테이너를 여러개 열어서 SSH 리버스 프록시나 점프 포워드로 구축해 보려고 했는데, 생각보다 어려...
전 글에서 Ubuntu 서버가 터졌다고 했는데, 이왕 서버 터진김에 맨날 삐걱대던 Ubuntu Server 대신 다른 리눅스 서버 배포판을 써보기로 했습니다. 후보는 세 가지 정도 있었는데,