선형, 임의 또는 이진 검색
선형 검색
선형 검색은 목록의 각 항목을 처음부터 한 번에 하나씩 검사하는 것입니다.
선형 검색 코드의 예는 다음과 같습니다.
number = random.randint(1,100)
count = 0
for i in range(1,100):
count = count + 1
if i == number:
print("The number was " + str(number))
print("You got it in " + str(count) + " guesses!")
break
임의 검색
임의 검색은 목록의 각 항목을 무작위로 선택하고 올바른 항목을 찾을 때까지 확인하는 것입니다.
임의 검색 코드의 예는 다음과 같습니다.
number = random.randint(1,100)
allnum = []
for i in range(1,100):
allnum.append(i)
guess = random.choice(allnum)
allnum.remove(guess)
count = 1
while guess != number:
count = count + 1
guess = random.choice(allnum)
allnum.remove(guess)
print("The number was " + str(number))
print("You got it in " + str(count) + " guesses!")
이진 검색
이진 검색은 찾고 있는 숫자를 찾을 때까지 매번 반으로 줄임으로써 목록을 자르는 것입니다.
number = random.randint(1,100)
lowestnumber = 1
highestnumber = 100
guess = round((highestnumber + lowestnumber) / 2)
count = 1
while guess != number:
if guess > number:
if highestnumber > guess:
highestnumber = guess
print("The number is smaller than " + str(guess))
if guess < number:
if guess > lowestnumber:
lowestnumber = guess
print("The number is bigger than " + str(guess))
guess = guess = round((highestnumber + lowestnumber) / 2)
count = count + 1
print("The number was " + str(number))
print("You got it in " + str(count) + " guesses!")
어떤 검색이 가장 효율적이라고 생각하십니까?
Reference
이 문제에 관하여(선형, 임의 또는 이진 검색), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/vulcanwm/linear-random-or-binary-search-5pb텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)