본문 바로가기

알고리즘(C언어)/알고리즘 및 실습 강의14

(2)실습2주차_우선순위 큐(선택 & 삽입 정렬)_2_문제3의 코드와 노트 [문제3]##질문들에 대한 필요한 자료 :### **질문 A: 정렬되지 않은 데이터가 주어지는 경우** 1. **a) 동일한 n으로 여러 번 실행하여, 어느 정렬이 더 빠른지 비교해보자:**    - 정렬되지 않은 데이터에 대해 선택 정렬과 삽입 정렬 중 어느 것이 더 빠른지 비교하는 것이 목표입니다.    - 선택 정렬은 데이터의 초기 상태와 상관없이 항상 \(O(n^2)\)의 시간 복잡도를 가지며, 삽입 정렬은 부분적으로 정렬된 데이터에 대해 더 나은 성능을 보일 수 있습니다. 하지만, 두 알고리즘 모두 최악의 경우에는 \(O(n^2)\) 시간이 걸리기 때문에 성능 차이가 크지 않을 수 있습니다.    - 동일한 크기의 n에 대해 여러 번 프로그램을 실행해보고, 어느 알고리즘이 더 빠른지 실행 시간을.. 2024. 9. 1.
(1)실습2주차_우선순위 큐(선택 & 삽입 정렬)_1_문제1,문제2의 코드와 노트 [문제1]#기억해야할 개념 :순방향으로 배열의 최댓값을 검색하는 j의 범위에서,첫번째 요소를 max_i라 하고, j는 인덱스 1을 시작범위로 지정끝범위는 i-1가 아닌 i를 포함해야한다.이에 대한 노트정리 :##코드 :1234567891011121314151617181920212223242526272829303132333435363738394041424344#include stdio.h>#include stdlib.h>#pragma warning (disable : 4996) void InPlaceSort(int* A, int size) {    for (int i = size - 1; i >= 0; i--)     {        int max_i = 0;//최댓값을 첫번째 원소로 지정        f.. 2024. 9. 1.