Debug.Log

  • 홈
  • 태그
  • 방명록

Python 12

Python으로 알고리즘 공부 02. 퀵 정렬 (Quick Sort)

퀵 정렬 (Quick Sort) 파이썬으로 구현퀵 정렬은 분할 정복 알고리즘의 좋은 예이다.리스트 중 하나를 pivot으로 정하고, pivot보다 작은 아이템은 왼쪽, pivot보다 큰 아이템은 오른쪽으로 보내면서 pivot의 자리를 확정한다.그리고 왼쪽 리스트와 오른쪽 리스트에 대해서 재귀형식으로 진행.평균 시간복잡도는 O(n*log n), 최악의 시간복잡도는 O(n^2) def quick_sorted(arr): if len(arr) > 1: pivot = arr[len(arr)-1] left, mid, right = [], [], [] for i in range(len(arr)-1): if arr[i] pivot: right.append(arr[i]) else: mid.append(arr[i]) mi..

아카이빙 2017.07.03

Python으로 알고리즘 공부 01. 병합정렬 (Merge Sort)

병합정렬 (Merge Sort) 파이썬으로 구현병합정렬은 분할정복 알고리즘의 가장 좋은 예이다.정렬할 리스트를 반으로 나누어 두 부분을 따로 정렬하여 다시 조합하는 과정이다.시간복잡도는 O(n*log n) def merge_sorted(arr): if len(arr)>1: mid = len(arr)//2 left = arr[:mid] right = arr[mid:] ​ l = merge_sorted(left) r = merge_sorted(right) return merge(l, r) else: return arr def merge(left, right): i = 0 j = 0 arr = [] while (i

아카이빙 2017.07.02
이전
1 2
다음
더보기
프로필사진

Debug.Log

  • 분류 전체보기 (102)
    • 아카이빙 (101)
      • BOJ (30)
      • Unity3D (8)
      • C, C++ (11)
      • C# (32)
      • Clean Code (1)

Tag

sizeof, C, dynamic programming, 스타크래프트, 인터페이스, Android, dp, unity3D, BFS, Regex, 안드로이드, 정규표현식, 데이터마이닝, 유니티, node.js, 동적 프로그래밍, 알고리즘, C#, C++, Python,

최근글과 인기글

  • 최근글
  • 인기글

최근댓글

공지사항

페이스북 트위터 플러그인

  • Facebook
  • Twitter

Archives

Calendar

«   2025/12   »
일 월 화 수 목 금 토
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

방문자수Total

  • Today :
  • Yesterday :

Copyright © Kakao Corp. All rights reserved.

  • facebook
  • 디지털미디어랩

티스토리툴바