◆◆정렬의 개념 ◆정렬의 개념 ●정렬의 정의 ▷다수의 데이터를 일정항 규칙에 따라 순서대로 나열하는 방법이다. - 오름차순(Ascending Order) : 작거나 앞선 데이터부터 순서대로 나열 - 내림차순(Descending Orde) : 크거나 뒷선 데이터부터 역순으로 나열 ●정렬의 종류별 시간 복잡도 정렬 방식 평균 최악 삽입 정렬 O(N²) O(N²) 버블 정렬 O(N²) O(N²) 선택 정렬 O(N²) O(N²) 쉘 정렬 O(N^1.5) O(N²) 힙 정렬 O(NlogN) O(NlogN) 이진 병합 정렬 O(NlogN) O(NlogN) 퀵 정렬 O(NlogN) O(N²) //로직 추가로 O(NlogN) 가능 버킷 정렬 O(D+N) O(N²) 계수 정렬(Counting sort) O(N+K) O(..
잊기 전에 메모해 두려고 한다. C++을 사용하고 있고 cin/cout을 사용하고자 한다면, 1. cin.tie(NULL)과 //cin과 cout 버퍼 동기화 해제 2. sync_with_stdio(false)를 둘 다 적용해 주고, //C식 입출력 해제 3. endl 대신 개행문자(\n)를 쓰자. //문자열 처리 단, 이렇게 하면 더 이상 scanf/printf/puts/getchar/putchar 등 C의 입출력 방식을 사용하면 안 된다. 단, 1을 진행할 경우 입출력의 순서가 라인과 달라질 수 있다.
◆Lvalue : 메모리 위치와 식별자를 알 수 있는 값 (나중에 부를 수 있는 값)(& : Lvalue refrence) ◆Rvalue : 메모리 위치와 식별자를 알 수 없는 값 (나중에 부를 수 없는 값)(&& : Rvalue refrence) ◆Lvalue와 Rvalue의 레퍼런스 / /기본값 int test=0; // Lvalue의 레퍼런스 int & L_int = test; // 기본 자료형에 대한 Rvalue레퍼런스를 사용했을경우 int 10으로 저장되어 모호성이 생길 수 있다. int && R_int = 10; ◆Rvalue를 사용하는 이유 ●함수의 매개변수로 ▷Lvalue를 사용하면 깊은 복사가 2번 일어나게 되고 ▷Lvalue의 refrence의 경우 1번 ▷Rvalue의 refrence..