アルゴリズムレッスン復習する
この文章は、ブログの責任者がこれまで学んだアルゴリズムの独学と授業内容をまとめることを目的とした文章です.
ソートは、データを順番にリストする方法を意味します.
最初の資料と2番目の資料、2番目の資料と3番目の資料、3番目と4番目の資料、このような方法で(マギー)
幕−1)最初の資料を最後の資料と比較し,同時に資料を並べ替える.
時間複雑度O(N^2)
には、次のようなデータ列があります.
最小データの検索
すべてが見える場合は、最小のデータを一番前に移動してからブラウズし、2番目の小さいデータを2番目の位置 に配置する.時間複雑度O(N^2)
各数字を適当な位置に挿入する並べ替え方法は、入る位置を選択するためにN回、選択するためにN回、したがって である.時間複雑度:時間複雑度O(N^2) 本科生時期資料構造課 わかりやすいアルゴリズム-スパルタ符号化クラブ コンピュータエンジニアリング専門多機能一体パッケージ-高速キャンパス ソースコード
https://github.com/BOLTB0X/Sparta-Algorithm/tree/main/week_3
https://github.com/BOLTB0X/DataStructure_Argolithm/tree/main/05_Sort
ソート(1)
ソートは、データを順番にリストする方法を意味します.
[3,0,4,2,1]
[0,1,2,3,4] #오름차순
[4,3,2,1,0] #내림차순
バブル整列(Bubble Sort)
最初の資料と2番目の資料、2番目の資料と3番目の資料、3番目と4番目の資料、このような方法で(マギー)
幕−1)最初の資料を最後の資料と比較し,同時に資料を並べ替える.
時間複雑度O(N^2)
# 파이썬 코드
def bubble_sort(array):
n=len(array)
for i in range(n-1): # 리스트-1의 크기만큼
for j in range(n-i-1): #array[j] 와 array[j + 1] 을 비교할거라,
# 마지막 원소까지 가지 않아도 됨
if array[j] > array[j+1]:
array[j], array[j + 1] = array[j + 1], array[j]
return array
// C 코드
for (int i = 1; i <n; i++) {
for (int j = 0; j < n-i; j++) {
if (arr[j] > arr[j + 1]) swap(&arr[j], &arr[j + 1]);
}
}
整列選択(Selection Sort)
最小データの検索
すべてが見える場合は、最小のデータを一番前に移動してからブラウズし、2番目の小さいデータを2番目の位置
#python 소스코드
def selection_sort(array):
n=len(array)
for i in range(n-1): # Q. 여기서 왜 5 - 1 일까요?
min_index=i
for j in range(n-i): # A. 맨 마지막 비교는 하지 않아도 되기 때문
if array[i + j] < array[min_index]:
min_index = i + j #변경
array[i], array[min_index] = array[min_index], array[i]
return array #오름차순 정렬
//c 소스코드
for (int i = 0; i < n-1; i++) {
min = i
for (int j = i+1; j < n; j++) {
if (min > arr[j]) {
min = arr[j];
index = j;
}
}
swap(&arr[i], &arr[index]);
}
挿入
#python 소스코드
def insertion_sort(array):
n = len(array)
for i in range(1, n):
for j in range(i):
if array[i - j - 1] > array[i - j]:
array[i - j - 1], array[i - j] = array[i - j], array[i - j - 1]
else:
break #비교를 안해도 되는 순간이 오면 break
return array
//c 소스코드
for (int i = 0; i < n - 1; i++) {
int j = i;
while (j>=0 && a[j]>a[j+1]){
swap(&a[j], &a[j + 1]);
j--;
}
}
リファレンス
https://github.com/BOLTB0X/Sparta-Algorithm/tree/main/week_3
https://github.com/BOLTB0X/DataStructure_Argolithm/tree/main/05_Sort
Reference
この問題について(アルゴリズムレッスン復習する), 我々は、より多くの情報をここで見つけました https://velog.io/@graffitibox/알고리즘강의-04.-복습テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol