Dev/ Paul Tech Blog

[CS] 알고리즘(정렬)편

CS 부수기 - 알고리즘 (정렬) 편 0. 정렬 알고리즘 이번 편은 본격적인 정렬 알고리즘(Sorting Algorithm)에 대해 알아보려고 한다. 전 편에서 다룬 탐색 알고리즘과 정렬 알고리즘에서의 안정성은 다음 링크를 확인하면 된다. --- 탐색 알고리즘 --- --- 정렬 알고리즘 안정성 --- 1. Selection Sort Algorithm 첫 번째로 알아볼 정렬 알고리즘은 선택 정렬 알고리즘이다. 정의는 다음과 같다. 선택 정렬 알고리즘(Selection Sort Algorithm) : 해당 순서에 원소를 넣을 위치는 이미 정해져 있고, 어떤... Read more

[CS] 알고리즘(정렬 : 안정성)편

CS 부수기 - 알고리즘 (정렬 : 안정성) 편 0. 정렬 알고리즘이란 이번 편은 정렬 알고리즘(Sorting Algorithm)과 안정성에 대해 알아보려고 한다. 전 편에서 다룬 탐색 알고리즘은 다음 링크를 확인하면 된다. --- 탐색 알고리즘 --- 정렬 알고리즘의 정의는 위키피디아에 따르면 다음과 같다. Sorting Algorithm : 컴퓨터 과학과 수학에서 정렬 알고리즘은 원소들을 번호순이나 사전순과 같이 일정한 순서대로 열거하는 알고리즘을 의미한다. 다른 알고리즘 혹은 최적화 시에 매우 중요하며, 가시성과 가독성을 향상시킨다. 정렬 알고리즘에는 다음과 ... Read more

[CS] 알고리즘(탐색)편

CS 부수기 - 알고리즘 (탐색) 편 0. 알고리즘이란 드디어, 코딩의 꽃 알고리즘으로 오게 되었다. 알고리즘(Algorithm)의 정의는 위키피디아에 따르면 다음과 같다. Algorithm : 국어로는 셈법이라고도 하며 수학, 컴퓨터 과학, 전산 언어학 등에서 문제 해결 방법을 정의한 단계적 절차이자 문제 해결을 위한 동작들의 모임 이렇게 정의된다. 우리가 전공하는 컴퓨터에서의 알고리즘은, 크게 탐색과 정렬이 있다. 조금 더 세부적으로 뻗어나가면 완전 탐색, 그리디(Greedy, 탐욕법) 알고리즘, 최단 경로(Dijkstra) 등이 있다. 그 중 오늘은 탐색 알고리즘부터... Read more

[CS] 번외, 시간 복잡도 편

CS 부수기 - 시간 복잡도 편 시간 복잡도 자료 구조를 공부하면 빼놓을 수 없는 부분이 시간 복잡도이다. 자료 구조에서 자료의 삽입, 삭제, 탐색을 위한 시 / 공간적 소요량 혹은 알고리즘에서의 성능 분석에 많이 사용된다. 일반적으로 큰 영역으로는 복잡도라고 부르며, 크게 시간 복잡도(Time Complexity)와 공간 복잡도(Space Complextiy)로 나눠진다. 정의는 다음과 같다. 시간 복잡도 : 입력과 문제를 해결하는데 걸리는 시간 사이의 함수 관계 공간 복잡도 : 프로그램이 실행 시에 필요로 하는 자원 공간의 양 일반적으로는 시간 복잡도를 많이 요구하는 편이... Read more

[CS] 비선형 자료 구조 편

CS 부수기 - 비선형 자료 구조 편 0. 들어가며, Nonlinear Data Structure 이번 포스팅에서는 비선형 자료 구조에 대해서 알아본다. 선형 자료 구조에 대해서는 포스팅을 확인하면 된다. 비선형 자료 구조(Nonlinear Data Structure)의 의미는 다음과 같다. 비선형 자료 구조 : 하나의 원소 뒤에 여러개의 원소가 따라오는 것을 말하며 1:다 혹은 다:다의 형태를 띄는 자료구조 대표적인 비선형 자료 구조에는 그래프(Graph), 트리(Tree), 힙(Heap)이 있다. 1. Graph 그래프(Graph)란, 정점(Node or Vertex)과... Read more