Algorithm Analysis와 빅오 표기법(Big-O Notation)에 대해 알아보겠습니다.
추상 자료형(Abstract Data Type, ADT)은 데이터와 그 데이터를 처리하는 연산을 함께 정의한 개념으로, 구현의 세부 사항은 숨기고 사용자가 필요로 하는 기능(연산)만을 명확히 기술한 것입니다.추상 자료형은 "무엇을 할 수 있는가"에만 초점을 맞추고 "어
1. 리스트가 뭐임? 리스트는 자료의 집합인데요, 각 자료(item)들이 순서(ordered)를 갖고 나열되어 있는 것입니다. 여기서 순서는 정렬되어 있다는 뜻은 아닙니다. 위 그림에서 2의 위치는 "1 다음"과 "3 이전"에 위치해 있는데, 이런 상대적인 위치이자
책상 위에 책이 쌓여 있습니다. 가장 밑에 있는 책이 가장 먼저 쌓였을 겁니다. 그리고 가장 위에 있는 책이 가장 최근에 쌓은 책이겠죠? 가장 밑에 있는 책을 꺼내려면 어떻게 해야 할까요? 물론 한꺼번에 책을 들어서 꺼낼 수 있겠지만;; 책이 매우 무거워서 한 권씩만
Queue 자료구조에 대해 정리했습니다.
1. What is Recursion? 리스트에 있는 수 다 더하기 두 수를 더하는 방법은 너무나 쉽습니다. 여러 개의 수를 더하는 것도 쉽죠. ${1,3,5,7,9}$라는 수열을 다 더하라고 하면, 우리는 그냥 다 더합니다. 더 말할 필요도 없죠. 그런데, 수학적으로
해싱에 대해 알아보았습니다.
bubble sort, selection sort, insertion sort, shell sort, merge sort에 대해 알아보겠습니다.
quick sort, heap sort, bin sort, radix sort에 대해 알아보겠습니다.
트리 자료구조에 대해 알아보겠습니다.
이진 탐색 트리(BST, Binary Search Tree) 1. 정의 이진 탐색 트리(BST, Binary Search Tree)는 bst property를 만족하는 트리 자료구조입니다. > bst property란? 왼쪽 서브트리(sub tree)의 키 값
위 그림처럼, key값이 오름차순 정렬된 순서로 BST를 구성해봅시다. 이 트리는 삽입, 삭제, 탐색이 $O(N)$의 시간복잡도를 가지게 됩니다. 어떻게 하면 이진 탐색 트리가 $O(logN)$의 시간복잡도를 보장하게 할 수 있을까요?아이디어는 간단합니다. 트리의 균형
Graph와 관련된 용어를 정리하고 그래프 탐색에 대해 알아보았습니다.
유니온 파인드 알고리즘과 두 가지 최적화 기법에 대해 알아보았습니다.
이분 탐색과 그 응용인 파라매트릭 서치에 대해 알아보았습니다.
다익스트라 알고리즘에 대해 알아보았습니다.
Segment Tree에 대해 알아보았습니다.
트라이(trie) 트라이(trie)란? 문자열의 집합을 표현하는 트리(Tree)임 정보 검색(Retrieval)에서 이름을 따옴 정보 검색에 사용된 자료구조로 1960년, E.Fredkin에 의해 소개됨 일반적인 자료구조인 Tree와 구분하기 위해 [trai]로 발음함 같은 접두사를 가진 문자열들은 노드를 공유해서 저장 리프 노드까지의 경로가 곧 단어임 단...