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 ..
1. 확률의 개념확률이란 ‘어떤 사건이 일어날 가능성을 0과 1사이의 실수로 표시’한 것확률이란 동일한 상태에서 동일한 시행을 무한 번 반복한다고 할 때 궁극적으로 전체 시행 중에서 특정 사건이 발생할 비율을 나타냄2. 확률적 실험 ( 통계적 실험 )실험의 결과가 구체적으로 어떤 것인가는 알 수 없지만 전체 가능한 모든 결과들을 알고 있고 반복이 가능한 경우를 확률적( 통계적 )실험 이라고 함3. 표본 공간, 사건표본공간( Sample Space )통계적 실험이나 조사에서 일어날 수 있는 모든 가능한 결과의 모임대개 𝑆로 표시ex ) S = { 1, 2, 3, 4, 5, 6 }사건( 또는 사상, Event )일어날 수 있는 모든 가능한 결과 중에서 특정한 성질을 갖는 결과의 모임대개 𝐴, 𝐵, 𝐶..
1. 퀵 정렬 - QuickSort( )특정 데이터를 기준으로 주어진 배열을 2개의 부분배열로 분할하고, 각 부분배열에 대해서 퀵 정렬을 순환적으로 적용하는 방식피벗( Pivot ) : 분할 원소주어진 배열을 두 부분배열로 분할하는 기준이 되는 특정 데이터보통 주어진 배열의 첫 번째 데이터로 지정2. 퀵 정렬의 원리피벗이 제자리를 잡도록 하여 정렬하는 방식예시입력배열 A에 저장된 원소 중 첫번째 원소인 30을 피벗으로 지정피벗 30을 제자리 잡도록하여 왼쪽 부분 배열과 오른쪽 부분 배열로 구분피벗을 기준으로 왼쪽은 피벗보다 작은 원소, 오른쪽은 큰 원소가 위치왼쪽 부분배열의 모든 데이터 왼쪽 부분배열에서 가장 큰 데이터 왼쪽 부분배열의 모든 값 3. 퀵 정렬 알고리즘QuickSort (A[ ], n) {..
1. 숫자와 문자숫자정수( Integer ) : 소수점이 없는 숫자실수 ( Floating point ) : 소수점이 포함되는 숫자문자유니코드( Unicode ) 기반 문자 또는 문자열유니코드란?전세계의 모든 문자 들을 표현하기 위해 가변 길이의 4byte로 문자를 표현하는 코드 체제파이썬 3.0부터 모든 문자를 유니코드로 처리인용 부호 " 또는 '를 사용하여 표현2. 기본 연산자와 표현식피연산자와 연산자를 이용한 표현식은 파이썬 인터프리터에 의해 자동 계산+ : 더하기- : 빼기* : 곱하기/ : 나누기** : 지수( 거듭제곱 )문자열에도 기본 연산자 중 +와 *를 사용할 수 있다.ex ) "컴퓨터" + " 싸이언스” → 컴퓨터 싸이언스ex ) "컴퓨터" * 2 → 컴퓨터컴퓨터3. 함수 ( Functi..