본문 바로가기

IT235

[데이터베이스] ep2) DBMS ※ 트랜잭션(transaction): DB시스템에서 복구 및 병행 시 처리되는 작업의 논리적 단위 ㅇ데이터 사전(= 시스템 카탈로그): 스키마, 스키마 간의 맵핑 정보, 다양한 제약조건 등을 저장한다(메타 데이터: 데이터에 대한 데이터)  [DB 시스템 유틸리티]적재, 백업, 파일 재조직, 성능 모니터링, 파일 정렬, 데이터 압축, 사용자 접근 모니터링, 네트워크와의 인터페이스 등  DBMS의 장점: 데이터 중복 통제, 데이터 동시 공유, 데이터 보안 향상, 데이터 무결성 유지, 장애 발생 시 회복 가능DBMS의 단점: 비용, 복잡한 백업&회복, 중앙 집중 관리로 인한 취약점     데이터베이스 사용자는 3가지로 나뉜다1. DBA(DataBase Administrator): 데이터베이스 관리자2. 최종 .. 2024. 6. 20.
[웹 지식] 웹 서비스 개발의 이해 [HTML5가 지원하는 주요 기능]- 멀티미디어 기능 제공 - 플러그인 없이 음악, 동영상 재생- 그래픽 지원 - 2차원, 3차원- 서버와 클라이언트 간의 실시간 양방향 소켓 통신 지원 (e.g. 실시간 채팅, 온라인 게임)- 다양한 장치 접근 (e.g. 배터리 잔량, 현재 위치, 알람 등)- 시맨틱 태그 추가 (시맨틱 웹: 컴퓨터 프로그램이 코드를 읽고 의미를 인식할 수 있는 지능형 웹)- CSS3 스타일시트 - 3차원 변환, 애니메이션 효과 등  ㅇ메타 태그(meta tag): 웹 페이지에 대한 추가 정보를 제공 운영체제 기술블로그 추가지식1) 가상머신(Virtual Machine) 가상머신은 소프트웨어적으로 만들어낸 가상 컴퓨터이다 가상머신을 설치하면 새로운 운영.. 2024. 6. 20.
[자료구조] ep8) 분리집합(Disjoint Set) ㅇ분리집합 ADT: 교집합이 없는 집합들서로소집합이라고도 불리며 Union-Find라고도 한다 소속 관계가 분명해야 하는 데이터를 다룰 때 유용하다목적: 원소가 어느 집합에 귀속되어 있는지 (find 함수) 직접 응용: 동치관계(e.g. 그래프), 최소신장트리간접 응용: 알고리즘 구현, 저료구조 구현  - set find(e): 원소 e가 속한 집합을 반환- union(x, y): 집합 x, y를 통합- int size(S): 집합 S 원소의 수를 반환  [구현 방법 2가지]1. 리스트(or 배열)에 기초한 구현 find는 빠르고 union은 느리다2. 트리에 기초한 구현find는 느리고 union은 빠르다  1-1 리스트에 기초한 구현: 분리집합 집단을 레코드의 배열로 표현  1-2 배열에 기초한 구현.. 2024. 6. 11.
[자료구조] ep7++) 결정 트리(decision tree) - 양자택일식 문답시스템 ㅇ결정 트리(decision tree): 의사결정 과정과 연관된 이진트리- 내부노드: yes/no로 답 할 수 있는 질문- 외부노드(리프): 결정    활용) 프로그램 요구사항 다음과 같이 한 프로그램 내에서 양자택일식 문답시스템의 구축과 사용을 연속하여 지원하는 프로그램을 작성하라. 1) 문답시스템 구축 지원 기능 -  결정트리는 배열 또는 연결리스트 가운데 하나를 이용하여 구축되어야 한다. -  1회의 상담은 최소 3회 ~ 최대 5회의 문답을 통해 완료되도록 제한하라(즉, 상담설계자가 이 시스템을 이용하여 최소 8개 ~ 최대 32개의 결정을 포함하는 결정트리의 구축을 지원할 수 있어야 한다). -  설계된 결정트리를 프로그램을 통해 구축하라(즉, buildDecisionTree를 1회 호출). 2) .. 2024. 6. 11.
[자료구조] ep7+) 이진 트리 구현 및 탐색 이번 문제에서는 트리가 고정되지 않고 트리의 모양이 입력으로 주어진다. 1. 트리 만들기 (구현)◦ 트리는 연결이진트리로 구현하며 각 노드에 저장되는 정보는 아래와 같다.◦ 선위순회 순서로 각 노드에 대한 정보가 주어지면, 루트노드부터 확장해 가는 방식으로 트리를 구성할 수 있다.- 노드 번호는 유일한 양의 정수며, 노드 번호에 특별한 순서는 없다. - 각 노드에 대한 정보는 괄호에 싸인 세 개의 정수, 즉 (x y z)로 표현된다.- 여기서 x는 해당 노드의 번호, y는 x의 왼쪽 자식 노드의 번호, z는 x의 오른쪽 자식 노드의 번호를 나타낸다. 해당 자식이 없는 경우에는 번호 0이 주어진다.    2. 트리 탐색◦ 트리 탐색은 루트노드에서 시작하여 자식 링크를 따라 내려가면서 진행된다.- 탐색 도중.. 2024. 6. 11.
[자료구조] ep7-2) 트리 순회 트리 순회(tree traversal): 트리의 노드들을 체계적인 방식으로 방문하는 것을 의미트리의 주요 순회로는 크게 3가지가 있고 추가적인 순회로 또 2가지가 더 있다 1. 선위순회(predorder traversal): Root > Left > Right  응용: 구조적 문서를 인쇄, 계층적 파일 시스템의 모든 폴더들을 나열 void preorderTraversal(NODE* node) { // 재귀적 성질을 이용한다 if (node == NULL) { return; } printf(" %d", node->data); // Root preorderTraversal(node->left); // Left preorderTraversal(node->right); /.. 2024. 6. 10.
[자료구조] ep7-1) 트리(Tree) ㅇ트리(Tree) ADT: 계층적으로 저장된 데이터 원소들을 모델링 - 계층적 구조맨 위의 원소를 제외하고, 각 트리 원소는 부모(parent) 원소와 0개 이상의 자식(children) 원소들을 가진다(전제: 트리는 비어있지 않다 - 알고리즘 단순화) 내부 노드(internal node): 적어도 한 개의 자식을 가진 노드(A, B, C, F)외부 노드, 리프(external node, leaf): 자식이 없는 노드(E, I, J, K, G, H, D)형제(siblings): 같은 부모를 가진 노드들(G, H)조상(ancestor): 부모(parent), 조부모(grandparent), 증조부모(grand-grandparent) 등자손(descendant): 자식(child), 손주(grandchild.. 2024. 6. 9.
[자료구조] ep6+) 두 개의 큐로 스택 설계 문제) 두 개의 큐로 스택을 설계하라프로그램 요구사항 S : S에 대해 isEmpty() 호출 (isEmpty)t : S에 대해 top() 호출 (top)p n1 n2 n3 ... : S에 대해 push(n1), push(n2), push(n3) ... 를 차례로 호출 (push)P : S에 대해 push(n)을 100만번 호출 - 여기서 n은 10~99 사이의 정수 난수 (pushMillion) o : S에 대해 pop() 호출 (pop) q : 수행 종료 (quit)  실행예에서 괄호 속의 수는 해당 명령 수행직후의 스택 S 사이즈를 나타낸다. cputime X.XXXXXXXX는 측정된 cputime in milliseconds이다. 이 실행시간은 각 부함수에 대한 호출과 반환 사이에 소요된 cput.. 2024. 6. 9.
[자료구조] ep6-3) 데크(Deque) ㅇ데크(Double-Ended Queue) ADT: 임의의 개체들을 저장하며, 스택과 큐의 합체 방식으로 작동한다삽입(add)과 삭제(delete)는 앞(front)과 뒤(rear)라 불리는 양쪽 끝 위치에서 수행쉽게 말해서, 양쪽 방향으로의 add/delete 가 둘 다 가능하다   역시 마찬가지로 데크는 배열과 리스트 2가지 방법으로 구현할 수 있다 1. 이중연결리스트에 기초한 데크 2. 배열에 기초한 데크똑같이 선형 배열은 비효율적이므로, 원형 배열을 사용한다       문제) 데크는 큐의 전단(front)과 후단(rear)에서 모두 삽입과 삭제가 가능한 자료구조다. 헤더 노드와 트레일러 노드가 없는 이중연결리스트를 사용하여 아래에 정의된 데크 함수들을 구현하시오.◦ 초기 상태- 주의 : 명령 수행.. 2024. 6. 9.