Python Data Structure

박정기·2023년 1월 4일
0

네이버 부스트캠프 사전 첫 강의인 파이썬 자료구조 강의이다.
링크텍스트

코딩테스트를 준비하면서 써왔던 데이터 구조들을 가볍게 코드를 통해서 배울 수 있었다. OrderDict나, namedtuple은 처음 보는 자료구조였는데, 아주 특정한 케이스가 아니라면 바로 사용하기에는 유용해 보이지 않았다. 공부하면서 가장 효율적으로 쓰일 수 있는 데이터 구조는 deque였다. C에서 링크드 리스트를 공부했던 나는 reverse와 rotate를 쓸 수 있는게 얼마나 편한지 느꼈었다. 이것을 Python에서도 그대로 쓸 수 있다는 것에 놀랐고, 그리고 List보다 훨씬 속도가 빠르므로, 코테 볼때도 시간 초과가 난다면 List 대신에 deque를 쓰면 좋지 않을까? 라는 생각도 들었다.

파이썬 기본 데이터 구조

  • 스택, 큐
  • 튜플, 집합
  • 사전
  • Collection

스택

  • LIFO
  • Last In First Out
  • Push & Pop
  • List에서 append, pop으로 구현 가능

  • FIFO
  • First In First Out

튜플

  • immutable, 값 변경 불가
  • 휴먼 에러를 사전에 방지 가능

집합

  • 중복 불허
  • 집합연산 가능

사전

  • Key-Value 자료구조
  • Hash Table

vscode 익스텐션으로 Rainbow csv를 추천

Collections

  • List, Tuple, Dict에 대한 파이썬 빌트인 확장 자료구조 모듈
  • 편의성 제공

deque

  • Stack와 Queue를 지원
  • List에 비해 효율적인 자료구조 지원
  • rotate, reverse등 연결리스트 특성 지원

OrderedDict

  • 데이터를 입력한 순서대로 Dict 반환

defaultdict

  • Dict type의 값에 기본 값을 자동으로 지정
  • 신규 값 생성시 사용하는 방법

Counter

  • Sequence type의 데이터 요소들의 갯수를 dict로 변환
  • 한번에 리스트 안의 요소 갯수를 반환
  • Set 연산 지원

namedtuple

  • Tuple형태로 Data 구조체를 저장하는 방법
  • 저장되는 data variable을 사전에 지정해서 저장
  • 좌표 저장

0개의 댓글