정렬
프로그램 상에서 정렬은 어떻게 진행이 되는 것인가??
재대로 알아보자.
버블정렬
리스트에서 두개씩 비교해가면서 점점 오른쪽 부터 맞추어 나가는 방식
https://www.daleseo.com/sort-bubble/
[알고리즘] 거품 정렬 - Bubble Sort (Python, Java)
Engineering Blog by Dale Seo
www.daleseo.com
# 버블정렬을 만들어 보자!
def bubble_sort(array):
# 비교를 해야 하는데 처음에는 8자리까지 그다음은 7자리......마지막은 0자리로 끝이 나게
for i in range(len(array) - 1,0,-1):
# 8,7,6,5,4,3,2,1순으로 들어간다.
for j in range(i):
if array[j] > array[j+1]:
# 서로 위치 바꾸기
array[j],array[j+1] = array[j+1],array[j]
return array
# 엉망 진창 리스트!
list = [1,5,4,8,6,2,7,3,9]
# 함수 호출!
sorted_list = bubble_sort(list)
print(sorted_list)
이제 리스트에 input값만 넣어주면 원하는 값을 만들 수 도 있습니다.
선택정렬
선택정렬은 변수하나를 만들어서 리스트를 돌면서 최솟값을 저장하는 칸에 최솟값이 나올때마다 저장을 하게 한다.
https://www.daleseo.com/sort-selection/
[알고리즘] 선택 정렬 - Selection Sort (Python, Java)
Engineering Blog by Dale Seo
www.daleseo.com
# 선택정렬을 만들어 보자!
def selection_sort(array):
for i in range(len(array)-1):
min_index = i
min_value = array[i]
for j in range(i + 1, len(array)):
if min_value > array[j]:
min_index = j
min_value = array[j]
array[i], array[min_index] = array[min_index], array[i]
return array
# 또 다른 버전
# def selection_sort(array):
# for i in range(len(array)-1):
# for j in range(i + 1, len(array)):
# if array[i] > array[j]:
# array[i], array[j] = array[j], array[i]
# return array
# 엉망 진창 리스트!
list = [1, 5, 4, 8, 6, 2, 7, 3, 9]
# 함수 호출!
sorted_list = selection_sort(list)
print(sorted_list)
삽입 정렬
하나씩 늘여가면서 비교하는 정렬
https://www.daleseo.com/sort-insertion/
[알고리즘] 삽입 정렬 - Insertion Sort (Python, Java)
Engineering Blog by Dale Seo
병합정렬
이 방식은 모두 잘게 쪼게어 만들어주는 방식
https://www.daleseo.com/sort-merge/
[알고리즘] 병합 정렬 - Merge Sort (Python, Java)
Engineering Blog by Dale Seo
www.daleseo.com
퀵정렬
분할기법과 재귀 알고리즘을 이용한방법
간단하게 기준점으로 나누고 거기서 또 나누고 나누고.........하는 방식
https://www.daleseo.com/sort-quick/
[알고리즘] 퀵 정렬 - Quick Sort (Python, Java)
Engineering Blog by Dale Seo
그이외에 추가적으로!
힙 정렬
여려가지의 값중에 가장큰값 또는 작은 값을 빨리 찾아내는 방법
20-07. 힙 정렬
힙에 관한 내용은 [파이썬으로 힙(heap) 구현하기](https://wikidocs.net/194445)를 참조한다. 힙 정렬(Heap sort)은 정렬한 자료를 최대 힙이나…
wikidocs.net
https://wayhome25.github.io/cs/2017/04/11/cs-13/
강의노트 12. 함수 호출방식(call-by-value, call-by-reference, call-by-assignment) · 초보몽키의 개발공부로그
패스트캠퍼스 컴퓨터공학 입문 수업을 듣고 중요한 내용을 정리했습니다. 개인공부 후 자료를 남기기 위한 목적임으로 내용 상에 오류가 있을 수 있습니다.
wayhome25.github.io
'코딩 정리함' 카테고리의 다른 글
⭐AI 코딩 교육 내일배움캠프를 경험한 나의 실제 후기⭐ (0) | 2024.06.24 |
---|---|
모의 면접 준비 (0) | 2024.04.16 |
파이썬 명령어 모음 (1) | 2024.02.20 |
유용한 파이썬 정보 (사이트, 확장프로그램) (0) | 2024.02.20 |
GIT 명령어 모음 (0) | 2024.02.18 |
정렬
프로그램 상에서 정렬은 어떻게 진행이 되는 것인가??
재대로 알아보자.
버블정렬
리스트에서 두개씩 비교해가면서 점점 오른쪽 부터 맞추어 나가는 방식
https://www.daleseo.com/sort-bubble/
[알고리즘] 거품 정렬 - Bubble Sort (Python, Java)
Engineering Blog by Dale Seo
www.daleseo.com
# 버블정렬을 만들어 보자!
def bubble_sort(array):
# 비교를 해야 하는데 처음에는 8자리까지 그다음은 7자리......마지막은 0자리로 끝이 나게
for i in range(len(array) - 1,0,-1):
# 8,7,6,5,4,3,2,1순으로 들어간다.
for j in range(i):
if array[j] > array[j+1]:
# 서로 위치 바꾸기
array[j],array[j+1] = array[j+1],array[j]
return array
# 엉망 진창 리스트!
list = [1,5,4,8,6,2,7,3,9]
# 함수 호출!
sorted_list = bubble_sort(list)
print(sorted_list)
이제 리스트에 input값만 넣어주면 원하는 값을 만들 수 도 있습니다.
선택정렬
선택정렬은 변수하나를 만들어서 리스트를 돌면서 최솟값을 저장하는 칸에 최솟값이 나올때마다 저장을 하게 한다.
https://www.daleseo.com/sort-selection/
[알고리즘] 선택 정렬 - Selection Sort (Python, Java)
Engineering Blog by Dale Seo
www.daleseo.com
# 선택정렬을 만들어 보자!
def selection_sort(array):
for i in range(len(array)-1):
min_index = i
min_value = array[i]
for j in range(i + 1, len(array)):
if min_value > array[j]:
min_index = j
min_value = array[j]
array[i], array[min_index] = array[min_index], array[i]
return array
# 또 다른 버전
# def selection_sort(array):
# for i in range(len(array)-1):
# for j in range(i + 1, len(array)):
# if array[i] > array[j]:
# array[i], array[j] = array[j], array[i]
# return array
# 엉망 진창 리스트!
list = [1, 5, 4, 8, 6, 2, 7, 3, 9]
# 함수 호출!
sorted_list = selection_sort(list)
print(sorted_list)
삽입 정렬
하나씩 늘여가면서 비교하는 정렬
https://www.daleseo.com/sort-insertion/
[알고리즘] 삽입 정렬 - Insertion Sort (Python, Java)
Engineering Blog by Dale Seo
병합정렬
이 방식은 모두 잘게 쪼게어 만들어주는 방식
https://www.daleseo.com/sort-merge/
[알고리즘] 병합 정렬 - Merge Sort (Python, Java)
Engineering Blog by Dale Seo
www.daleseo.com
퀵정렬
분할기법과 재귀 알고리즘을 이용한방법
간단하게 기준점으로 나누고 거기서 또 나누고 나누고.........하는 방식
https://www.daleseo.com/sort-quick/
[알고리즘] 퀵 정렬 - Quick Sort (Python, Java)
Engineering Blog by Dale Seo
그이외에 추가적으로!
힙 정렬
여려가지의 값중에 가장큰값 또는 작은 값을 빨리 찾아내는 방법
20-07. 힙 정렬
힙에 관한 내용은 [파이썬으로 힙(heap) 구현하기](https://wikidocs.net/194445)를 참조한다. 힙 정렬(Heap sort)은 정렬한 자료를 최대 힙이나…
wikidocs.net
https://wayhome25.github.io/cs/2017/04/11/cs-13/
강의노트 12. 함수 호출방식(call-by-value, call-by-reference, call-by-assignment) · 초보몽키의 개발공부로그
패스트캠퍼스 컴퓨터공학 입문 수업을 듣고 중요한 내용을 정리했습니다. 개인공부 후 자료를 남기기 위한 목적임으로 내용 상에 오류가 있을 수 있습니다.
wayhome25.github.io
'코딩 정리함' 카테고리의 다른 글
⭐AI 코딩 교육 내일배움캠프를 경험한 나의 실제 후기⭐ (0) | 2024.06.24 |
---|---|
모의 면접 준비 (0) | 2024.04.16 |
파이썬 명령어 모음 (1) | 2024.02.20 |
유용한 파이썬 정보 (사이트, 확장프로그램) (0) | 2024.02.20 |
GIT 명령어 모음 (0) | 2024.02.18 |