본문 바로가기

TIL(Today I Learned)

TIL-230928(자료구조 & 알고리즘 1주차)

📝오늘 공부한 것

  • 프로그래머스 문제풀기
  • 스파르타코딩클럽 자료구조 & 알고리즘 강의 듣기

 

알게 된 점

자료구조는 컴퓨터 과학의 핵심 개념으로 데이터를 저장하고 관리하는 방법

배열, 리스트, 벡터, 큐, 스택, 해시 등이 있다.

 

[ 텍스트 자료의 표현 ]

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의 값을 가질 수 있으며, 여러 비트를 조합하여 숫자를 나타낸다. 비트는 컴퓨터의 메모리나 레지스터와 같은 장치에 저장된다.

컴퓨터에서 숫자를 표현하는 방식에는 여러 가지가 있는데, 가장 일반적인 방식은 부호 없는 정수, 부호 있는 정수, 실수를 표현하는 것이다.

  1. 부호 없는 정수:
    • 이진수를 사용하여 양수만을 표현
    • 각 비트는 0 또는 1의 값을 나타내며, 숫자의 크기를 나타내기 위해 자릿수가 높아질수록 2의 거듭제곱으로 증가
    • 예를 들어, 8비트로 표현된 부호 없는 정수에서 숫자 42는 이진수로 00101010로 표현
  2. 부호 있는 정수:
    • 부호 있는 정수는 양수와 음수를 모두 표현 가능
    • 일반적으로 2의 보수 (two's complement) 표현 방식을 사용
    • 양수는 부호 비트가 0으로 표현되고, 음수는 부호 비트가 1로 표현
    • 예를 들어, 8비트로 표현된 부호 있는 정수에서 숫자 -42는 이진수로 11010110로 표현
  3. 실수:
    • 실수는 소수점을 가지는 숫자를 표현
    • 일반적으로 부동 소수점 표현 방식을 사용. 이는 가수와 지수를 이용하여 실수를 표현하는 방법
    • 부동 소수점은 정밀도와 범위를 조절할 수 있으며, 대부분 IEEE 754 표준을 따름

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

 

[ 선형/비선형 자료구조]

선형 자료구조

  • 데이터가 저장 순서대로 저장되는 자료 구조이다.
  • 가장 대표적인 선형 자료 구조로는 배열, 연결 리스트, 스택, 큐가 있다.
    • 배열은 데이터를 연속적인 메모리 공간에 저장하는 자료 구조
    • 연결 리스트는 데이터가 노드로 연결된 형태로 저장되는 자료 구조
    • 스택은 데이터를 마지막에 삽입하고 마지막에 삭제하는 자료 구조
    • 큐는 데이터를 첫 번째에 삽입하고 첫 번째에 삭제하는 자료 구조

비선형 자료구조

  • 데이터가 저장 순서가아닌 규칙에 따라 저장되는 자료 구조이다.
  • 가장 대표적인 비선형 자료 구조로는 트리, 그래프가 있다.
    • 트리는 데이터가 계층적으로 저장되는 자료 구조
    • 그래프는 데이터가 노드와 엣지로 연결된 형태로 저장되는 자료 구조