728x90
Linear Search (Naive Search)
이 방식에서는 모든 가능한 데이터를 하나하나 비교하여, 원하는 결과를 찾는 방식.
- 따라서, 탐색 데이터 구조를 활용하지 않고,
- 단순히 데이터베이스의 모든 항목을 순차적으로 검사
Linear Search는 Naive Search 또는 Brute Force Search라고도 불리며,
O(dN)의 시간 복잡도를 가짐
- N : the Cardinarlity of set (집합원소의 갯수, 데이터의 instance 갯수)
- d : 각 instance의 feature수 (vector의 차원수)
장점.
- 탐색을 위한 추가적인 데이터 구조를 유지할 필요가 없음
- Linear Search은 데이터 저장을 제외하고는 추가적인 공간 복잡도를 요구하지 않음.
재밌게도 이 간단한 Naive search 가
고차원의 공간에서는 k-d Tree, R-tree 등의 space partitioning approaches 보다
평균적으로 더 나은 성능을 보이는 경우가 많음.
mlist = [] # query point의 수만큼의 feature vectors for i in img_model: shortest = float('inf') # target 영상의 feature vector 수만큼 반복 for j in img_target: d = dist(i,j) if d < shortest: match = j shortest = d if shortest < Th: mlist.append((i,match))
참고자료
반응형
'Computer > CE' 카테고리의 다른 글
[Ex] CMRR 및 특정 CMRR에서의 최소 신호값 구하기. (0) | 2025.03.25 |
---|---|
[CE] 오늘날의 VLSI 분류 (0) | 2025.03.25 |
[CE] Queue (1) | 2024.11.09 |
[CE] XML (eXtensible Markup Language) (0) | 2024.08.09 |
[CE] Bipartite Graph (이분그래프) (0) | 2024.08.06 |