간만에 포스팅입니다. 처음 목표는 1일 1포스팅이었는데, 그것도 잠시 이리도 게을러지는군요. 얼른 Angular나 Spring도 포스팅해야하는데... 요새는 간단한 알고리즘 관련 포스팅만 진행하게 되네요.암튼 오늘은 merge sort입니다. Quick Sort와 더불어 n log n의 성능을 내는 대표적인 정렬 방법입니다. 이름에서 알 수 있듯이 병합을 하면서 정렬을 하는겁니다. 그럼 gif를 통해 한번 살펴보겠습니다. 출처 : wikipedia.org . 우선 하나의 list를 계속해서 2 묶음으로 쪼갭니다. . 그리해서 하나의 element만 가지게 되면 병합을 실행합니다. . 병합을 할 때, 2 묶음씩 하게 되는데 이 때 작은것부터 병합을 해서 정렬을 하게 됩니다. 이해가 되셨죠? 이렇게 병합하는..
이번 포스팅은 퀵소트입니다. 퀵소트는 이름에서는 그 특성을 따오기 힘드네요. 그저 빠른 정렬? 퀵소트라는 이름이 붙었을 정도면 그만큼 빠르겠죠? 그럼 퀵소트가 일단 어떻게 움직이는지 한번 볼까요? 출처 : wikipedia.org 이해가 되셨나요? 이걸 보고 이해하셨다면... 당신은 천재? 이해 못하신 경우에는 아래 설명을 보고 한번 다시 보시죠. 1. 우선 pivot(중심점)이라는 것을 하나 정합니다. 이 pivot 을 정하는게 퀵소트의 성능을 좌우하는 중요한 것이기는 하지만 이게 퀵소트의 핵심 내용은 아니기 때문에 넘어갑니다. 위의 애니메이션을 자세히 보시면 pivot 은 전체 중에 가운데(비슷한?) 값을 정합니다. 2. pivot 을 정했으면 전체를 두 부류로 나눕니다. 이 pivot 보다 작은지,..
두번째는 첫번째에 버금가게(?) 쉬운 삽입정렬입니다. 이름에 대해서 정확히 알아놓는 것이 해당 알고리즘을 이해하는 기초라고 할 수 있습니다. 삽입정렬? 말 그대로 삽입을 해가면서 하는 정렬입니다. 우선 실 데이터가 어떻게 정렬되는지 확인해볼까요? 출처: wikipedia.org 보시면 아시겠지만 loop를 돌면서 정렬이 필요한 데이터에 대해서 위치를 찾아 삽입을 합니다. 그렇기 때문에 정렬이름이 삽입 정렬입니다. 그러면 이것을 어떻게 구현할지 먼저 pseudo code를 보겠습니다.mark first element as sorted for each unsorted element 'extract' the element for i = lastSortedIndex to 0 if currentSortedElem..
알고리즘 관련 첫 포스팅이 되겠네요. 프로그래머에게 있어서 알고리즘은 참 중요한 부분이죠? 오늘은 알고리즘에 있어서 가장 기본이라고 할 수 있는 bulbble sort에 대해서 알아보겠습니다. 우선 그림을 통해서 한번 확인해보도록 하겠습니다. 출처: wikibooks.org 지금 위의 그림을 보시면 한번 loop 돌때마다 하나의 최대값이 올라오게 됩니다. 하나씩 거품이 올라오는 형상을 따서 bubble sort라는 이름이 붙여졌다고 하네요. 머릿속으로 그림이 어느정도 그려지시나요? 그러면 pseudo code를 한번 살펴보겠습니다. 코드를 보면서 이해를 한번 해보겠습니다. do swapped = false for i = 1 to indexOfLastUnsortedElement if leftElement ..
- Total
- Today
- Yesterday
- mockmvc
- 티지유모차
- 머지소트
- router-outlet
- TypeScript
- 기내반입유모차
- angular2
- styleUrls
- routerLink
- templateUrl
- 알고리즘
- RouteConfig
- angular 2
- routing
- 타보유모차
- Spring Boot
- test static import
- routeParams
- mybatis
- 거품정렬
- spring security
- CURL
- insert sort
- 빠른 정렬
- Ajax
- rest login
- 어드보케이트
- controller test
- angular
- 유아동겸용
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |