📝오늘 공부한 것
- 프로그래머스 문제풀기
- 스파르타코딩클럽 자료구조 & 알고리즘 강의 듣기
알게 된 점❗
자료구조는 컴퓨터 과학의 핵심 개념으로 데이터를 저장하고 관리하는 방법
배열, 리스트, 벡터, 큐, 스택, 해시 등이 있다.
[ 텍스트 자료의 표현 ]
ASCII (American Standard Code for Information Interchange)
- 가장 일반적으로 사용되는 문자 인코딩 중 하나
- ASCII는 7비트로 구성되며, 각각의 비트 조합은 128개의 고유한 문자를 나타낸다.
- ASCII 코드는 영어 알파벳, 숫자, 특수 문자 등을 포함한다. 예를 들어, 대문자 'A'는 ASCII 코드에서 65에 해당하는 값으로 표현되며, 이진수로는 01000001이다.
- ASCII는 각 문자를 7비트로 표현하므로 총 128(= 27)개의 문자를 표현할 수 있다.
유니코드 와 UTF-8
- 유니코드에 먼저 등록된 영어와 숫자같은 문자는 1byte , 그뒤에 등록된 문자는 4byte와 같이 차별적 혹은 가변적으로 할당하는 방법을 택했다.
- 유니코드별 Byte 할당
[ 숫자 자료의 표현 ]
컴퓨터에서 숫자를 표현하기 위해 비트의 조합을 사용한다. 각 비트는 0 또는 1의 값을 가질 수 있으며, 여러 비트를 조합하여 숫자를 나타낸다. 비트는 컴퓨터의 메모리나 레지스터와 같은 장치에 저장된다.
컴퓨터에서 숫자를 표현하는 방식에는 여러 가지가 있는데, 가장 일반적인 방식은 부호 없는 정수, 부호 있는 정수, 실수를 표현하는 것이다.
- 부호 없는 정수:
- 이진수를 사용하여 양수만을 표현
- 각 비트는 0 또는 1의 값을 나타내며, 숫자의 크기를 나타내기 위해 자릿수가 높아질수록 2의 거듭제곱으로 증가
- 예를 들어, 8비트로 표현된 부호 없는 정수에서 숫자 42는 이진수로 00101010로 표현
- 부호 있는 정수:
- 부호 있는 정수는 양수와 음수를 모두 표현 가능
- 일반적으로 2의 보수 (two's complement) 표현 방식을 사용
- 양수는 부호 비트가 0으로 표현되고, 음수는 부호 비트가 1로 표현
- 예를 들어, 8비트로 표현된 부호 있는 정수에서 숫자 -42는 이진수로 11010110로 표현
- 실수:
- 실수는 소수점을 가지는 숫자를 표현
- 일반적으로 부동 소수점 표현 방식을 사용. 이는 가수와 지수를 이용하여 실수를 표현하는 방법
- 부동 소수점은 정밀도와 범위를 조절할 수 있으며, 대부분 IEEE 754 표준을 따름
컴퓨터는 비트로 숫자를 저장하고 처리하기 때문에 숫자의 크기, 정밀도, 부호 등을 조절하여 다양한 숫자 자료를 표현할 수 있다. 숫자를 이진수로 변환하고 이진수를 다시 숫자로 변환하여 컴퓨터에서 숫자를 표현하고 계산한다.
[ 선형/비선형 자료구조]
선형 자료구조
- 데이터가 저장 순서대로 저장되는 자료 구조이다.
- 가장 대표적인 선형 자료 구조로는 배열, 연결 리스트, 스택, 큐가 있다.
- 배열은 데이터를 연속적인 메모리 공간에 저장하는 자료 구조
- 연결 리스트는 데이터가 노드로 연결된 형태로 저장되는 자료 구조
- 스택은 데이터를 마지막에 삽입하고 마지막에 삭제하는 자료 구조
- 큐는 데이터를 첫 번째에 삽입하고 첫 번째에 삭제하는 자료 구조
비선형 자료구조
- 데이터가 저장 순서가아닌 규칙에 따라 저장되는 자료 구조이다.
- 가장 대표적인 비선형 자료 구조로는 트리, 그래프가 있다.
- 트리는 데이터가 계층적으로 저장되는 자료 구조
- 그래프는 데이터가 노드와 엣지로 연결된 형태로 저장되는 자료 구조
'TIL(Today I Learned)' 카테고리의 다른 글
TIL-230930(자료구조 & 알고리즘 1주차) (0) | 2023.09.30 |
---|---|
TIL-230929(자료구조 & 알고리즘 1주차) (0) | 2023.09.29 |
TIL-230927(자바의정석 Chapter10 '날짜와 시간 & 형식화') (0) | 2023.09.27 |
TIL-230926(자바의정석 Chapter09 'java.lang패키지와 유용한 클래스') (0) | 2023.09.26 |
TIL-230925('행동대장' 코드리팩토링 - 회원관리 페이지) (1) | 2023.09.25 |