![[자료구조] Red-Black Tree](http://i1.daumcdn.net/thumb/C120x120/?fname=https://blog.kakaocdn.net/dn/oUDTi/btsNyCxlpSq/JMmaZgfbyhkZl0UT2G429k/img.png)
[자료구조] Red-Black Tree
Red-Black Tree정의Self-balanced Binary Search Tree의 종류로 모든 노드가 빨간색과 검정색으로 표현 된다.노드에 대한 정의G : 조상 노드P : 부모 노드U : 삼촌 노드 (부모 노드의 형제)N : 새로 삽입한 노드 (자식)균형 유지의 조건모든 노드는 빨간색 또는 검은색이어야 한다루트 노드는 검은색이다모든 NIL은 검은색이다 (NIL: Null Leaf, 자료를 갖지 않고 트리의 끝을 나타내는 리프 노드)NIL 노드는 값이 있는 노드와 동등하게 취급한다빨간색 노드의 자식은 반드시 검은색이다임의의 노드에서 자손 NIL 노드까지 가는 경로의 black 수는 같다 (단, 자기 자신은 카운트 제외)노드 x의 Black height : x에서 임의의 자손 nil노드까지 내려가는 ..
- IT 성장기 (교육이수)/크래프톤정글 (2025.03-07)
- · 2025. 4. 24.
![[CS] C : Malloc과 동적 메모리](http://i1.daumcdn.net/thumb/C120x120/?fname=https://blog.kakaocdn.net/dn/dvby1l/btsNutGEzLn/HtpOAzzkkvbDUUuuOi7hYk/img.png)
[CS] C : Malloc과 동적 메모리
메모리 구조프로그램이 실행되기 위해서는 먼저 프로그램이 메모리에 로드(Load)되어야 한다.또한 프로그램이 사용하는 변수들을 저장할 메모리도 필요하다. 따라서 운영체제는 프로그램의 실행을 위해 다양한 메모리 공간을 제공한다.코드 영역메모리의 코드 영역은 실행할 프로그램의 코드, 상수, 리터럴 등이 저장되는 영역이다텍스트 영역이라고도 부른다.CPU는 코드 영역에 저장된 명령어를 하나씩 가져가서 처리한다읽기 전용으로, 코드가 메모리에 로드되는 시점에 할당된다데이터 영역프로그램의 전역 변수와 정적(static) 변수가 저장되는 영역이다프로그램의 시작과 함께 할당되고, 프로그램이 종료되면 소멸된다힙 영역메모리의 힙 영역은 사용자가 직접 관리할 수 있는 그리고 관리해야만 하는 메모리 영역이다사용자에 의해 동적으로..
- IT 성장기 (교육이수)/크래프톤정글 (2025.03-07)
- · 2025. 4. 21.
![[CS] 가상화](http://i1.daumcdn.net/thumb/C120x120/?fname=https://blog.kakaocdn.net/dn/rPP4o/btsNpsWe2FS/RHnhULB4Khj9MRKPO2yz21/img.png)
[CS] 가상화
가상화✔️ 가상화란 ?하나의 컴퓨터 자원을 여러개 처럼 나눠서 사용하는 기술가상화의 유형 : 무엇을 가상화 하는가?종류설명예시CPU 가상화가상 머신에 가상 CPU를 제공하여 물리 CPU를 효율적으로 나눠 사용하이퍼바이저 (VMware ESXi, KVM)메모리 가상화VM마다 독립된 메모리 공간을 제공, 메모리 자원 효율 관리메모리 페이징, NUMA, Ballooning스토리지 가상화물리적 저장장치를 가상으로 묶어 VM에 할당NAS, SAN, vSAN네트워크 가상화가상 NIC, 가상 스위치 등을 통해 네트워크를 가상화SDN, VLAN, 가상 스위치 (vSwitch)물리 서버 vs 가상 서버물리 서버의 한계하나의 물리 서버에는 보통 하나의 OS와 애플리케이션이 설치된다서버를 더 활용하고 싶어도, OS 충돌 위..
- IT 성장기 (교육이수)/크래프톤정글 (2025.03-07)
- · 2025. 4. 17.
![[알고리즘] 위상정렬](http://i1.daumcdn.net/thumb/C120x120/?fname=https://blog.kakaocdn.net/dn/c7OHjf/btsM69B2AiV/PujkRCBtoRkqwqxclm5E2k/img.png)
[알고리즘] 위상정렬
위상 정렬방향 그래프의 정점들을 "선후 관계(의존 관계)"에 따라 나열하는 정렬 방법이다.단, 위상 정렬은 비순환 방향 그래프(DAG : Directed Acyclic Graph)에서만 가능하다 만약 순환이 있다면, 어떤 노드도 “처리 순서를 앞에 둘 수 없기 때문에” 선형 정렬 자체가 불가하다.(진입 차수가 0이 될수 없는 구간이 존재하고, 그러면 각 정점은 우선순위가 없으며 위상 정렬을 통해 탐색 순서를 정의할 수 없다) 위상 정렬 예시 : 라면 끓이기DFS 기반 위상 정렬깊이 먼저 따라가서, 끝에서 역순으로 쌓는다사리 부수기 → 사리 넣기 → 물넣기스프넣기 → 물넣기끓이기 → 물넣기밥 준비하기 (독립)✔️ 결과 예시 (역후위 순회) :밥 준비하기 → 사리 넣기 → 사리 부수기 → 스프 넣기 → 끓이..
- IT 성장기 (교육이수)/크래프톤정글 (2025.03-07)
- · 2025. 4. 3.
![[알고리즘] 트리 구조](http://i1.daumcdn.net/thumb/C120x120/?fname=https://blog.kakaocdn.net/dn/pVU99/btsM7ceg4kR/YXNfRLnia0QpARax8lIunk/img.png)
[알고리즘] 트리 구조
트리 구조루트 : 트리의 가장 위쪽에 있는 노드. 루트는 트리에 1개만 존재리프 : 가장 아래쪽에 있는 노드. aka 단말 노드 (terminal node), 외부 노드 (external node). 가지를 더 이상 뻗을 수 없다비단말 노드 (non-terminal node) : 리프를 제외한 노드. aka 내부 노드자식 : 어떤 노드와 가지가 연결되었을 때 아래쪽 노드를 자식이라 한다.부모 : 어떤 노드와 가지가 연결되었을 때 위쪽 노드를 부모라 한다형제 : 부모가 같은 노드를 형제라 한다조상 : 어떤 노드에서 위쪽으로 가지를 따라가면 만나는 모든 노드를 조상이라 한다자손 : 어떤 노드에서 아래쪽으로 가지를 따라가면 만나는 모든 노드를 자손이라 한다레벨 : 루트에서 얼마나 멀리 떨어져 있는지. 루트의 ..
- IT 성장기 (교육이수)/크래프톤정글 (2025.03-07)
- · 2025. 4. 3.
![[크래프톤정글] 정글에서의 생활](http://i1.daumcdn.net/thumb/C120x120/?fname=https://blog.kakaocdn.net/dn/xbeRb/btsMTdyvko7/acQ9ykV09YIJbOvkwfk4hk/img.jpg)
[크래프톤정글] 정글에서의 생활
정글에 입소하기 전에 가장 걱정했던 부분 중 하나는 기숙사의 환경과 밥을 어떻게 해야하는지였다. 추후 정글을 지원하려는 분들을 위한 기록용으로 간단하게만 소개한다.기숙사 입소입소 당일에 짐이 너무 많아서 택시를 타고 왔다. 다행히 집이랑 그리 멀지 않기도 하고, 늦게 출발하니 막히는 시간에서 벗어나서 거의 하이패스로 도착할 수 있었고 택시비도 예상보다 훨씬 덜나왔다. (네이버 지도보다 약 1만원 정도 덜나와서 기분 좋았다) 그리고 기사님이 짐 많은 중생을 많이 도와주셔서 덕분에 잘 도착할 수 있었다.기숙사는 안내되는 바와 같이 2인 1실이다. 지금은 짐이 다 차있어서 그나마 입소하자 마자 찍어둔 사진으로나마 공유한다.참조로 기숙사에는 책상이 없다. 공부는 무조건 강의실에 와서 하거나 캠퍼스 곳곳에 놓여있..
- IT 성장기 (교육이수)/크래프톤정글 (2025.03-07)
- · 2025. 3. 23.