본문 바로가기

알고리즘(C언어)40

(11)[Chapter6]이진 탐색(이론 + 코드) ## 이론 노트 :##핵심 내용 요약 :1_ 구현 코드에서 반띵 기준A[mid] > 탐색값 => 왼쪽으로 반띵 => end = mid -1 대입A[mid] 오른쪽으로 반띵 => start = mid +1 대입A[mid] == 탐색값 => 찾았다.=> return mid(인덱스)2_ 종료 시점까지 도달하는 경우Case1_▲ 우연히 끝까지 도달한 값 == 탐색 값 => mid 인덱스 반환Case2_  탐색값이 배열안에 없는 경우 => NULL이 반환3_ 이진 탐색 기능 : 최악의 경우 (2_상황) ※탐색횟수 = [log(2)(탐색 데이터의 수)]ex_ N = 10 , 최악의 경우의 탐색 횟수 [log(2)(10)] = [3.xxx] = 3번4_ 이진 탐색 함수 라이브러리 사용법(구조체 배열일 경우) :ⓐ... 2024. 7. 21.
(10)[Chapter6]순차탐색_계수법(이론+코드)(작성중) 하다가 힘들어서 정리하는건 미룰래 기록만 하자##이론 :##코드 :123456789101112131415161718192021222324252627282930313233343536373839404142// 계수법(Count Heuristic)을 사용한 순차 검색 함수Node* FCM(Node** head, int data) {    Node* C = *head;    Node* M = NULL;    Node* prev = NULL;     // 노드를 찾는 과정    while (C != NULL) {        if (C->data == data) { // 데이터를 찾았다면            C->cnt++; // 탐색 횟수 증가            M = C; // 찾은 노드를 M에 저장    .. 2024. 7. 19.
(10)[Chapter6]순차탐색_전진이동법,전위법(코드편) (작성중) ##연결리스트 구조체,삽입,출력 코드 : ##전진이동법 메소드 코드:##전위법 메소드 코드 :##전체 코드 :1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481.. 2024. 7. 19.
(9)[Chapter6]순차탐색_전진이동법,전위법(이론)(작성중) ##순차탐색이론_전진이동법,전위법 전체노트(이론) ##전진 이동법 요약 노트##전위법 요약 노트 2024. 7. 19.