1. 탐색 관련 기본 개념탐색이란?여러 개의 원소로 구성된 데이터에서 원하는 값을 갖는 원소를 찾는 것데이터의 형태 → 리스트, 트리, 그래프 등구분 → 내부 탐색 vs 외부 탐색관련연산 → 탐색 + ( 초기화, 삽입, 삭제 )탐색방법리스트 형태 → 순차 탐색, 이진 탐색트리 형태 → 이진 탐색 트리, 2-3-4 트리, 레드-블랙 트리, B-트리해시 테이블 → 해시 함수, 충돌 해결 방법2. 순차 탐색리스트 형태로 주어진 원소들을 처음부터 하나씩 차례로(“순차”) 비교하면서 원하는 값을 갖는 원소를 찾는 방법3. 순차 탐색 : 탐색 연산입력 : A[0..n-1] : 입력 배열n : 입력 크기(탐색할 데이터의 개수)x : 탐색 키출력 : x가 배열 내에 존재하면 인덱스, 아니면 n을 반환기능 : 원하는 데..
1. 프로세스의 자원 사용 절차요구 → 사용 → 해제요구과정에서 가용한 자원이 없으면 자원을 획득할 때까지 대기2. 교착상태 ( Deadlock )여러 개의 프로세스가 서로 상대방의 작업이 끝나기만 기다리고 있어 어느 쪽도 영원히 진행하지 못하는 상태3. 교착상태와 기아상태의 차이교착상태 : 누구도 어느쪽으로도 진행하지 못하는 상태기아상태 : 현재는 진행하지 못하지만, 언젠가는 진행할 수 있는 가능성이 있는 상태4. 교착상태의 필요조건아래의 네 가지 조건이 동시에 만족될 때 교착상태 발생 가능 ( 무조건 발생하는건 X )상호배제점유대기비선점환형대기5. 상호배제( Mutual Exclusion ) 조건프로세스가 자원에 대한 배타적인 통제권을 요구적어도 하나 이상의 자원은 여러 프로세스에 의해 동시에 사용될..
1. SELECT 명령어한 개 이상의 테이블에서 주어진 조건에 만족하는 레코드를 출력하는 명령문관계 대수의 셀렉트, 프로젝트, 조인, 카티션 프로덕트 연산자의 기능을 모두 포함하는 명령문필수절인 SELECT절과 부가적인 목적으로 사용하는 절을 혼합하여 검색 기능을 구체화2. SELECT의 구문형식SELECT [DISTINCT] 컬럼1, 컬럼2, … 컬럼nFROM 테이블1[ INNER JOIN | OUTER JOIN 테이블2, INNER JOIN | OUTER JOIN ON 조인조건식1 테이블3 … , INNER JOIN | OUTER JOIN 테이블m ON 조인조건식n][ WHERE 조건식[중첩질의] ][ GROUP BY 컬럼1, 컬럼2, … 컬럼n [HAVING 조건] ]..
1. 배열의 정의배열( Array )은 행렬을 2차원 이상으로 확장시킨 객체를 의미2차원 구조로 이루어진 행렬도 일종의 배열이라고 할 수 있으며 일반적으로는 3차원 이상의 데이터 객체를 배열이라고 함배열의 주요 속성length : 자료의 개수mode : 자료의 형태dim : 각 차원 벡터의 크기dimnames : 각 차원 리스트의 이름2. 배열의 생성배열을 생성하는데 사용되는 array( ) 함수를 이용하여 1에서 18까지의 원소를 갖는 3행 3열의 행렬 2개를 생성#1~18까지의 자료 생성# c(행의 개수, 열의 개수, 행렬의 개수)를 지정함으로써 원소의 개수를 제한> arr dimnames(arr) arr, , ar 1col 1 col 2 col 3row 1 1 4 7row 2 2 5 8row 3..

1. 확률변수( Random variable )표본공간의 각 원소에 실수값을 대응시켜 주는 함수이산형 확률변수불량품의 수, 고속도로에서의 사고건수, 방문자수 등연속형 확률변수전구의 수명, 몸무게, 체온, 통근시간 등2. 확률변수 예제 1동전을 두 번 던지는 실험𝑋 = “두 번 던질 때 나온 앞면의 수“𝑃(𝑋=2) = 𝑃({앞앞}) = 1 /4𝑃(𝑋=1) = 𝑃({앞뒤, 뒤앞})= 2 / 4 = 1 / 2𝑃(𝑋=0) = 𝑃({뒤뒤})= 1 / 4확률분포함수𝑋012𝑃(𝑋=x)1/41/21/4누적확률분포함수𝑋012𝑃(𝑋≤x)1/43/413. 이산형 확률분포의 성질확률분포함수 𝑝(𝑥) = 𝑃(𝑋=𝑥)에 대하여0 ≤ 𝑝(𝑥) ≤ 1모든 𝑥의 값을 합치면 1이 된다.𝑝(..
1. 구조적 프로그래밍 패러다임절차적 프로그래밍 패러다임의 하위 개념goto 문을 사용하지 않고 프로그램을 3가지 제어 구조만으로 구성하는 프로그래밍 패러다임순차( Sequence ) 구조선택( Selection ) 구조반복( Iteration ) 구조프로그램 실행 흐름이 간결하고 작은 규모로 조직화하기 쉬움2. 순차 구조실행의 흐름을 주어지는 명령의 위치적 흐름에 따라 수행하는 구조명령 라인 위에서 아래로 흐르는 가장 직관적인 구조일단 첫 단계를 시작하면 마지막 단계까지 수행ex ) 설계 → 생산 → 조립3. 선택 구조특정 영역 내의 명령문에 대한 실행 여부를 프로그램 실행 과정 중 결정하는 구조실행 여부는 조건에 따라 결정ex ) 검사를 통해 정상과 불량으로 구분4. 반복 구조특정 영역의 명령문을 여..
1. 힙 자료구조힙 정렬이란?‘힙’ 자료구조의 장점을 활용한 정렬힙 자료구조의 장점임의의 값 삽입과 최댓값 삭제가 쉬움(최대) 힙 heap완전 이진 트리 ( complete binary tree )각 레벨별로 노드가 있어야 함마지막 레벨에서 왼쪽부터 오른쪽으로 노트를 확인했을 때 빈자리가 없어야 함각 노드의 값은 자신의 자식 노드의 값보다 크거나 같아야 함최소 힙완전 이진 트리 ( complete binary tree )각 노드의 값은 자신의 자식 노드의 값보다 작거나 같아야 함2. 힙의 구현일차원 배열로 구현레벨을 인덱스로 노드값을 원소 값으로 구현간단한 인덱스 조작을 통해 자식 노드를 확인할 수 있다.자식 노드 찾는 방법 : 2 * 부모노드인덱스 + 1, 2 * 부모노드인덱스 + 2간단한 인덱스 조작..
1. 생산자 - 소비자 문제 정의두 협력 프로세스 사이에 버퍼를 두고 생산자와 소비자의 상황을 다루는 문제생산자 : 버퍼에 데이터를 넣는 프로세스소비자 : 버퍼에서 데이터를 꺼내는 프로세스2. 생산자 - 소비자 문제 조건버퍼에 여러 프로세스가 동시에 접근할 수 없음버퍼에 데이터를 넣는 동안에는 데이터를 꺼낼 수 없음버퍼에서 데이터를 꺼내는 동안에는 데이터를 넣을 수 없음→ 상호배제 필요버퍼의 크기가 유한 ( 유한 버퍼 문제 )버퍼가 가득 찬 경우 생산자는 대기해야 함버퍼가 빈 경우 소비자는 대기해야 함→ 동기화 필요3. 세마포어를 이용한 해결 ( 생산자 - 소비자 문제 )상호배제 : 세마포어 mutex ( 초기값 : 1 )버퍼에 데이터를 넣는 부분과 버퍼에서 데이터를 꺼내는 부분은 임계영역에 해당생산자 ..
1. 데이터 조작 언어의 개념 ( DML )데이터 정의 언어로 정의된 데이터베이스 내의 데이터에 대해 여러 연산을 수행하기 위한 명령어의 집합사용자에게 데이터베이스에 저장된 데이터를 처리할 수 있게 하는 일체의 도구를 제공정의된 테이블 등에 레코드를 삽입 / 수정 / 삭제 및 검색하는데 사용되는 SQL 명령어들의 집합데이터 조작 언어는 실행 즉시 반영되는 영구적 변경을 위한 명령어의 집합이 아니며 복구가 가능 ( DDL과의 차이점 )2. 명령어의 종류CRUD를 위한 SQL 명령어의 종류INSERT : 테이블 스키마에 적합한 레코드를 삽입UPDATE : 테이블에서 조건을 만족하는 특정 레코드의 컬럼값을 수정DELETE : 테이블에 조건을 만족하는 레코드를 삭제SELECT : 조건을 만족하는 레코드를 테이블..
1. 데이터의 기본 형태R의 특징 중 하나는 다양한 형태의 데이터 입수와 가공이 용이하며 통계분석에 최적화된 형태의 데이터 구조를 형성한다는 점R에서 다루는 데이터의 기본적인 형태는 크게 벡터, 행렬, 배열과 리스트, 데이터 프레임으로 나눌 수 있음2. 벡터의 생성벡터는 한 개 이상의 원소로 구성된 자료구조로서 R의 자료 객체 중에서 가장 기본이 되는 자료 객체를 의미하나의 벡터의 원소는 한 가지 형태( Mode )만이 가능하다는 점에 유의벡터는 c( ), scan( ), seq( ), rep( ) 함수를 이용하여 생성 가능3. 벡터 생성의 예시c( )함수를 이용하여 3에서 7까지의 자연수로 이루어진 벡터를 생성# c() 함수 내에 입력된 값을 조합하여 벡터 생성> c(3,4,5,6,7) [1] 3 4 ..