CS 필기 노트(39)
-
부동 소수점 표현
고정 소수점 자료형 정수부와 실수부로 비트를 나누어 표현하며, 실수 부분을 정수 형태처럼 표현할 수 있다는 장점이 있습니다. 하지만 일부 비트를 실수부로 써야 하기 때문에 표현할 수 있는 범위가 적어진다는 단점이 있습니다. 부동 소수점 자료형 위와 같이 표현범위가 적은 단점을 보완하기 위해 만들어진 표현 방식으로, 지수부, 가수부로 나누어 표현합니다. 가수부에 12345를 저장하고, 지수부에 10^-3이라는 값을 저장하면 12.345라는 값을 도출시키는 방법입니다. 표현 비트가 늘어나면서 더 많은 소수점을 기록 할 수 있다는 장점이 있습니다.
2020.10.09 -
조합 논리 회로와 플립플롭
반가산기 1비트 2진수 2개를 덧셈한 합과 자리 올림수를 구하는 논리회로로 1개의 XOR, AND로 구성된다. 전가산기 뒷자리에서 올라온 자리올림수를 포함하여 1비트짜리 2진수 3자리를 더하여 합과 자리올림수를 구한다. 2개의 반가산기와 1개의 or게이트로 구성된다. 디코더 n개의 입력 회선이 있을때, 2^n개의 출력선 중 하나로 출력하는 회로로, and게이트로 구성된다. 인코더 디코더와 반대로 2^n개의 입력이 있을때 n개의 출력선중 하나로 출력하며, or 게이트로 구성된다. 멀티플렉서 2^n개의 입력 신호 중에서 n개의 선택선 중에서 하나의 입력 신호를 선택하여 단일 출력선으로 전송한다. 디멀티플렉서 하나의 입력선으로 입력 신호 n개의 선에 의해 2^n 출력선 중 하나를 선택하여 출력한다. 플립플롭 ..
2020.10.09 -
해싱과 해싱 함수
해싱이란 다른 레코드 참조 없이 특정 키 변환에 의하여 원하는 레코드에 접근할 수 있도록 구성하는 것을 의미한다. 해싱의 특징 1. 기억장소의 낭비가 심하기 때문에 많은 기억 공간을 요구한다. 2. 검색 방법 중에서 속도가 가장 빠르다 3. 계산에 의해 산출하므로 주소 산출에 시간이 오래 걸린다. 직접 접근 방식 (Direct Access Method) 해싱 방법에 의해서 만들어지는 파일을 직접 파일(Direct File)이라고 한다. 레코드를 식별하기 위한 키 값과 레코드 주소 사이 관계를 예측한다. 해시 테이블 레코드를 1개 이상 보관할 수 있는 기억 공간으로 보조 기억장치나 주기억 장치에 구성할 수 있다. 키 값을 가지면 해시 함수들을 통해 버켓의 실제 주소를 얻을 수 있고, 이를 통해 키만을 가지..
2020.10.09 -
비선형 자료구조 - 그래프
N 대 M 대응 구조로 노드와 선분으로 구성되어있다. 트리와 다른점은 서로 사이클이 형성되는 경우를 그래프라고 표현한다. 주로 최단 거리 탐색, 전자 회로 분석, 통계학과 같은 분야에서 사용된다. 비방향 그래프(Undirected Graph)와 방향 그래프(Directed Graph) 정점과 간선의 연결관계에 있어서 방향성이 없는 그래프를 Undirected Graph 라 하고, 간선에 방향성이 포함되어 있는 그래프를 Directed Graph 라고 한다. 그래프 탐색 너비 우선 탐색 (BFS) : 시작점에서 시작하여, 연결된 정점 끝까지 내려간다. 끝나는 지점을 만나게 되면 다시 되돌아와 그 옆부터 끝까지 검색한다. 밑 까지 검색하다 다시 되돌아가야 하니 stack과 같은 자료구조를 사용하면 된다. 깊..
2020.10.08 -
비선형 자료구조 - 트리
트리는 1대 N 또는 1대 1 대응 구조로 노드와 선분으로 구성되어 있다. 또한 노드 사이 연결관계가 계급적인 구조로 뻗어나간 정점들이 다른 정점들과 연결되지 않는다. 트리의 구성요소 노드 - 기본 구성요소인 각 점들 근 노드 - 가장 상위에 위치한 노드 레벨 - 근노드를 기준으로 특정 노드까지의 경로 길이를 말함 깊이 - 트리의 최대 레벨 차수 - 특정 노드 밑에 자식 노드의 개수를 말한다. 이진 트리 모든 노드의 차수가 2 이하인 트리로 구성되어 있으며, 트리의 전체 노드 수는 최대 $2^(k+1)$이다. 포화 이진 트리 모든 노드의 레벨이 같으며 2개의 자식을 가진다. 이진 트리로서 가장 많은 노드를 가진 트리이기도 하다. 완전 이진 트리 완전 이진트리는 포화 이진트리에서 오른쪽으로 하나씩 제거하여..
2020.10.08 -
배열과 연결리스트 Array, Linked List
배열 가장 간단한 구조로, 각 요소들은 인덱스 값을 같이 표현한다. 배열을 이루는 각 자료들을 배열 요소라 하고, 배열된 순서대로 위치를 저장한다. 기록 밀도가 1이지만 삽입가 삭제가 어렵고 종속적인 것이 단점이다. 찾고자 하는 인덱스를 찾기 위해서는 인덱스 번호만 알면 되기에 바로 찾을 수 있지만, 데이터를 삭제하거나 삽입 할땐 그 뒤의 요소들이 모두 시프트 되기 때문에 오래걸린다. 연결 리스트 자료를 구성할 때 포인터를 포함해서 자료를 구성하는 형태로 포인터를 이용하여 다음 자료를 찾는다. 노드의 삽입과 삭제를 할때 변경하고 포인터 위치만 바꾸어 주기 때문에 속도가 빠르지만, 정보를 검색할때 포인터를 여러번 타고 들어가야 하기 때문에 느려진다. 단일 연결 리스트 단일 연결 리스트는 노드마다 1개의 링..
2020.10.07