이번 챕터부터 알고리즘 시작입니다.!
알고리즘 연습 방법
연습장과 펜을 준비하자.
알고리즘 문제를 읽고 분석한 후에,
간단하게 테스트용으로 매우 간단한 경우부터 복잡한 경우 순서대로 생각해보면서, 연습장과 펜을 이용하여 알고리즘을 생각해본다.
가능한 알고리즘이 보인다면, 구현할 알고리즘을 세부 항목으로 나누고, 문장으로 세부 항목을 나누어서 적어본다.
코드화하기 위해, 데이터 구조 또는 사용할 변수를 정리하고,
각 문장을 코드 레벨로 적는다.
데이터 구조 또는 사용할 변수가 코드에 따라 어떻게 변하는지를 손으로 적으면서, 임의 데이터로 코드가 정상 동작하는지를 연습장과 펜으로 검증한다.
다양한 정렬 알고리즘 이해를 통해, 동일한 문제에 대해 다양한 알고리즘이 고안될 수 있음을 이해하고,
각 알고리즘간 성능 비교를 통해, 알고리즘 성능 분석에 대해서도 이해할 수 있음
알고리즘 연습 방법에 기반해서 단계별로 생각해봅니다.
프로그래밍 연습
데이터가 두 개일 때 버블 정렬 알고리즘 방식으로 정렬해보세요
프로그래밍 연습
데이터가 세 개일 때 버블 정렬 알고리즘 방식으로 정렬해보세요
프로그래밍 연습
데이터가 네 개일 때 버블 정렬 알고리즘 방식으로 정렬해보세요
data_list[index], data_list[index + 1] = data_list[index + 1], data_list[index]
swap += 1
def bubblesort(data):
for index in range(len(data) - 1):
swap = False
for index2 in range(len(data) - index - 1):
if data[index2] > data[index2 + 1]:
data[index2], data[index2 + 1] = data[index2 + 1], data[index2]
swap = True
if swap == False:
break
return data
import random
data_list = random.sample(range(100), 50)
print (bubblesort(data_list))
프로그래밍 연습
지금 설명한 버블 정렬을 알고리즘 연습 방법에 따라서, 다시 스스로 작성해보세요