TIL

TIL

[자료구조] 기본적인 그래프 개념

1. 그래프의 정의 그래프라 하면 일반적으로 '정점(노드)'와 '간선(엣지)'으로 이루어진 자료구조를 의미한다. 또한 간선의 방향 유무에 따라서 단방향 그래프와 무방향 그래프(양방향 그래프)로 나뉜다. 2. 그래프의 표현 그래프를 표현하는 방식은 크게 인접 행렬 그래프와 인접 리스트 그래프 2가지로 나눌 수 있다. 일반적으로는 인접행렬 방식을 많이 사용하며, 경우에 따라 인접리스트 방식을 사용한다. 2-1. 인접 행렬 그래프 - "모든 정보를 저장" - 장점 : 직관적이며 쉽게 구현 가능 - 단점 : 불필요한 정보의 저장이 많으며, 그래프의 크기가 커지면 메모리 초과가 발생할 수 있음 - 구현 : int 형의 2차원 배열을 주로 이용하며, 이동할 수 있으면 1, 없으면 0으로 표기함 2-2. 인접 리스트..

TIL

[자료구조] 스택(stack), 큐(queue), 덱(dequeue)

1. Stack 스택(Stack)은 컴퓨터의 가장 기본적인 자료구조 중 하나이다. 후입선출(Last in, First Out, LIFO)의 형태를 가지고 있는 자료구조로 가장 마지막에 입력된 데이터가 가장 먼저 제거되는 구조이다. insert()를 통해서 원하는 위치에 데이터를 넣을수도 있지만 보통 append()를 사용하여 마지막에 데이터를 추가한다. 그리고 꺼낼 때에는 pop()을 사용하여 마지막 데이터를 꺼낸다. 2. Queue 스택과 반대로 선입선출(First in, First Out) 형태의 자료구조가 큐이다. 큐에 데이터를 넣을 때는 스택과 마찬가지로 마지막에 데이터를 추가하지만, 데이터를 꺼낼 때에는 가장 앞에 있는 것을 먼저 꺼낸다. 3. Dequeue 파이썬에서는 덱(Deque)이라는 것..

semperparatus
'TIL' 카테고리의 글 목록