알고리즘 (2) 썸네일형 리스트형 [C언어/파이썬] Insertion Sort Algorithm C와 Python으로 구현해보기 - 배열 맨 처음 정렬된 부분에 정렬되지 않은 다음 항목들을 반복적으로 삽입하는 방식이다. - 즉 미리 정렬된 리스트에 새 항목을 추가할 때 좋은 정렬 알고리즘이다. - 데이터의 크기가 작고 리스트가 이미 정렬되어있으면 다른 merge sort 나 quick sort 같은 고급 알고리즘보다 성능이 좋음 - 최선의 경우 시간복잡도 O(n) - 평균과 최악의 경우 시간복잡도 O(n^2) 1. insertion sort ( 삽입 정렬 ) 알고리즘 process index 0 1 2 3 4 5 11 3 28 43 9 4 를 정렬한다고 가정 outer loop i : 0 ~ 5 0 번부터 5번 인덱스 i 가 차례로 리스트에 추가된다고 가정한다. 인덱스 i 가 추가될 때에는 0~ i-1 까지는 정렬되어 있다고 가정.. [문제해결 알고리즘] BFS :: 연습문제 :: 미로탈출 로봇 대회(정올) :: C언어 0. 문제 설명 정올에서 미로탈출 로봇 대회를 개최하였다. 대회에 사용되는 미로는 가로(X), 세로(Y) 100이하의 크기이며, 미로를 한 칸 이동하는 데는 1초가 걸린다. 대회에 참가중인 민성이는 자신의 로봇이 가장 빨리 미로를 탈출하기 위해 미로의 모양을 입력받아서 도착점까지 가장 빠른 길을 찾으려고 한다. 프로그램을 작성하여 민성이를 도와주자. 입력 형식 첫줄에 미로의 크기 X, Y(1≤X, Y≤100)가 주어진다. 둘째 줄에 출발점 x, y 좌표와 도착점 x, y 좌표가 공백으로 구분하여 주어진다. 셋째 줄부터 미로의 정보가 길은 0, 벽은 1로 공백이 없이 들어온다. 출력 형식 첫줄에 출발점에서 도착점까지 가장 빠른 시간을 출력한다. 입력 예시 8 7 1 2 7 5 11111111 0000011.. 이전 1 다음