본문 바로가기

TIL/자료구조 & 알고리즘

자료구조의 유형

자료구조의 유형

 

 

텍스트 자료의 표현

 ASCII
ㆍ가장 일반적으로 사용되는 문자 인코딩 중 하나는 ASCII 이다.
ㆍ ASCII는 7비트로 구성되며, 가각의 비트 조합은 128개의 고유한 문자를 나타낸다.
ㆍ ASCII 코드는 영어 알파벳, 숫자, 특수 문자 등을 포함.
    예를 들어, 대문자 'A'는 ASCII 코드에서 65에 해당하는 값으로 표현되며, 이진수로는 01000001이다.
ㆍASCII는 각 문자를 7비트로 표현하므도 총 128개의 문자를 표현할 수 있다.

* ASCII로 표현할 수 있는 문자들 외에 추가적인 문자를 지원해야 할 필요성이 있어 기존 7비트에 1비트를 추가하여 8비트를 사용한 코드가 정의되었는데 이런 코드를 확장(extended) ASCII라 한다.
확장 ASCII는 기존 ASCII 코드의 가장 왼쪽에 0을 추가하여 8비트 즉, 256개의 문자를 표현할 수 있다.


유니코드 & UTF-8
ㆍ유니코드 : 글자와 코드가 1:1 매핑되어 있는 '코드표'이다.
ㆍUTF-8 : 유니코드를 인코딩하는 방식

정리하자면 유니코드라는 문자 집합을 UTF라는 문자열 인코딩 규칙으로 문자를 코드로 표현하는 것
즉, UTF는 유니코드가 매핑해놓은 표를 보면서 (텍스트 <-> 기계어)로 변경 해주고 이런 변경 과정을 인코딩(encoding)이라 한다.

 

 

숫자 자료의 표현

컴퓨터는 숫자를 표현하기 위해 비트의 조합을 사용한다. 비트는 컴퓨터의 메모리나 레지스터와 같은 장치에 저장됨.

부호 없는 정수
ㆍ이진수를 사용하여 양수만을 표현함
ㆍ각 비트는 0 또는 1의 값을 나타내며, 숫자의 크기를 나타내기 위해 자릿수가 높아질수록 2의 거듭제곱으로 증가
ㆍ예를 들어, 8비트로 표현된 부호 없는 정수 42는 이진수로 00101010 으로 표현

부호 있는 정수
ㆍ부호 있는 정수는 양수와 음수를 모두 표현할 수 있다
ㆍ일반적으로 2의 보수(two's complement) 표현 방식을 사용함
ㆍ양수는 부호 비트가 0으로 표현되고, 음수는 부호 비트가 1로 표현됨
ㆍ예를 들어, 8비트로 표현된 부호 있는 정수 -42는 이진수로 11010110 으로 표현

실수
ㆍ실수는 소수점을 가지는 숫자를 표현함
ㆍ일반적으로 부동 소수점 표현 방식을 사용함. (가수와 지수를 이용하여 실수를 표현하는 방법)
ㆍ부동 소수점은 정밀도와 범위를 조절할 수 있으며, 대부분 IEEE 754 표준을 따른다.

컴퓨터는 비트로 숫자를 저장하고 처리하기 때문에 숫자의 크기, 정밀도, 부호 등을 조절하여 다양한 숫자 자료를 표현할 수 있다. 숫자를 이진수로 변환하고 이진수를 다시 숫자로 변환하여 컴퓨터에서 숫자를 표현하고 계산함.

 

 

 

선형/비선형 자료구조

 

선형 자료구조

ㆍ데이터가 저장 순서대로 저장되는 자료 구조
ㆍ가장 대표적인 선형 자료 구조로는 배열, 연결 리스트, 스택, 큐가 있다.

배열(Array) : 데이터를 연속적인 메모리 공간에 저장하는 자료 구조

연결 리스트(Linked-list) : 데이터가 노드로 연결된 형태로 저장되는 자료 구조

스택(Stack) : 데이터를 마지막에 삽입하고 마지막에 삭제하는 자료 구조

큐(Queue) : 데이터를 첫 번째에 삽입하고 첫 번째에 삭제하는 자료 구조

 

 

비선형 자료구조

ㆍ데이터가 저장 순서가아닌 규칙에 따라 저장되는 자료 구조
ㆍ가장 대표적인 비선형 자료 구조로는 트리, 그래프, 해시테이블이 있다.

트리(Tree) : 데이터가 계층적으로 저장되는 자료 구조
그래프(Graph) : 데이터가 노드와 엣지로 연결된 형태로 저장되는 자료 구조
해시테이블(Hash Table) : 데이터가 키(key)와 값(value)로 저장되는 자료구조