탐색

Hojun Jeong·2022년 4월 24일
0

알고리즘

목록 보기
1/2
post-thumbnail

완전탐색 - 브루트 포스(Brute Force) - 가능한 모든 경우의 수를 탐색,
효율성 측면에서는 최악,
풀리지 않는 문제는 없음

구현)

  • 반복문 -> for, while
    def solution(trump):
    	for i in range(len(trump)):
        	if trump[i] == 8:
             	return i
        return -1
  • 재귀함수
    • 동적트래킹
    • 백트래킹
    • 탐욕법
def solution(trump,loc):
	if trump[loc]==8:
    	return loc
    else:
    	return solution(trump,loc+1)

이분탐색 - 이진검색이라고도 표현,
오름차순으로 정렬된 리스트에서 특정 값의 위치를 찾는 알고리즘,
중간의 값을 선택하여 찾고자 하는 값과의 크고 작음을 비교하는 방법

def solution(trump):
	left = 0 
    right = len(trump)-1
    while(left<=right):
    	mid = mid+right//2
        if trump[mid]==8:
        	return mid
        elif trump[mid]<8:
        	left = mid+1
        elif trump[mid]>8:
        	right = mid-1
	return mid
profile
Student , Junior Developer

0개의 댓글