일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 싸피셜
- 리액트
- 자바스크립트 자료구조
- swea
- 코드트리
- 싸피 대전캠퍼스
- 자바 코딩테스트
- 자료구조
- 싸피10기
- 코딩테스트
- 자바스크립트
- 싸피 10기
- 싸피
- 싸피 기자단
- 자바 알고리즘
- 싸피 11기
- 인프런
- 코딩테스트 자바
- ssafy
- 싸피11기
- 프론트엔드
- SSAFYcial
- 알고리즘 자바
- 비동기
- jpa
- 백준
- 개발자
- 알고리즘
- 프로그래머스
- 싸피 12기
- Today
- Total
목록정렬 알고리즘 (3)
병아리의 코딩 일기
안녕하세요 열어분!4월 자율 기사로 돌아왔습니다 ㅎㅎㅎ 요즘 2학기의 마지막 프로젝트인6주간의 자율 프로젝트로 며칠 간 밤을 새고 있는데,,피곤하네요 ㅋㅋ 이번 기사도 정렬에 대해 이야기 해볼까 합니다. 저는 전공 Java반에서 1학기 교육을 이수했는데요,전공 반 수업에서는 학교에서 이 정도는 배우고 왔다고 가정해서 그런지수업 때 따로 정렬에 대해선 다루지 않아서 따로 공부를 못했었는데 요즘 자료구조와 알고리즘 공부의 필요성을 느끼고 LinkedList 및 정렬부터 기본기를 쌓고 있습니다. 오늘은 여러 정렬 알고리즘 중 삽입 정렬에 대해 소개해보겠습니닷 삽입 정렬삽입 정렬은 앞에 있는 모든 원소가 정렬이 되어 있다는 가정 하에서 현재 원소의 위치를 적절하게 집어넣는 정렬입니다. 예를 들어,5, 4, ..
병합정렬n = int(input())arr = list(map(int, input().split()))merged_arr = [0] * ndef merge_sort(low, high): if low 퀵 정렬n = int(input())arr = list(map(int, input().split()))def partition(arr, low, high): i = low - 1 for j in range(low, high): if arr[j]
안녕하세요!벌써 5월입니다,,요즘 이것저것 하느라 기사가 좀 늦었네요 ㅠㅋㅋ 저는 요즘 알고리즘 및 자료구조 공부의 필요성을 느끼고코드트리에서 처음부터 기본기를 다지고 있는데요, 정렬 알고리즘을 공부하다가 흥미로운 주제를 만나 소개해보려고 합니다.그럼 시작합니다! 먼저 짧은 문제를 하나 내보겠습니다.배열이 하나 있습니다.이 배열의 원소는 1부터 10억 사이의 임의의 자연수입니다.그리고 배열의 길이는 1억입니다.이 배열을 오름차순으로 정렬해야 한다면 여러분은 어떻게 하실 건가요? 정말 막막한 문제인 것 같습니다. 우리가 흔히 알고 있는 거품 정렬, 선택 정렬, 삽입 정렬 등을 사용한다면 시간 복잡도가 O(N^2)이기 때문에최악의 경우 컴퓨터는 1억의 제곱인 10경(100,000,000,000,000,0..