알고리즘 그래 픽 학습 노트 - 이분법, 링크, 배열
def binary_search(list,item):
low=0 #
high=len(list)-1#
while low<=high: #
mid=(low+high)//2#
guess=list[mid]
if guess==item:# ,
return mid
elif guess>item:high=mid-1# , -1
else:low=mid+1# , +1
return None # ,
if __name__=='__main__':
my_list=[1,3,5,7,9,11,13,15,17]
print(binary_search(my_list,15))
여행사 문제:
한 여행사 가 다섯 도시 에 가 려 고 한다 면 그 는 5 가 있다!가장 짧 은 노선 을 고 르 려 면 120 번 의 조작 을 해 야 한다.이 알고리즘 의 운행 시간 은 O (n!) 이다.
1. 메모리 작업 원리
메모리 가 캐비닛 이 고 캐비닛 안에 서랍 이 많다.
메모리 에 데 이 터 를 저장 해 야 할 때 는 컴퓨터 에 저장 공간 을 제공 해 달라 고 요청 하고 컴퓨터 는 저장 주 소 를 제공 합 니 다.
여러 가지 데 이 터 를 저장 해 야 할 때 는 두 가지 기본 방식 이 있 습 니 다. - 배열 과 링크.
2. 배열 과 링크
배열
업무 관리 프로그램 을 만 들 려 면 이 업무 항목 을 메모리 에 저장 해 야 합 니 다.
배열 을 사용 하 는 것 은 모든 업무 가 메모리 에 연결 되 어 있다 는 것 을 의미한다.
예 를 들 어:
우 리 는 처리 해 야 할 사건 을 '파일' 로 보고 메모 리 를 '서랍' 으로 보고 모든 '서랍' 을 '파일' 로 놓는다.
네 개의 업무 사건 을 서랍 에 넣 어야 한다. 세 개 를 넣 었 을 때 네 번 째 서랍 에 다른 사람의 물건 이 놓 여 있 는 것 을 발견 했다.
이 럴 때, 너 는 컴퓨터 로 하여 금 네 개의 서 류 를 수용 할 수 있 는 서랍 을 하나 더 주 고, 서 류 를 네 개의 서랍 에 하나씩 넣 게 할 수 밖 에 없다.
다시 예 를 들 면:
너 와 너의 친 구 는 영 화 를 보 러 갔다. 세 사람 자 리 를 산 후에 갑자기 친구 가 왔 지만 원래 의 자 리 는 빈자리 가 없 었 다.이 럴 때 는 모두 가 앉 을 수 있 는 자 리 를 하나 더 찾 을 수 밖 에 없어.
이렇게 새로운 친구 가 오 면 다시 자 리 를 옮 겨 야 하 는데 어떻게 해결 해 야 할 까?
한 가지 방법 은 좌석 을 예약 하고 세 사람 이 영 화 를 보고 10 중대 좌석 을 찾 는 것 이다. 그러면 7 명의 친구 가 더 와 도 자 리 를 바 꿀 필요 가 없다.
그러나 이런 방법 은 두 가지 단점 이 있다.
첫째, 많이 나 온 자 리 는 전혀 사용 할 수 없 을 수도 있 습 니 다. 이것 은 자원 에 대한 낭비 입 니 다.
둘째, 여덟 번 째 친구 가 왔 을 때 너 는 또 이동 해 야 한다.
이런 문제 에 대해 서 는 링크 로 해결 할 수 있다.
체인 테이블
링크 의 요 소 는 메모리 의 어느 곳 에 나 저장 할 수 있다.
링크 의 모든 요 소 는 다음 요소 의 주 소 를 저장 하여 일련의 무 작위 메모리 주 소 를 연결 시 켰 다.
이것 은 보물 찾기 게임 과 같 습 니 다. 첫 번 째 주소 로 갈 때 두 번 째 주소 의 좌 표를 얻 고 순서대로 찾 습 니 다.
따라서 링크 에 요 소 를 추가 하 는 것 은 쉽 습 니 다. 값 은 메모리 에 넣 고 주 소 를 이전 요소 에 저장 해 야 합 니 다.
이렇게 하면 영 화 를 보 는 문 제 를 완벽 하 게 해결 할 수 있다. 링크 는 '우 리 는 따로 앉 지만 한 사람의 자 리 를 통 해 다음 사람의 자 리 를 찾 을 수 있다' 는 것 과 같다.
충분 한 메모리 공간 만 있 으 면 링크 에 메모 리 를 분배 할 수 있다.
링크 의 장점 은 바로 요 소 를 삽입 하 는 데 나타난다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
axios 요청 차단, 응답 차단,router 내비게이션 수위axios 요청 차단: 요청 헤더에 token 등을 통일적으로 추가할 수 있습니다 axios 응답 차단: 로그인 판단 내비게이션 선행 수위beforeEach: 로그인 여부를 판단할 수 있지만, 응답으로 차단하는 것이...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.