Dev.Paul Tech, Photo, Life Blog

[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

[CS] 선형 자료 구조 편

CS 부수기 - 선형 자료 구조 편 0. 들어가며 본격적으로 기술 면접을 준비하며 Computer Science의 전반야에 대해 하나씩 정리해 나가려고 한다. 그 첫번째는 선형 자료 구조(Linear Data Structure)편이다. 참고로 이 정리본은 내가 공부하기 위해 만들었고, 추후에도 지속적으로 보완해갈 예정이다. 단순히 현재 취업만을 위해 쓰일 것도 아니며, 이후에 이직을 하거나 또 다른 면접을 위해서도 사용할 예정이기에 최대한 간결하면서도 직관적으로 적어나갈 생각이다. 1. Linear Data Structure 자료 구조에는 크게 선형 자료 구조(Linear Data ... Read more