----------------------------------선형탐색-------------------------------
def linear_search(arr, target):
for i in range(len(arr)):
if arr[i] == target:
return i # 찾은 경우 해당 인덱스 반환
return -1 # 찾지 못한 경우 -1 반환
# 예제 사용
my_list = [4, 2, 7, 1, 9, 5]
target_value = 7
result = linear_search(my_list, target_value)
if result != -1:
print(f"{target_value}를 찾았습니다. 인덱스: {result}")
else:
print(f"{target_value}를 찾지 못했습니다.")
----------------------------------이진탐색----------------------------------
def binary_search(arr, target):
low, high = 0, len(arr) - 1
while low <= high:
mid = (low + high) // 2
mid_value = arr[mid]
if mid_value == target:
return mid # 찾은 경우 해당 인덱스 반환
elif mid_value < target:
low = mid + 1
else:
high = mid - 1
return -1 # 찾지 못한 경우 -1 반환
# 예제 사용
my_list = [1, 2, 4, 5, 7, 9]
target_value = 5
result = binary_search(my_list, target_value)
if result != -1:
print(f"{target_value}를 찾았습니다. 인덱스: {result}")
else:
print(f"{target_value}를 찾지 못했습니다.")
----------------------------------버블 정렬----------------------------------
def bubble(arr):
n = len(arr)
//1부터 7까지 i에
for i in range(n):
//1부터 6까지 j에
for j in range(1, n-i): # 범위를 1부터 n-i로 수정
만약에 j[0]이 j[1]보다 크다면
if arr[j-1] > arr[j]: # 비교 조건 수정
서로 순서를 바꿔준다.
arr[j-1], arr[j] = arr[j], arr[j-1]
# 리스트 정의
my_list = [3, 7, 1, 5, 2, 6, 4]
# 정렬 함수 호출
bubble(my_list)
# 정렬된 리스트 출력
print(my_list)
----------------------------------선택 정렬--------------------------------------
def selection_sort(arr):
n = len(arr)
//0부터 4를 i에 대입
for i in range(n-1):
min_index = i
for j in range(i+1, n):
if arr[j] < arr[min_index]:
min_index = j
arr[i], arr[min_index] = arr[min_index], arr[i]
# 예제 사용
my_list = [64, 25, 12, 22, 11]
# 선택 정렬 수행
selection_sort(my_list)
# 정렬된 리스트 출력
print("정렬된 리스트:", my_list)
----------------------------------삽입 정렬----------------------------------
def insertion_sort(arr):
for i in range(1, len(arr)):
key = arr[i]
j = i - 1
while j >= 0 and key < arr[j]:
arr[j + 1] = arr[j]
j -= 1
arr[j + 1] = key
# 예제 사용
my_list = [12, 11, 13, 5, 6]
# 삽입 정렬 수행
insertion_sort(my_list)
# 정렬된 리스트 출력
print("정렬된 리스트:", my_list)
'(학) (공) (파)' 카테고리의 다른 글
01.29(14일차) -2 (0) | 2024.01.30 |
---|---|
01.29(14일차) (0) | 2024.01.30 |
01.25(12일차) (0) | 2024.01.25 |
01.24(11일차) (0) | 2024.01.24 |
01.23(10일차) (0) | 2024.01.23 |