들어가는게
들어갈수 있도록 해주는 거죠
구현난이도가
한다고 해보겠습니다
이 뒤쪽에있는
7은
이 두번째 데이터인 5가 어떤 위치로 들어갈수 있는지 판단할수 있는데요
7을
왼쪽원소와 비교해서 왼쪽문서보다 더 작다면
왼쪽에 있는
이 9는 왼쪽에 있는데이터와 비교해서
7보다 값이 더 크기
0을 기준으로
이 0은 9보다도 작고 7보다도 작고 이어서 5와 비교했을때에더 더작기 때문에 이 5의
왼쪽까지 쭉 들어가게 됩니다
원소가 될수 있도록 들어가는 것입니다
3도 이렇게 원소 위치를
두번째 원소의 위치가 되었을때 멈추겠네요
반복하게 되면
먼저 삽입정렬을 파이썬으로 구현한 코드부터 확인해보겠습니다
3개의 인자가 들어가는경우 이 3번째는 스탭이 됩니다
j는
데이터와 비교를 작다면
그래서 이렇게 스왑핑을 수행하는걸 확인할수 있구요 만약에
else부분에는 바로 break구문이
있도록 하는걸 확인할수 있구요
정렬되는걸확인 할수 있습니다
동일하고요
딴에서 수왑연산을 제공 이와같이 세줄에 걸쳐서
다루었던 두 코드와 정확히 동일한 결과가 나오는걸
삽입정렬의 시간복잡도는
o의 n제곱이 이중포문이
시간복잡도까지
스와핑 연산이 수행되기 때문에
우리는 전체 시간복잡도를 o의 n제곱이라고
삽입정렬은 현재 거의 정렬되어있는
O(n)만큼의
고 했을때
두번째 원소부터 시작을 하겠죠 그래서 이두번째 원소 1이들어갈 위치를 골라야 되는데
바로 왼쪽에 있는 원소랑 비교했을때
세번째 원소인 2또한 왼쪽에 있는 원소와 비교했을때
선형탐색을 수행하게 되는데 즉 바로 왼쪽데이터 와
사실상 이 왼쪽 데이터중에서
대체 되기 때문의 전체의
Last Updated:
Summarize & share videos seamlessly
Loading...