언어는 python을 사용하였습니다.
1. 배열(Array)
- 데이터를 나열하고, 각 데이터 인덱스에 대응하도록 구성하는 데이터 구조
- 파이썬에서는 리스트(list)와 튜플(tuple)로 구현한다.
- 같은 종류의 데이터를 효율적으로 관리하고, 순차적으로 저장하기 위해 사용
- 또한 다른 언어의 경우 배열의 데이터 타입을 정해주어야 하지만, 파이썬의 경우 하나의 배열에 여러가지 데이터 타입이 올 수 있다.
특징
- (장점) 인덱스 번호로 데이터에 접근할수 있기 때문에 빠르다.
- (단점) 미리 길이를 설정해야 하므로 데이터의 추가/삭제가 어렵다.
but 파이썬에서는 길이를 미리 정할 필요가 없이 가변적 이다.
예시
# 1차원 배열: 리스트로 구현시
data_list = [1, 2, 3, 4, 5]
# 2차원 배열: 리스트로 구현시
data_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
리스트와 튜플의 차이
- 리스트는 []으로 둘러 싸이지만, 튜플은()로 둘러싸인다.
- 리스트와 튜플은 유사하지만, 튜플의 경우 수정이 불가능 하다.
슬라이스식으로 원소에 접근하기
리스트 또는 튜플의 원소 일부를 연속해서 또는 일정한 간격으로 꺼내 새로운 리스트 또는 튜플을 만드는 것을 슬라이스(slice)라고 한다.
패턴 설명 s[i:j] s[i] 부터 s[j-1] 까지 나열한다. s[:] 리스트 s의 원소를 모두 출력한다. s[:n] 리스트 s의 원소 중 맨 앞부터 n개까지 출력한다. s[i:] 리스트 s의 원소 중 s[i]부터 맨 끝까지 출력한다. s[::-1] 리스트 s의 원소 중 맨 끝부터 전부 출력한다. References
Do it! 점프 투 파이썬
Do it! 자료구조와 함께 배우는 알고리즘 입문 파이썬편
패스트 캠퍼스
'자료구조 알고리즘 > 자료구조' 카테고리의 다른 글
자료구조 - 해쉬 테이블(Hash Table) (1) | 2022.10.04 |
---|---|
알고리즘의 복잡도 표현 (0) | 2022.10.03 |
자료구조 - 링크드 리스트(Linked List) (0) | 2022.10.03 |
자료구조 - 스택(stack) (2) | 2022.09.11 |
자료구조 - 큐(Queue) (0) | 2022.09.09 |
댓글