SMALL Data Structure3 구간 합 ( 핵심이론 ) 구간 합은 합 배열을 이용하여 시간 복잡도를 더 줄이기 위해 사용하는 특수한 목적의 알고리즘 구간 합의 핵심 이론 구간 합 알고리즘을 활용하려면 먼저 합 배열 구하기 합 배열 S 정의 S[i] = A[0] + A[1] + A[2] + ... + A[i-1] + A[i] //A[0]~A[i]까지의 합 합 배열은 기존의 배열을 전처리한 배열 미리 구해놓으면 일정 범위의 합 구하는 시간 복잡도가 O(N) → O(1) 합 배열 S 만드는 공식 S[i] = S[i-1] + A[i] 구간 합을 구하는 공식 2023. 6. 16. (Data Structure) 정렬알고리즘 성능 평가 정렬알고리즘 종류 1. Bubble_sort 2. Insert_sort 3. Select_sort 4. Merge_sort 5. Quick_sort @소스코드 #define _CRT_SECURE_NO_WARNINGS #include #include #include #define DATA_MAX 50000 int Data[DATA_MAX]; void firstDataInit() { int i; for (i = 0; i < DATA_MAX ; i++) Data[i] = i; } void DataInit() { firstDataInit(); srand((unsigned int)time(NULL)); int temp,i,count; //parts unranked, part unsorted for (i = 0; .. 2020. 9. 1. (Data Structure) Linked List 연결 리스트(LinkedList)란? 각 자료를 동적 할당으로 따로 잡아주고 이러한 자료들을 하나로 묶어 순차적으로 관리할 수 있게 리스트화 한 것이 다. 연결 리스트 종류 1. 단일 연결 리스트(single Linked List) 2. 더블 연결 리스트(Dubble Linked List) 3. 원형 연결 리스트(Circular Linked List) ※single Linked List 리스트가 한 방향으로 이루어져 있다. (각 노드는 다음 노드의 주소만 안다.) 각 노드의 데이터는 무슨값이든 될 수 있다. data가 무엇이든지 typedef선언으로 변경해주고 조금의 수정만 하면, 사용 가능하게 구현되어야 한다. 단일 연결 리스트는 위와 같은 구조로 이뤄져있다. 단일 방향이기 때문에 특정 방향으로만 타고.. 2020. 9. 1. 이전 1 다음 반응형 LIST