반응형
자료구조
데이터를 정돈하여 저장한 구성체
데이터를 효과적으로 저장, 탐색, 삭제, 삽입 등 연산을 효율적으로 수행할 수 있는 구조
데이터를 이용한 연산을 효율적으로 수행할 수 있는 구조
위 세 가지가 강의에서 배운
자료구조의 의미이자 역할이자 소개이다.
쉽게 말해 자료들을 저장하는 방식인데
나중에 활용하기 쉽게 잘 정리해놓는다는 것이다.
기초적인 자료구조에는 다음과 같이 존재한다.
자료구조 종류 | 설명 |
integer | 일반적으로 32비트로 정수를 표현 하나의 비트는 부호를 표현하는데 사용하고, 나머지 비트에 값을 저장 따라서 표현 가능한 범위는 -(2^32) ~ 0 ~(2^32) - 1임 |
float | 부호비트, 소수부, 지수부를 나누어 저장함으로 실수를 표현함 복잡한 자료구조기 때문에 integer로 표현 가능하면 integer를 사용하는 것이 효율적임 |
character | 영문은 1비트로, 한글은 2비트로 문자를 표현 |
string | character를 배열로 저장함으로 문장을 표현 |
boolean | 0과 1로 표현 실질적으로 1비트만 필요하지만, 최소 저장 단위가 8비트이기 때문에 8비트를 모두 사용함 |
파이썬 자료구조의 특징
참고로 이 강의는 파이썬 언어로 진행되기 때문에
일반적인 언어의 자료구조와 다소 차이가 있다.
주요 차이점들에는 다음과 같이 존재한다.
차이나는 특징 | 설명 |
모든 것이 객체 | x = 100을 입력했을 때, x와 100이라는 값에 대한 동적 메모리가 생성된다. 이에 따라 x에는 100이라는 값이 있는 메모리의 주소가 할당된다. 100에 대한 주소가 생기는때문에 x = 100, y = 100을 입력했을 때, x와 y의 주소가 같게 되어 id(x) = id(y)가 참이 되는 일이 발생하기도 한다. |
Overflow가 없음 | 일반적으로 파이썬의 정수는 32비트에 저장되지만, 그 범위를 넘었을 경우 자동으로 확장한다. |
list가 동적배열개념 | list 속 요소에 주소를 저장하기 때문에 저장될 요소의 자료형 및 저장공간을 미리 선언하지 않아도 된다. 이에 따라 [1, 'a', 1.85]와 같은 다양한 자료형이 하나의 list로 묶이는 것이 가능하다. |
반응형
'대학교 공부 > 자료구조론 (2023)' 카테고리의 다른 글
2주차 - 연결 리스트 (Linked List) (2) | 2023.03.14 |
---|