ZLFN.SPACE

아마도 성장할 것 같은 학생

B-Tree, B+Tree와 자기 균형 이진 트리Self-Balanced Binary Tree와의 차이점을 알아본 다음, B-Tree에서 탐색, 삽입, 삭제 과정을 알아보겠습니다.

이 내용은 포항공과대학교의 CSED 233의 내용을 기반으로 하며, 수업과 차이가 있는 부분은 기울임체로 별도 명시하였습니다.

B-Tree

B-Tree는 디스크 상에서 활용될 목적으로 개발된 탐색 트리의 일종입니다. 기본적인 아이디어는 이진 탐색 트리 하나의 노드에 여러 개의 데이터를 저장하는 것인데, 이러면 기본적인 속도는 Re...

본 글에서는 딕셔너리와 해싱을 알아보고, 각 언어의 구현을 알아보며 배운 내용을 체크해보려 합니다.

이 내용은 포항공과대학교의 CSED 233의 내용을 기반으로 하며, 수업에서 다루지 않은 내용은 인용문으로 표기하였거나 별도 명시하였으니 참고바랍니다.

Dictionary ADT

딕셔너리는 추상 자료형Abstract Data Types의 일종으로, 특정 키에 대해 특정 원소가 매핑되는 짝의 집합으로 구성되어 있습니다.

  • 구현마다 다르긴 합니다만 대체로 중복키는 허용되지 않습니다.

    Map이라고도 불립...

엣코더 ABC #348E - Minimize Sum of Distance 에서 트리 DP, 그중에서도 전방향 트리(全方位木ぜん ほうい き) DP를 쓴다고 해서 찾아봤습니다.

이 알고리즘은 일본 외에서는 Rerooting 이라고 불리며, 루트가 정해지지 않은 트리에서 조건에 맞는 루트를 구할 때 유용하게 사용할 수 있는 테크닉입니다. 한국에서는 트리에서의 다이나믹 프로그래밍 분류의 일종으로 취급되지만, 외국에서는 이름을 따 붙힐 정도로 경쟁적 프로그래밍에서 은근 자주 출제되는 알고리즘인 듯 합니다.

...

2023년이 끝났습니다.

미성년으로써의 삶도 올해가 마지막이네요. 뭐가 바뀌는건지도 모르겠는데, 이제 어른이랍니다. 대체 내가 왜 성인이지... 싶은데 아무튼 올해 이룬 것들과 앞으로 할 것들을 정리해서 글로 남기기로 했습니다.

공부를 했습니다.


3학년 1학기는 수시에 들어가는 마지막 학기였습니다. 그래서 7월까지는 정말 정신없이 공부한 것 같습니다. 수학을...

동아리에서 후배들에게 리눅스 세미나를 하게 되었습니다. 그러면 실습 환경 구축을 해야겠죠.

제작년에는 선배들이 버추얼 박스를 설치해 오라고 시켰고, 작년에는 똑같이 제가 세미나를 맡아서 후배들에게 제 리눅스 서버 계정을 하나씩 넘겨주는 방식으로 실습을 했는데요,

올해는 제 리눅스랑 가상화 지식이 많이 늘기도 했고, 서버도 깔끔하게 재구축했으니 가상화를 통해 1인 1서버를 주는 걸 만들어보기로 했습니다.

구글링

원래는 컨테이너를 여러개 열어서 SSH 리버스 프록시나 점프 포워드로 구축해 보려고 했는데, 생각보다 어려...

rocky

새로운 배포판으로의 모험

전 글에서 Ubuntu 서버가 터졌다고 했는데, 이왕 서버 터진김에 맨날 삐걱대던 Ubuntu Server 대신 다른 리눅스 서버 배포판을 써보기로 했습니다. 후보는 세 가지 정도 있었는데,

  • Rocky Linux : CentOS 대체로 만들어진 RHEL 포크.
  • Clear Linux* : Intel에서 만든 x86 아키텍처 최적화 배포판. 유의미한 성능향상이 있다고 합니다.
  • Arch Linux : 미니멀한 롤링 릴리스 배포판. 노트북에서도 사용하고 있습니다. (Mint -> Fedora...