Debug.Log

  • 홈
  • 태그
  • 방명록

퀵 셀렉션 1

Python으로 알고리즘 공부 05. 퀵 셀렉션 (Quick Selection)

퀵 셀렉션 (Quick Selection) 파이썬으로 구현퀵 셀렉션은 리스트를 정렬하지 않고 K번째로 큰 수를 알고 싶을 때 쓰는 방법이다.전체적인 솔루션은 퀵 정렬과 매우 유사하다, 피벗을 하나 골라서 값을 비교하면서, 피벗보다 작은 리스트, 피벗 보다 큰 리스트로 나눈다.k번째 숫자가 속해있는 리스트만 가지고 다시 재귀적으로 반복한다.median 값을 찾을 때도 활용 가능.평균 시간복잡도는 O(n) def quick_selection(arr, kth): pivot = arr[(len(arr)+1)//2 - 1] left, mid, right = [], [], [] for i in range(len(arr)): if arr[i] pivot: right.append(arr[i]) else: mid.app..

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

Debug.Log

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

Tag

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

최근글과 인기글

  • 최근글
  • 인기글

최근댓글

공지사항

페이스북 트위터 플러그인

  • Facebook
  • Twitter

Archives

Calendar

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

방문자수Total

  • Today :
  • Yesterday :

Copyright © Kakao Corp. All rights reserved.

  • facebook
  • 디지털미디어랩

티스토리툴바