A. 선형 양식을 찾기
1. 순차적으로 검색
같은 키워드와 기록의 가치를 부여하는 경우 키워드의 기록과 주어진 값 다음에 테이블의 기간부터 순차 검색, 당신은, 반대로 성공을 찾아 또한, 전체 테이블을 스캔 한 후 경우 키워드가 존재하지 않습니다 주어진 값
기록 같음, 조회가 실패합니다.
이 책은 두 가지 알고리즘을 제공합니다.
7.1
INT의 search_seq (ssTable ST, 키 타입 키) { 대 (I = ST.length; I> = 1; 난 ...) 의 경우 (ST.R [I] == .KEY 키) 나 리턴; O를 반환; } INT의 search_seq은 (ssTable ST, 키 타입 키) { ST.R [0] = 키; 대 (I = ST.length; ST.R [I] = .KEY 키;! 난 -) 창 I; }
두번째 알고리즘은 제 개선함으로써 시간을 단축 I> = 0이 판정되는 각 사이클에서 제거되어야한다. 그러나, 두 알고리즘에 요구되는 시간 (n)의 크기에 의존하고, 시간 복잡도는 O (n)이된다.
장점 :이 알고리즘은 테이블 번호의 구조 간단
단점 : n의 값이 매우 큰 평균 검색 길이, 낮은 효율, 낮은 순서의 검색 효율.
2. 이진 검색
배열 요소의 중앙에서 검색 프로세스는, 상기 중간 요소 경우 소자는, 검색 처리를 종료를 찾고, 특정 요소 배열의 중간 요소보다 크거나 작 으면 크다 이하 절반 중간 요소 조회의 및 시작과 마찬가지로 중간 요소를 비교 시작합니다. 배열이 어떤 단계에 비어있는 경우, 그것은 발견되지 나타냅니다. 각 비교 검색이 절반으로 줄일 수 있도록이 검색 알고리즘.
복잡성 : T는 (N-) = O (로그 2- (N-)), S (N-) = O (1).
되면 저장된의 빠른 방전 시간 복잡도 사용하여 데이터 정렬하는 제 순서가 데이터, O (N nlog2을 ())이므로 총 시간 복잡도는 T (n)은 = O (nlog2 N ()) + O (로그 2 최고 차수 = O 복용 (N-)) (nlog 2- (N-)).
장점 : 상대적으로 낮은 주파수와 높은 검색 효율.
단점 : 만 객체 배열을 주문해야 찾을 순차 저장 구조에 사용할 수 있습니다. 주문 데이터의 제 1 프로세싱 정렬에서, 시간 낭비가 될 것이다. 그리고, 데이터의 순서를 보장 평균 삽입과 비교하고, 삭제하고 시간을 소모 할 요소의 절반을 이동하기 어려운 동적 룩업을 수행한다. 둘째, 데이터의 양이 메모리 공간은 연속 제공 초과, 이진 검색이 수행 될 수 없다.
II. 검색 트리 테이블
1. 이진 정렬 트리
(1) 바람직하다 : O (로그 2 N-)를 - 완전 이진 트리
(2) 최악 : O (N) --- 단일 트리
III. 해시 테이블
검색 속도가 매우되는 선형 테이블과 나무 테이블의 이전 방법을 찾아 선두에 관계없이 가게, 노드의 수와 모양은 유효하지 않은 노드의 많은 수와 비교 될 수있는 많은 시간의 주소의 저장된 키워드의 비교를 기반으로 천천히.
우리는 키워드와 저장 위치를 직접 해시 조회를 생각이 관계에 따라 키워드를 찾을 때, 다음 찾을 사이에 링크를 설정합니다.
(1), 해시 함수의 해시 주소 : 접촉 대 1 대응 (P)의 H는 = 그 저장 위치 (P)와 키 KEY 레코드 사이 (키) H, H는 해시 함수 호출되도록 해시 어드레스 P라고 .