따..딱히 공부하려고 포스팅하는 건 아니니까..!
인접 리스트(Adjacency List) 정의 각각의 정점에 인접한 정점들을 연결 리스트로 표시한 것 특징1) 각 연결 리스트의 노드들은 인접 정점을 저장2) 연결 리스트들은 헤더 노드를 가지고 있고 헤더 노드들은 하나의 배열로 구성되어 있다.3) 정점의 번호를 이용하여 배열의 인덱스에 접근할 수 있으므로 정점 리스트에 쉽게 접근할 수 있다.4) 정점의 개수에 비해 연결된 선분이 적을 때 사용하면 좋다 #include using namespace std; // enum으로 정점을 숫자로 치환, 배열을 이용하여 다시 되돌림enum vertices{ a, b, c, d, e, f };char vertices[] = { 'a', 'b', 'c', 'd', 'e', 'f' }; typedef int LData;..
퀵 정렬 (Quick Sort) - 정의 : 2개의 부분문제로 분할하나 각 부분문제의 크기가 일정하지 않은 형태의 분할 정복 알고리즘- 문제점 : 정복 후 분할하는 특징이 있어 이 정렬을 수행하기 위해 다시 정렬(Sort)를 해주어야 하는 문제가 있다. 최악 경우 시간복잡도 : O(n^2)최선 경우 시간복잡도 : 피봇과의 비교횟수 X 층수 = O(n) X log2n = O(nlog2n) - 피봇 선정 방법: 퀵 정렬의 불균형한 분할을 완화하기 위해 피봇 선정 방법이 생김 1) 랜덤2) 세 숫자의 중앙값으로 선정하는 방법 : 가장 왼쪽, 중간, 가장 오른쪽 숫자 중에서 중앙값을 피봇으로 정한다.ex) 가장 왼쪽 숫자 11, 중간 숫자 1, 가장 오른쪽 숫자 20이라고 할때 가장 중간에 가까운 11을 피봇으..
데이터베이스를 export/import 할 때에는 꼭 한 번만 하지는 않는다.삽입/수정/삭제가 빈번히 일어날 수도 있기 때문에 여러번 하게 되는데이때 이미 테이블이나 데이터베이스 등이 만들어져 있는데 또 import하는 것이 부담되는 경우라면 if exists/if not exists 라는 명령어를 사용하도록 하자. 사용 예) create database if not exists DB명;use DB명; drop table if exists TABLE명;