It17 C++ - Greedy algorithm ( 헛간 고치기 ) 그리디 알고리즘이란? - 욕심쟁이 알고리즘, 탐욕 알고리즘으로도 알려져있다. - 최적해를 구하는 데에 사용되는 근사적인 방법으로, 여러 경우 중 하나를 결정해야 할 때마다 그 순간에 최적이라고 생각되는 것을 선택해 나가는 방식으로 진행하여 최종적인 해답에 도달한다. ( 위키 백과 ) - 각 단계에서 최선의 선택을 한 것이 전체(전역)적으로도 최선이길 바라는 알고리즘 - 각 단계에서 최선의 선택을 하기위해 정렬을 동반하는 경우가 많다. 헛간을 고쳐보자 http://220.89.64.243/30stair/barn/barn.php?pname=barn 헛간 고치기 프로그램 명: barn 제한시간: 1 초 축사의 지붕과 문이 폭풍에 날아갔다. 우리 모두에 소가 있지 않은 경우 주어지는 판자 수로 소들이 있는 축사.. 2023. 2. 9. C++ - 큐, 너비 우선 탐색 (도망간 소 잡기) http://220.89.64.243/30stair/catch_cow/catch_cow.php?pname=catch_cow 도망간 소 한 마리를 잡아야 한다. 농부 존은 1 데이터, [1] -> 깊이 int freq[100010]; // 중복 방지 int main() { int n, k, temp = 0; scanf("%d%d", &n, &k); que[0][++rear] = n; // 농부 위치 삽입 que[1][rear] = 0; freq[que[0][rear]] = 1; while (front != rear) { temp = que[0][++front]; if (temp == k) { printf("%d", que[1][front]); return 0; } if (temp + 1 = 0 && !fr.. 2023. 2. 9. DB 엔진 - 도메인 char, varchar2 테이블을 만들면서 칼럼의 도메인을 char 또는 varchar2로 설정한 적이 있을 것이다. 개인이 sql을 공부한하던가, 저장공간 대비 DB 사용공간이 적다면 두 도메인을 사용하는 데 신경 쓰지 않아도 되지만, 물리적인 디스크 내부의 공간을 효율적으로 사용해야 한다면 두 도메인 선택에 신중해야 한다. CHAR create table test( test1 char(10) ) / insert into test values('t1') char도메인을 사용하는 칼럼은 insert시 사용자가 정한 크기만큼 고정적인 공간을 할당한다. 위 코드 test테이블의 test1 칼럼의 't1'은 2byte 밖에 공간을 사용하지 않지만 물리적인 디스크 공간에 10byte만큼 고정적으로 사용할 수 있기 때문에 할당된 크기 내.. 2022. 12. 28. DB 엔진 - DB block header Segment의 첫 번째 Extent의 첫 번째 block은 Segment header block이다. header 구성 Block id block의 위치 주소 Transaction slot block 내부의 row에 마지막으로 실행됐던 트랜잭션에 대한 정보를 담는다. 디폴트로 5개를 유지한다. 1) Transaction id : Tr의 id 2) Commit scn : 마지막으로 commit 된 시간 도메인 3) UBA(Undo block Address) : undo data 주소 UBA는 undo segment의 header에 Transaction table에도 존재함. undo segment transaction table에 UBA의 주소로 가면 - update(DML), transaction id.. 2022. 12. 26. DB 엔진 - 병행성과 일관성, Lock 병행성과 일관성이란? 뜻 문제점 병행성 컴퓨터 과학에서 여러 계산을 동시에 수행하는 시스템의 특성으로, 잠재적으로는 서로 상호 작용이 가능하다. 병행성을 높이고 일관성을 낮추면 트랜잭션을 실행했을 때, 실행하고 있던 다른 트랙잭션(선행 트랜잭션)과 상호 작용이 가능하기 때문에 부정확한 결과를 낳을 수 있다. (Dead lock) 일관성 일관성이란 트랜잭션이 실행을 성공적으로 완료하면 언제나 일관성 있는 데이터베이스 상태로 유지하는 것을 의미한다. (Lock) 병행성을 낮추고 일관성을 높이면 트랜잭션이 실행중일 때 다른 트랜잭션은 선행중인 트랜잭션과 전혀 연관이 없는 작업을 수행하지만 table에 접근조차 할 수 없어 트랜잭션 처리에 시간이 오래걸릴 수 있다. 트랜잭션이란? - A unit of the l.. 2022. 12. 26. DB 엔진 - 기동 순서, 복구, 백업 Oracle 기동 순서 1. shutdown - DB, Instance 모두 종료된 상태 2. nomount - system parameter file에 의해 메모리에 SGA, Background process 등 세팅한다. - DB 생성할 수 있는 단계 - Control file을 재생성할 수 있는 단계 3. mount - control file 정보에 의해 media recovery, DB 구조변경 DB 모드 변경할 수 있는 단계이다. - DB 모드는 Archive mode와 no Archive mode가 존재하는데 default로 no Archive mode로 되어있기 때문에 Archive file을 사용하려면 나중에 따로 모드를 변경해주어야 한다. ※Archive file은 복구에 필요한 중요한 .. 2022. 12. 23. 이전 1 2 3 다음