본문 바로가기
728x90
반응형

프로그래밍/알고리즘3

[알고리즘] 삽입정렬 안녕하세요 이번에는 삽입정렬에 대하여 알아보려고합니다. 예제코드는 파이썬으로 진행합니다. 삽입정렬(Insert Sort) 이란? 자료 배열의 모든 요소를 앞에서부터 차례대로 이미 정렬된 배열 부분과 비교하여, 자신의 위치를 찾아 삽입함으로써 정렬을 완성하는 알고리즘이다. 삽입정렬의 과정 삽입정렬은 두번째 요소부터 시작하여, 그 앞(왼쪽)의 자료들과 비교하고 나머지는 뒤(오른쪽)으로 한칸씩 이동시키는 알고리즘입니다. 이게 무슨말이냐 함은 리스트로 [3, 7, 2, 5, 1,4] 라는 리스트가 주어졌다고 가정해봅시다. 이제부터 이 리스트를 삽입정렬을 이용하여 오름차순으로 정렬해보도록 합시다. 두번째 요소인 7을 앞[3] 과 비교합니다. 7은 3보다 크기 때문에 동일한 자리에 위치합니다.세번째 요소인 2를 앞.. 2020. 4. 29.
[알고리즘] 선택정렬 안녕하세요 이번에는 선택정렬에 대하여 알아보도록 합시다. 예제 코드는 항상 파이썬으로 됩니다. 선택정렬(Selection Sort) 이란? 제자리 정렬 알고리즘의 하나이다. - 데이터를 하나 옮길 때 마다 공간이 하나씩 비게 된다는 사실을 기반으로, 별도의 메모리 공간을 마련할 필요가 없다.현재 선택된 데이터 이후의 데이터들과 비교하여 가장 작은값을 찾아 자리를 바꿔 정렬하는 알고리즘입니다. 선택정렬의 과정주어진 리스트 중에 최소값을 찾는다.그 값을 맨 앞에 위치한 값과 교체한다.(패스)맨 처음 위치를 뺸 나머지 리스트를 같은 방법으로 교체한다. 선택정렬의 특징비교하는 것이 상수 시간에 이루어진다는 가정 아래, n개의 주어진 리스트를 이와 같은 방법으로 정렬하는 데에는 Θ(n2) 만큼의 시간이 걸린다.선.. 2020. 4. 29.
[알고리즘] 선형탐색과 이진탐색 안녕하세요 오랜만에 글을 올리네요... 한동안 게으르게 지내다보니 글을 쓰지 못했네요 ㅠ_ㅠ 그래서 요즘 알고리즘 공부를 하고 있어요 코딩테스트 준비랄까... 공부하면서 혼자 정리겸 알고리즘 관련 포스팅을 시작하려고 합니다!! 부족한 부분이 많지만, 여러분께 도움이 되었으면 좋겠어요. 오늘은 선형탐색과 이진탐색에 대하여 정리 하려고합니다. 선형탐색 알고리즘이란?영어로는 Linear Search Algorithm 이라고 합니다. 선형탐색은 여러 값들중에서 정직하게도 순서대로 처음부터 하나하나 검색하여 값을 찾는 것입니다. 코드 예시를 들어 봐보겠습니다. 코드는 파이썬으로 작성되었습니다. 찾으려는 값이 5이며, [1, 2, 3, 5, 7, 8, 9] 라는 리스트가 주어졌을때를 가정하여 linear_searc.. 2020. 4. 28.
728x90
반응형