본문 바로가기

알고리즘(C언어)45

(9)[Chapter6]순차탐색_전진이동법,전위법(이론)(작성중) ##순차탐색이론_전진이동법,전위법 전체노트(이론) ##전진 이동법 요약 노트##전위법 요약 노트 2024. 7. 19.
(8)[Chapter5]정렬_퀵정렬(이론 + 코드), 작성중 #내가 전까지 써왔던 Partition()의 퀵소트 코드1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283#includestdio.h>#includestdlib.h>#includemath.h>#includetime.h>#pragma warning (disable : 4996) int Partition(int* arr,int start, int end) {     //1_ random으로 pivot 선정하기     int ridx = start + rand() % (end - s.. 2024. 7. 11.
(7)[Chapter5]정렬_버블정렬,삽입정렬(이론 + 코드), 작성중 ##버블정렬,삽입정렬_이론/코드 노트:##버블정렬 핵심 개념 .  버블정렬 직접 구현 핵심 개념 : (오름차순 : "낮 → 높" 으로 가정)  비교 : 서로 이웃한 값끼리 비교 연산 : "오름차순" => 왼 > 오 라면, => Swap()★N회전 범위(i) : size(원소 개수 : N )~ 1(원소 개수 :2) (역순 : 왼쪽으로 좁혀진다.)비교 연산의 범위 (j) : 0~ ( i -1) (순행)  . ★버블정렬의 총 비교홧수 , 총 연산횟수 :※ N회전마다, 비교, 연산횟수 빠르게 구하는 방법 => N회전 범위에서, 가장 큰 원소를 기준으로 왼쪽 오른쪽 나누고,비교 횟수 : 원소 배열 상태에 상관없이, N회차 범위 원소개수 - 1번연산 횟수 : N회차 범위 내에서, 가장 큰 원소가 왼쪽에 있을수록 ,.. 2024. 7. 10.
(6)[Chapter4]분리집합_이론,코드구현 ##분리집합 이론 노트 정리##분리집합 코드 구현  12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879#include stdio.h>#include stdlib.h> //분리 집합 구조체typedef struct _DS_Set {    struct _DS_Set* Parent;    void* Data;}Set; //원소(1개짜리 원소 집합) 생성 메소드Set* MakeSet(void* Data) {    Set* newSet = (Set*)malloc(sizeof(Set));    newS.. 2024. 7. 8.