[Information]/[Algorithm]

[Algorithm] 순차 탐색 (Sequential Search)

starterr 2024. 7. 22. 17:21
반응형

개념

정렬되지 않은 배열의 항목들을 처음부터 마지막까지 하나씩 검사하여 원하는 항목을 찾아가는 방법
 

 

I. 순차 탐색 (Sequential Search)의 개요

가. 순차 탐색의 정의

- 정렬되지 않은 배열의 항목들을 처음부터 마지막까지 하나씩 검사하여 원하는 항목을 찾아가는 방법

 

나. 순차 탐색의 종류

- 전진 이동법 (Move To Front): 탐색된 데이터는 가장 앞으로 이동

- 전위법 (Transpose): 바로 앞 데이터와 탐색된 데이터의 위치 변경

- 계수법 (Frequency Count): 데이터마다 탐색된 횟수를 새로 저장하며, 그 횟수를 내림차순 정렬

 

 

Ⅱ. 순차 탐색의 종류 및 사례

 

가. 전진 이동법

 

단계 구현 사례
LinkedList* FindDataMove( LinkedList* Node, int Data)
{
LinkedList* List = Node;

LinkedList* Previous = NULL;

while(List != NULL){

if(List->Data == Data){
if(Previous == NULL){
Node = List;
}
else{

Previous->NextNode = List->NextNode;
List->NextNode = Node;
Node = List;
}
break;
}

Previous = List;
List = List ->NextNode;
}

return node;
}
반응형

 

나. 전위법

 

단계 구현 사례
LinkedList* FindDataTranspose( LinkedList* Node, int Data)
{
LinkedList* List = Node;

LinkedList* Previous = NULL;
LinkedList* Previous_p = NULL;

while(List != NULL){

if(List->Data == Data){
if(Previous_p != NULL)
Previous_p->NextNode = List;

else break;


if(Previous != NULL)

Previous->NextNode = List->NextNode;
List->NextNode = Previous; }

else break; }


if(Previous != NULL) Previous_p = Previous

Previous = List;
List = List ->NextNode;
}

 

다. 계수법

 

단계 구현 사례
- 데이터 집합내의 각 요소들이 탐색된 횟수를 별도의 공간에 저장해 두고, 탐색된 횟수가 높은 순으로 데이터 집합을 재구성하는 전략의 알고리즘


- 계수 결과를 저장하는 별도의 공간을 유지해야 하고 계수 결과에 따라 데이터 집합을 재배치해야 한다.

 

[Algorithm] 삽입 정렬 (Insert Sort)

 

[Algorithm] 삽입 정렬 (Insert Sort)

개념첫번째 키는 정의된 것으로 보고 두번째 키부터 순서에 맞는 위치에 삽입시켜 정렬하는 방법 I. 삽입 정렬 (Insert Sort)의 개요 가. 삽입 정렬의 정의- 첫번째 키는 정의된 것으로 보고 두

infoofit.tistory.com

 

 

[Algorithm] 철학자들의 만찬 - 다익스트라 제안 알고리즘

 

[Algorithm] 철학자들의 만찬 - 다익스트라 제안 알고리즘

개념다익스트라를 비롯한 개념없는 철학자들의 한정된 포크를 공유하는 기아상태 유발의 식사 행태 I. 다익스트라가 제안한 기아상태가 가능한 철학자의 식사가. 철학자의 식사의 개요다익스

infoofit.tistory.com

 

반응형