자료구조 - 배열 (Array)

2022. 9. 9. 02:29·자료구조 알고리즘/자료구조

언어는 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
'자료구조 알고리즘/자료구조' 카테고리의 다른 글
  • 알고리즘의 복잡도 표현
  • 자료구조 - 링크드 리스트(Linked List)
  • 자료구조 - 스택(stack)
  • 자료구조 - 큐(Queue)
Dream Jin
Dream Jin
Coder가 아닌 Engineer 되기위해 시작하기
  • Dream Jin
    JJin 개발 Vlog (~23.01.02)
    Dream Jin
  • 전체
    오늘
    어제
    • 분류 전체보기 (49)
      • Daily (3)
      • 🖥️ development (21)
        • JAVA (9)
        • Java Script (11)
        • SQL (1)
      • Computer Science (0)
      • IT (8)
      • 자료구조 알고리즘 (16)
        • 알고리즘 (9)
        • 자료구조 (6)
      • Project (1)
  • 블로그 메뉴

    • 홈
    • github
    • instagram
    • 방명록
  • 인기 글

  • 최근 글

  • hELLO· Designed By정상우.
Dream Jin
자료구조 - 배열 (Array)
상단으로

티스토리툴바