![[자료구조] 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.