반응형
자료구조의 개념
- 자료구조(data structure): 데이터의 특징을 고려하여 데이터를 저장하는 방법. 특징이 있는 정보를 메모리에 효율적으로 저장 및 반환하는 방법으로써, 데이터를 관리하는 방식.
- 예를 들어, 전화번호부를 만든다고 할 때 전화번호와 전화번호의 주인 이름을 묶어서 저장하는 것이 효율적입니다. 그리고 어떤 숫자의 나열을 순서대로 저장했다가 저장된 순서대로 불러와야 할 때도 있고, 혹은 저장한 순서의 반대로 불러와야 할 때도 있습니다. 이렇게 데이터를 어떤 방식으로 저장하고 처리하는 것이 적절한 것인지를 고려하여 적절한 자료구조를 선택해야 효과적인 프로그래밍이 가능합니다.
자료구조의 종류
자료구조의 종류만 먼저 간단히 살펴보면, 아래와 같습니다.
자료구조 | 특징 |
리스트(list) | 여러 개의 데이터를 한꺼번에 나열하여 저장할 수 있음. 변경 가능. 인덱스 존재 |
스택(stack) | Last In First Out(LIFO), 나중에 들어온 값이 먼저 나감 |
큐(queue) | First In First Out(FIFO), 먼저 들어온 값이 먼저 나감 |
튜플(tuple) | 리스트와 같지만 데이터의 변경 불가능 |
세트(set) | 데이터의 중복을 허용하지 않으며, 수학의 집합 연산을 지원함. 데이터의 인덱스가 없음 |
딕셔너리(dictionary) | 키(key)와 값(value) 형태의 데이터를 저장. '값'은 중복이 허용되지만 '키'값은 다른 키 값과 중복되지 않음 |
collections 모듈 | 위의 여러 자료구조들을 효율적으로 사용할 수 있게 지원하는 파이썬 내장 모듈 |
반응형
'Python' 카테고리의 다른 글
[Python] 자료구조 - 튜플(tuple) (0) | 2023.10.30 |
---|---|
[Python] 자료구조 - 스택(stack), 큐(queue) (0) | 2023.10.29 |
[Python] 2차원 리스트 (1) | 2023.10.22 |
[Python] 리스트 함축, 리스트 함축 형식, 리스트 함축 방법 (1) | 2023.10.17 |
[Python] 리스트 얕은 복사, 깊은 복사 차이 (1) | 2023.10.17 |