CS
CPU 구성 요소에 대하여
CPU CPU는 메모리에 저장된 명령어를 읽고 해석하고 실행하는 장치입니다. CPU 내부는 계산을 담당하는 ALU, 명령어를 읽고 해석하는 제어장치, 임시 저장 장치인 레지스터라는 요소로 구성되어있습니다. 각 구성요소에 대해 차근차근 살펴보도록 하겠습니다. ALU ALU는 계산을 하기 위한 부품입니다. 계산을 하기 이해서는 피연산자와 수행할 연산이 필요합니다. 1 + 3 을 예로 들면 1과 3같은 피연산자와 +와 같은 연산이 필요한 것이죠 ALU는 피연산자를 레지스터를 통해 받아들입니다. 또한 제어 장치로 부터 받아들인 제어 신호로 수행할 연산을 받습니다. ALU는 이렇게 받은 정보를 바탕으로 산술 및 논리 연산과 같이 다양한 연산을 수행합니다. ALU는 계산한 결과값을 곧바로 메모리에 저장하지 않습니다..
HashTable이란?
Hash table 정의 hash table은 배열과 해시함수를 사용하여 map을 구현한 자료구조입니다. 여기서 해시 함수란 무엇일까요? 해시 함수란 임의의 크기를 가지는 type의 데이터를 고정된 크기를 가지는 type의 데이터로변환되는 함수를 뜻합니다 다음과 같은 경우 'ABCED' 의 임의의 크기를 지닌 데이터를 해시 함수에 넣을 경우 정수 값인 350가 반환되는 것을알 수 있습니다. 이 떄 '350' 값을 hash라고 하고 이것이 HashTable에서의 함수가 됩니다. Hash table의 동작 방식 "ABCDE" 를 key로 "가나"를 value로 지니는 데이터를 HashTable에 넣는다고 가정해보겠습니다. 우선 key값을 해시 함수에 집어 넣어 특정 해시 값을 구합니다. 위와 같은 경우 35..
B-트리 (B-tree)란?
B-Tree B-트리란 트리 자료구조 중에 하나입니다. 여기서 B는 Balanced(균형)을 뜻합니다. 이 말의 즉슨, 트리의 형태가 균형을 이룬다는 것을 뜻합니다. 트리 자료구조의 효율성에 있어서 균형은 매우 중요합니다. 다음 그림을 보면 왼쪽은 트리가 균형적이지 않아 오른쪽 트리보다 탐색에 필요한 횟수가 더 많이 소요되는 것을 알 수 있습니다. B 트리의 경우 삽입과 삭제시 필요하면 스스로 균형을 유지합니다. 또한 하나의 노드에 여러 자료가 배치됩니다.만약 한 노드에 M개의 자료가 배치되면 이를 M차 B-Tree라고 부르게 됩니다. 여기서 중요한 점은 모든 노드가M개로 꽉차 있어야 되는 것을 의미하는건 아닙니다. 한노드에 포함된 최대 자료 갯수를 기준으로 산정합니다. 위와 같은 경우 한 노드에 D, ..