정렬

    [알고리즘] insertionSort 삽입정렬(pseudo-code, 파이썬, Java)

    [알고리즘] insertionSort 삽입정렬(pseudo-code, 파이썬, Java)

    삽입정렬 삽입 정렬은 자료 배열의 모든 요소를 앞에서부터 차례대로 이미 정렬된 배열 부분과 비교하여, 자신의 위치를 찾아 삽입함으로써 정렬을 완성하는 정렬 방법이다. 현재 타겟이 되는 숫자와 이전 위치에 있는 원소들을 비교한다. (첫 번째 타겟은 두 번째 원소부터 시작한다.) 타겟이 되는 숫자가 이전 위치에 있던 원소보다 작다면 위치를 서로 교환한다. 그 다음 타겟을 찾아 위와 같은 방법으로 반복한다. 배열을 0인덱스부터 i-1번째가 정렬되어 있을 때 for문을 돌아서 a[i]의 값보다 크다면 인덱스를 한칸씩 뒤로 이동해준다 만약에 a[i]의 값보다 작거나 같다면 배열의 j+1번째 인덱스에 a[i]값을 넣어준다. 이때 a[i]값은 미리 변수에 저장을 해둔다. Pseudo-code Algorithm ins..

    [알고리즘] selectionSort 선택정렬(pseudo-code, Java, 파이썬)

    [알고리즘] selectionSort 선택정렬(pseudo-code, Java, 파이썬)

    선택정렬 각 루프마다 최대(최소) 원소를 찾는다 최대(최소) 원소와 마지막(가장 앞에 있는) 원소를 교환한다 마지막(가장 앞에 있는) 원소를 제외한다 – 하나의 원소만 남을 때까지 위의 루프를 반복 pseudo 코드 배열 끝에서부터 나머지 원소들 중 최대값과 교환하는 방식 Algorithm selectionSort(a,n) for i = n-1 down to 1 //a[0]부터 a[i]까지 중 가장 큰 원소의 위치 index를 찾는다. index = 0 for j = 1 to i if(a[index] < a[j]) then index = j //a[index]와 a[i]를 교환한다. int temp = a[index] a[index] = a[i] a[i] = temp python 코드 배열 처음부터 나머..

    [python](알고리즘) mergeSort 병합정렬(합병정렬) 구현

    [python](알고리즘) mergeSort 병합정렬(합병정렬) 구현

    Merge sort(합병정렬) 구현 코드 def merge_sort(list): if len(list)