def Power(Base, Exponent):
	if Exponent == 0 or Base == 0 :
    	return 1
    if Exponent % 2 == 0 :
    	NewBase = Power(Base, Exponent/2)
        return NewBase * NewBase
    else:
    	NewBase = Power(Base, (Exponent-1)/2)
        return (NewBase * NewBase) * Base
        

### 퀵 정렬

def quickSort(a, begin, end):
	if begin < end:
    	p = partition(a , begin, end)
        quickSort(a, begin, p-1)
        quickSort(a, p+1, end)

### 피봇 알고리즘

def partition (a, begin, end) :
	pivot = (begin + end) //2
    L = begin
    R = end
    while L < R :
    	while(a[L]<a[pivot] and L<R) : L += 1
        while(a[R]>=a[pivot] and L<R) : R -= 1
        if L < R :
    	    if L == pivot : pivot = R
        	a[L], a[R] = a[R], a[L]
     a[pivot], a[R] = a[R], a[pivot]
     return R
     

 

'+++++SW 일일 공부+++++ > SW Expert Aademy' 카테고리의 다른 글

링크드 리스트  (0) 2020.05.21
Queue 에대하여  (0) 2020.04.22
SW 백트래킹 미로찾기  (0) 2020.04.19
SW 계산방법  (0) 2020.04.19
트리구조의 모든 집합 구하기 시프트 활용  (0) 2020.04.09
블로그 이미지

Or71nH

,