•
자료구조의 분류
◦
선형구조
▪
배열 (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
복사