자료구조와 알고리즘/알고리즘(학부과정)

1. STL

얄루몬 2021. 9. 2. 20:38

<목차>

0. STL 이란?

1. Vector

2. List

3 Stack/Queue

4. Set

5. Map

6. Example: DFS(Depth first search)/깊이 우선 탐색

7. Python code

 

0.1 STL이란?

STL은 표준 템플릿 라이브러리(STL: Standard Template Library)는 C++을 위한 라이브러리로서 C++ 표준 라이브러리의 많은 부분에 영향을 끼쳤다.

0.2 STL 구성요소

이것은 알고리즘(연산), 컨테이너, 그리고 반복자라고 불리는 세 가지의 구성 요소를 제공한다.

📌출처: https://ko.wikipedia.org/wiki/%ED%91%9C%EC%A4%80_%ED%85%9C%ED%94%8C%EB%A6%BF_%EB%9D%BC%EC%9D%B4%EB%B8%8C%EB%9F%AC%EB%A6%AC

 

즉, 쉽게 말해서 STL은 C와 C++에 좀 더 쉽게 알고리즘 구현을 위해서 라이브러리를 제공하는 것이라고 생각하면 된다. 

 

graph.txt
0.00MB

#DFS구현
graph = {}
f = open ('graph.txt', 'r')
aline = f.readline()
#n = 버택스의 수 / m = 엣지의 수
n, m = map(int,(aline.split()))


#그래프에 vertex를 저장. 
for i in range(n):
    graph[i+1] = []

for i in range(m): #그래프에 엣지 저장
    aline = f.readline()
    n1, n2 = map(int,aline.split(' '))
    print(n1,n2)

    graph[n1].append(n2)
    graph[n2].append(n1)

for i in range(n):
    graph[i+1].sort() #정렬

print(graph)