Computer Science 156

운영체제 1강 :: 운영체제란, 커널모드, 운영체제 유형

운영체제에서 기억하고 싶은 내용 운영체제란? 응용 소프트웨어와 하드웨어 사이의 매개체 대표적인 시스템 소프트웨어 컴퓨터 시스템의 자원 관리 컴퓨터 프로그램의 서비스 제공하는 프로그램들의 모음 운영체제 역할 컴퓨터 시스템 자원 관리 자원: 하드웨어 자원, 소프트웨어 자원, 데이터 저장장치에서 데이터 읽어 오는 역할 키보드, 마우스 제어 역할 동시에 여러 프로그램 실행시 CPU와 메모리 효율적 관리 => 컴퓨터 시스템을 효율적으로 운영하는 목적 사용자 지원 사용자가 내린 명령을 해석해서 실행(CLI) 사용자와 하드웨어 사이의 매개체 => 사용자에게 편의성 제공하는 목적 우와~~ 초기에는 운영체제가 없었다 그러니 응용 프로그램이 하드웨어를 제어했었다 이 말은, 응용 프로그램 개발자는 하드웨어 제어방법을 알아야..

데이터베이스 강의 마무리 정리

데이터베이스 강의 마무리 하며 정리 ✅ DBMS 이전 데이터 관리 방식, 운영체제의 지원으로 여러 파일에 나누어 데이터를 영구 저장하고 운영하는 시스템 파일 처리 시스템 ✅ 파일 처리 방식의 데이터 관리로 발생할 수 있는 문제점 데이터 중복 데이터 무결성 훼손 동시 접근 이상 ✅ 데이터 중복으로 생길 수 있는 문제 일관성 보안성 경제성 ✅ 한 조직의 연관된 데이터 집합을 다수의 사용자가 공용으로 사용하기 위해 통합 저장한 데이터 데이터베이스 ✅ 한 조직의 연관된 데이터 집합을 다수의 사용자가 공용으로 사용하기 위해 통합 저장하는 소프트웨어 패키지 데이터베이스 관리 시스템 ✅ DBMS가 데이터의 일관성을 보장하면서 다수의 데이터 조작 요청을 동시에 수행하기 위한 개념 트랜잭션 ✅ 데이터는 값과 OO로 구성..

알고리즘 강의 마무리 정리

알고리즘 강의 마무리 하며 정리 ✅ 이론적으로 문제 해결 관점에서 반드시 만족해야 하는 알고리즘 조건 유효성 명확성 유한성 ✅ 선형 리스트의 한 쪽 끝에서만 자료의 삽입과 삭제가 이루어지는 자료구조 스택 ✅ 길이가 k인 이진트리가 가질 수 있는 노드의 최대 개수 2k -1 ✅ 높이가 4인 이진트리가 최대 개수의 노드를 갖을 때, 단말 노드의 개수 8개 ✅ 연결 리스트의 특정 노드에서 선행, 후행 노드 양쪽에 대한 접근이 가능한 것 이중 연결 리스트 ✅ 그래프 G에서 정점 v1에서 정점 vn 까지 경로란? 간선(v1, v2), (v2, v3), ... (vn-1, vn)으로 연결된 정점의 순서 리스트 v1, v2, ..., vn을 의미 ✅ 알고리즘의 시간 복잡도는 무엇의 함수일까? 입력 데이터의 크기 ✅ ..

이산수학 강의 마무리 정리

이산수학 마무리 하며 정리 ✅ 이산수학에서 다루는 대상 이진 트리 ✅ 알고리즘을 표현하는 방법 의사코드(Pseudocode) 순서도(flowchart) 컴퓨터 프로그래밍 언어 ✅ 어떤 문제를 해결하기 위해 문제랑 관련 깊은 것만 남기도 다른 부분을 제거해서 명확하고 간단하게 만드는 것 추상화 ✅ 명제 참과 거짓을 구별할 수 있는 문장이나 식 ex) 명제: 지구에서는 육지가 바다 보다 넓다 ex) 명제 아님: 2x - 6 ✅ 모순 명제 항상 거짓의 값을 갖는 명제 반대말: 항진 명제 ✅ 유효 추론 주어진 참의 전제에 의해 유도된 결론이 참인 경우 ✅ 허위 추론 주어진 참의 전제에 의해 유도된 결론이 거짓인 경우 ✅ 특정한 공리를 가정하고, 그 가정 하에 제안된 명제가 참인 것을 입증하는 작업 증명 ✅ 대우..

이산수학 12강 :: 순열, 조합, 비둘기집의 원리

이산수학 12강을 보며 배운내용 순열(Permutation) 순서를 고려해서 r개의 원소를 뽑는 경우의 수 P(n, r) = n! / (n - r)! 중복집합에서 순열 중복된 원소가 p개, q개, r개가 있을 때, n개를 일렬로 배열하는 경우의 수 n! / p! q! r! 이런 것도 풀 수 있다 노드 A에서 노드 B까지 최단 경로의 방법의 수 위로 4번, 오른쪽으로 6번가면 최단경로다 10개의 변을 지나는 것이니까 10! / 6! x 4! = 210 중복 순열 중복을 허용하고 순서를 고려해서 r개의 원소를 뽑는 경우의 수 ∏ (n, r) = nr 예시) S, A, N, T, A 문자 중 3개를 이용해서 만들 수 있는 단어 개수(중복 허용) ∏ (5, 3) = 53 = 125 만약 중복이 허용되지 않으면 ..

이산수학 11강 :: 트리, 이진트리, 완전이진트리, 이진탐색트리, 최소신장트리

이산수학 11강을 보며 배운내용 트리 사이클이 없는 단순 연결 그래프를 트리(tree)라고 한다 루트 트리 루트 노드로부터 서브 트리가 나와있다 트리 주요 용어 부모(parent) 노드 자식(child) 노드 형제(sibling) 노드 차수(degree): 자식 노드의 수 전체 차수는 트리 차수 중 가장 큰 것을 말한다 리프(leaf) / 단말(terminal) 노드: 자식이 없는 노드 레벨(level): 루트에서 N까지 경로의 길이 높이(height) / 깊이(depth) 무게(weight): 리프 노드의 개수 닮은 트리: 트리의 구조는 동일하지만, 노드의 데이터가 다를 때 주요 정리 n개의 꼭지점을 갖는 트리는 n - 1개의 변을 가진다 이진 트리(Binary Tree) 공집합이거나, 모든 노드가 최..

데이터베이스 12강 :: 트랜잭션, 동시성, 스케줄

데이터베이스 12강을 보며 배운내용 트랜잭션이 뭐지? 데이터베이스를 조작하기 위한 하나의 논리적 단위를 이루는 연산의 집합 데이터베이스를 사용하는 작업을 묶어놓은 것을 트랙잭션이라고 부른다 그럼 코드 작성할 때의 함수 같은거구나~ => 여러 사용자가 데이터에 동시 접근시, 데이터의 일관성 문제를 해결해준다 특징 항상 ACID 특징을 준수해야 한다 원자성(Atomicity) 트랜잭션에 포함된 모든 연산 전체가 수행되거나 or 하나도 안되거나 모 아니면 도 일관성(Consistency) 트랜잭션이 수행되기 전과 후에 데이터베이스가 일관된 상태 유지 고립성(Isolation) 하나의 트랜잭션은 다른 트랜잭션에 방해받지 않는다 지속성(Durability) DBMS에 문제가 생겨도 데이터베이스에 저장된 트랜잭션의..

이산수학 10강 :: 그래프(2/2), 평면 그래프, 오일러, 해밀턴, 가중 그래프, 최단 경로문제

이산수학 10강을 보며 배운내용 정리(TL;DR) 평면 그래프 모든 변이 교차하지 않는 그래프 오일러 사이클 모든 변을 한 번만 지나고, 시작점과 종점이 같다 해밀턴 사이클 모든 꼭지점을 한 번만 지나고, 시작점과 종점이 같다 가중 그래프 각 변에 가중치가 있는 그래프 최단 경로, 신장 트리 등에 이용 평면 그래프 그래프의 모든 변이 교차하지 않는 그래프 평면 그래프 예시 1 평면 그래프 예시 2 왼쪽의 이미지의 변을 옮기면 오른쪽처럼 되는데 겹치는 변이 없어서 평면 그래프다 오일러의 공식(Euler's Formula) 연결된 평면 그래프에서, 꼭지점의 수 v, 변의 수 e, 면의 수 f 라고 하면 v(꼭지점) - e(변의 수) + f(면의 수) = 2 4색 정리 지도의 인접한 구역을 서로 다른 색으로 ..

이산수학 9강 :: 그래프(1/2), 용어, 종류

이산수학 9강을 보며 배운내용 한 붓 그리기 홀수 점이 없거나, 2개인 경우만 가능 그래프 용어를 정리하자 꼭지점(vertex)와 변(edge)로 구성 변: 두 꼭지점을 연결 인접(adjacent): 연결된 두 꼭지점을 인접한 꼭지점라고 한다 병렬변(parallel edge): 두 꼭지점 사이에 변이 여러 개 일때 루프(loop): 자기 자신을 가리키는 변 고립된 꼭지점(isolated vertext): 어떤 변이랑도 연결 안된 것 방향 그래프: 방향이 있는 그래프 무향 그래프: 방향이 없는 그래프 단순 그래프: 루프와 병렬변이 없는 무향 그래프 그래프에서 총 차수는 항상 짝수다! 변은 항상 2개의 꼭지점을 발생시키니까 그래프 탐색정의 그리고 워크, 트레일, 경로 기본 가정 정의 1 정의 2 워크 W의 ..

데이터베이스 11강 :: 해싱, 정적 해싱, 동적 해싱, 비트맵 인덱스

데이터베이스 11강을 보며 배운내용 해싱이 뭐지? 탐색키의 산술적인 연산으로 버킷의 주소를 계산하는 것을 해싱이라고 한다 🤔 조금 더 쉽게 해시 함수가 탐색키 집합을 어떤 버킷에 저장될 지 알려준다 그러면 해시를 이용해서 버킷에서 데이터 찾을 수도 있겠지. 해싱을 통해서 버킷에 저장될 때, 균등하게 저장되면 좋지만, 보통 일정 버킷으로 몰린다고 한다 해시 함수 이런 해시 함수를 이용해서 버킷에 넣어줄 수 있다 h(k) = k % 6 버킷(bucket)? 데이터를 저장하는 곳의 단위 정적 해싱 버킷의 개수가 고정된 해싱 기법 충돌과 동거자? 서로 다른 두 레코드가 동일한 버킷으로 가면 충돌, 이렇게 충돌난 레코드를 동거자라고 한다 => 한 곳에 몰리면 오버플로우가 발생할 수 있다 오버플로우(overflow..

728x90