정글 1주차, 주어진 알고리즘 문제를 해결하다가 수 정렬하기 문제들을 마주하게 되었다. 다른 알고리즘 문제들과 달리 정렬에 대한 학습이 필요함을 느껴서 블로그에 정리해두려고 한다. 그럼 알고리즘의 꽃이라 할 수있는 정렬의 세계로 들어가보자! 키(key)를 항목값의 대
저번 포스트에 이어 단순 정렬의 비효율적인 시간 복잡도를 개선하기 위한 정렬 방법들을 정리해 보겠다. 셸 정렬퀵 정렬병합 정렬힙 정렬도널드 L.셸이 고안한 셸 정렬은 단순 삽입 정렬의 장점은 살리고, 단점은 보완하여 더 빠르게 정렬하는 알고리즘이다.장점 : 이미 정렬을
어느덧 정글 2주차가 되며 새로운 주제의 알고리즘 문제들을 맞이하게 되었다. 우선 이분 탐색(이진 검색)부터 포스팅을 해볼까 한다. 데이터 집합에서 원하는 값을 가진 원소를 찾아내는 알고리즘. 배열 검색, 연결 리스트 검색, 이진 검색 트리 검색 등 다양한 검색 알고리
이번 포스트에서는 기본 자료구조 중 하나인 스택과 큐에 대해 알아보자. 스택과 큐는 Delete 연산에 의해 집합에서 삭제되는 원소가 미리 결정되어 있는 동적 집합이다. 스택에서는 가장 최근에 삽인된 원소가 삭제된다. 이와 유사하게 큐에서는 집합에서 가장 오랜 시간 동
목차 버블 정렬 단순 선택 정렬 단순 삽입 정렬 셸 정렬 퀵 정렬 병합 정렬 힙 정렬 도수 정렬 6. 병합 정렬 7. 힙 정렬(Heap Sort) 힙정렬 알아보기 힙 정렬은 선택 정렬을 응용한 알고리즘이며 힙의 특성을 이용해 정렬하는 알고리즘이다. 힙은 '부모의 값
그래프란? 수학에서, 좀 더 구체적으로 그래프 이론에서 그래프란 객체의 일부 쌍(pair)들이 '연관되어' 있는 객체 집합 구조를 말한다. 그래프 순회(Graph Traversals) 그래프 순회란 그래프 탐색(search)이라고도 불리우며 그래프의 각 정점을 방문하
위상 정렬은 정렬 알고리즘의 일종으로 순서가 정해져 있는 일련의 작업을 차례 대로 수행해야 할 때 사용할 수 있는 알고리즘이다. 이론적으로는 방향 그래프의 모든 노드를 방향성에 거스르지 않도록 순서대로 나열하는 것이다. 현실에서 위상 정렬을 수행하는 예로는 선수과목을
정글 5주차 드디어 본격적인 팀 프로젝트를 시작하게 되었다. 알고리즘 주차의 마지막 주는 b트리와 b+트리를 C언어로 구현하며 진행되었다. 처음 써보는 C언어로 b, b+트리의 복잡한 분기들을 구현하기가 까다로웠지만 무한 디버그 지옥에서 살아남을 수 있었고, 공부한 개