본문으로 이동
알고리즘·자료구조
-
알고리즘·자료구조
트리(Tree)
위 그림을 보니, 무언가 나무처럼 쭉 뻗어 나오는 것 같지 않나요? 여기에선 위로 뻗어나가는 모양이 아니라, 아래로 뻗어가는 모양이지만요. 여기서는 A가 뿌리, 즉 루트 노드입니다. 그리고 B, D…
-
알고리즘·자료구조
스택(Stack)
오늘 알아보게 될 스택(Stack)이란 자료구조는 선입 후출(First In, Last Out: FILO), 후입 선출(Last In, First Out: LIFO)의 구조를 가지고 있습니다. 예를…
-
알고리즘·자료구조
링크드 큐(Linked Queue)
위의 그림을 보시면, 전단에 있는 노드를 제거했을 때 단순히 전단의 위치를 다음 노드로 넘기면 됩니다. 그러곤 그게 끝입니다. 삽입도 이와 비슷합니다. 후단의 nextNode에 새로 추가되는 노드의…
-
알고리즘·자료구조
링크드 리스트(Linked List)
가장 먼저 링크드 리스트(Linked List)란 녀석에 대해 설명을 하도록 하겠습니다. 이 링크드 리스트(Linked List)는 노드(Node)라는 요소로 구성되어 있습니다. 즉, 노드를 연결하…
-
알고리즘·자료구조
힙(Heap)
오늘은 ‘힙(Heap)’이란 자료구조에 대해서 알아보려고 합니다. 이 힙(Heap)이란 자료구조는 위키백과에 따르면 ‘특별한 트리를 기본으로 하는 자료구조이다.’라고 설명되어 있습니다. 여기서 특별…
-
알고리즘·자료구조
더블 링크드 리스트(Doubly Linked List)
위의 그림에서 노드를 보시면 이전 노드를 가리키는 포인터(PrevLink)와, 데이터(Data), 그리고 다음 노드를 가리키는 포인터(NextLink)로 구성되어 있습니다. (이미 다 아시겠지만,…
-
알고리즘·자료구조
순환 큐(Circular Queue)
우리가 리스트(List)에서는 가장 앞에 있는 노드를 헤드(Head), 가장 뒤에 있는 노드를 테일(Tail)이라고 했었죠? 이번에 배우게 될 큐(Queue)에서는 가장 앞에 있는 요소를 전단(Fr…
-
알고리즘·자료구조
환형 링크드 리스트(Circular Linked List)
위의 그림을 보면 알 수 있듯이, 원형 단순 연결 리스트는 단순 연결 리스트에서 머리와 꼬리를 연결했다는 것을 알 수 있습니다. 여기에서는 꼬리란 개념이 사라집니다. 원형 단순 연결 리스트에서의 노…
-
알고리즘·자료구조
정렬 알고리즘(sorting algorithm)
버블 정렬은 자신과 인접한 데이터와 비교하여 정렬하는 방식입니다. 위의 예를 보시면 첫번째로 84와 69를 비교하여 84가 더 큰걸 확인하고 위치를 바꾸었습니다. 또다시 84와 76을 비교하여 84…
-
알고리즘·자료구조
순차 탐색(Sequential Search)
이 강좌에서 알게될 ‘순차 탐색(Sequential Search)’는 바로 데이터가 모인 데이터 배열이 있으면 이 데이터 배열의 처음부터 끝까지 차례대로 비교하여 원하는 데이터를 찾아내는 알고리즘입…
-
알고리즘·자료구조
탐욕 알고리즘(Greedy Algorithm)
오늘 알아볼 알고리즘은 ‘탐욕 알고리즘(Greedy Algorithm)’ 입니다. 알고리즘의 이름 그대로, 상당히 욕심이 많은 알고리즘 입니다. 탐욕 알고리즘이 어떤 알고리즘이냐면, 매 순간마다 최…
-
알고리즘·자료구조
깊이 우선 탐색(DFS, Depth First Search)
그래프에선 어떻게 이동할까요? 자, 우선 그래프를 보도록 합시다.
-
알고리즘·자료구조
이진 탐색 트리(Binary Search Tree)
이번에는 이진 탐색(Binary Search)이 적용된 이진 트리(Binary Tree)에 대해서 알아볼 것입니다. 이진 트리(Binary Tree)에 대해 더 상세한 설명을 보고싶으시면 아래 링크…
-
알고리즘·자료구조
이진 탐색(Binary Search): 2021년 코드를 다시 돌려 보니
정렬된 배열을 반씩 줄여 가며 찾는 이진 탐색. 2021년 예제를 지금 컴파일하니 에러가 났고, 비교 횟수 설명도 1회씩 틀렸다. 실측으로 고친 보강판.
-
알고리즘·자료구조
너비 우선 탐색(BFS, Breadth First Search)
통하여 재귀 호출을 이용한 반면에, 너비 우선 탐색은 방문한 정점의 위치를 기억하기 위해 큐를 이용합니다. 너비 우선 탐색은 예를 들면, 위에서 말한대로와 같이 깊이를 더해가며 방문을 하며 찾으려는…
↑