Backend
home
🐍

[Python] 자료구조

생성일
2024/06/27 00:52
태그
Algorithm
게시일
2025/01/22
최종 편집 일시
2025/04/15 04:34
자료구조의 분류
선형구조
배열 (array)
가장 일반적인 구조, 컴퓨터과학에서 사용되는 기본적인 용어
배열의 기능은 각각의 변수를 하나의 변수에 여러 개의 인덱스로 묶는 것
즉, 순서가 있어서 인덱싱 및 슬라이싱으로 처리 가능
파이썬에서는 배열을 리스트와 튜플로 구현하고 활용함
연결리스트 (Linked-list)
각 노드가 데이터와 포인터를 가져서 한줄로 연결된 방식으로 데이터를 저장하는 자료구조
파이썬의 리스트는 자료구조의 배열과 연결리스트의 특징을 모두 갖고 있다
스택 (stack)
LIFO(Last In First Out)자료구조, 마지막에 입력된 데이터를 먼저 출력함
큐 (queue)
FIFO(First In First Out)자료구조, 처음에 입력된 데이터를 먼저 출력함
덱 (deque)
front,rear 양쪽으로 삽입 및 삭제가 가능한 자료구조
비선형구조
트리 (tree)
부모 노드의 밑에 여러 자식 노드가 연결되어 있고, 자식 노드가 다시 부모 노드가 되어 각각의 자식 노드가 연결되어 있는 재귀적 형태의 자료구조
노드와 브랜치를 이용해서 사이클을 이루지 않도록 구성한 데이터 구조로 계층적인 구조를 표현할 때 사용
그래프 (graph)
노드와 노드를 연결하는 간선을 하나로 모아 놓은 자료구조
인덱싱(요소 불러오기), 슬라이싱(한꺼번에 불러오기) 가능
str1 = '안녕하세요' print(str1[0]) ''' '안' ''' print(str1[-1]) ''' '요' ''' # 0번째 자리부터 2-1번째 자리 앞까지 print(str1[0:2]) ''' '안녕' ''' # 0번째 자리부터 -1번째 자리 앞까지 print(str1[0:-1]) ''' '안녕하세' '''
Python
복사