본문 바로가기

전체 글

(111)
[C++] binary_search 함수는 find 함수와 비교해 얼마나 더 빠른가요? find 함수는 범위 내의 모든 원소를 순회하면서 대상 값을 찾습니다.따라서 시간 복잡도는 O(n)입니다.반면에 binary_search 함수는 이진 탐색 알고리즘을 사용하므로 범위의 중간 값과 대상 값을 비교하여 찾을 위치를 추정하고,추정한 위치에 값이 없으면 중간 값을 기준으로 범위를 반으로 나누어 다시 탐색하는 방식으로 진행합니다.따라서 시간 복잡도는 O(log n)입니다. 예를 들어, 범위의 크기가 100일 때 find 함수는 최악의 경우 100번의 비교를 수행하지만,binary_search는 최악의 경우 10번의 비교를 수행합니다.이때 binary_search는 find보다 10배 빠릅니다.따라서 범위가 정렬되어 있을 때는 binary_search를 사용하는 것이 좋습니다.
[컴퓨터구조] RAM의 특징과 종류 RAM에는 실행할 프로그램의 명령어와 데이터가 저장된다.중요한 점은 전원을 끄면 RAM에 저장된 명령어와 데이터가 모두 날아간다는 것이다.이렇게 전원을 끄면 저장된 내용이 사라지는 저장 장치를 휘발성 저장 장치(volatile memory)라고 한다. 반면, 전원이 꺼져도 저장된 내용이 유지되는 저장 장치는 비휘발성 저장 장치(non-volatile memory)라고 한다.하드 디스크, SSD, CD-ROM, USB 메모리와 같은 보조기억장치가 대표적인 비휘발성 저장 장치이다. 보조기억장치는 전원을 꺼도 내용을 유지하지만, CPU는 보조기억장치에 직접 접근하지 못한다.그래서 일반적으로 보조기억장치인 비휘발성 저장 장치에는 '보관할 대상'을 저장하고,휘발성 저장 장치인 RAM에는 '실행할 대상'을 저장한다..
[통계학] 제1부 통계 - 연습문제 제1장 과학과 통계​다음 용어를 설명하라.a. 사회과학: 사회에서 일어나는 현상을 체계적으로 설명하기 위하여 이론을 정립하는 작업이다.b. 경험과학: 자료에 근거하여 이론을 제시, 지지 혹은 거부하는 과학이다.c. 통계: 이론을 도출, 지지, 거부, 수정하기 위하여 수집한 자료를 가지고 가설을 검정하는, 확률적으로 판정하는 수리적 논리d. 기술통계: 관찰한 자료를 쉽고 편리하게 서술하려는 통계e. 추리통계: 수집된 자료로 그 자료가 추출된 모집단의 현상이나 특징을 추정, 예견, 일반화하려는 통계​2. 경험과학의 연구 절차를 설명하라.1) 이론2) 문제 제기3) 일반화 가설4) 통계적 가설5) 조사연구 & 실험 설계6) 통계적 검정​3. 경험과학을 위하여 통계의 필요성을 설명하라.객관적 자료를 바탕으로 한..
[컴퓨터구조] 제어장치의 역할, 제어장치가 내보내는 정보 제어장치는 제어 신호를 내보내고, 명령어를 해석하는 부품이다.제어 신호는 컴퓨터 부품들을 관리하고 작동시키기 위한 일종의 전기 신호다. 제어장치는 CPU의 구성 요소 중 가장 정교하게 설계된 부품이다.CPU 제조사마다 제어장치의 구현 방식이나 명령어를 해석하는 방식, 받아들이고 내보내는 정보에는 조금씩 차이가 있다. 그렇다면 제어장치는 과연 어떠한 역할을 할까? 1. 제어장치는 클럭 신호를 받아들인다.클럭(clock)이란 컴퓨터의 모든 부품을 움직일 수 있게 하는 시간 단위이다.클럭의 '똑ㅡ딱ㅡ똑ㅡ딱' 주기에 맞춰 한 레지스터에서 다른 레지스터로 데이터가 이동하거나,ALU에서 연산이 수행되거나, CPU가 메모리에 저장된 명령어를 읽어 들인다. 다만, 컴퓨터의 모든 부품이 한 클럭마다 작동하는 것은 아니다..
[컴퓨터구조] 플래그의 종류 산술 논리 장치(ALU)는 계산 결과 외에도 플래그를 내보낼 때가 있다.가령, 연산 결과가 음수일 때 '방금 계산한 결과는 음수'라는 추가적인 정보를 내보내는 것이다.(이진수는 그 자체로는 음수/양수를 판단하기 어려우므로)혹은, 연산 결과가 연산 결과를 담을 레지스터보다 클 때 '결괏값이 너무 크다'라는 추가 정보를 내보낸다. 이처럼 연산 결과에 대한 추가적인 상태 정보를 플래그(flag)라고 한다.ALU가 내보내는 대표적인 플래그는 아래와 같다. 플래그 종류의미사용 예시부호 플래그연산한 결과의 부호를 나타낸다.부호 플래그 = 1이면 계산 결과는 음수,부호 플래그 = 0이면 계산 결과는 양수제로 플래그연산 결과 = 0인지 여부를 나타낸다.제로 플래그 = 1이면 연산 결과 = 0,제로 플래그 = 0이면 연..
컴파일 언어, 인터프리터 언어의 구분에 대하여 컴파일 언어와 인터프리터 언어는 칼로 자르듯이 명확하게 구분할 수 있는 개념일까?C, C++와 같이 명확하게 구분할 수 있는 언어도 있으나,현대의 많은 프로그래밍 언어 중에는 컴파일 언어와 인터프리터 언어 간의 경계가 모호한 경우가 많다.가령 대표적인 인터프리터 언어로 알려진 Python도 컴파일을 하지 않는 것은 아니며,Java의 경우 저급 언어가 되는 과정에서 컴파일과 인터프리트를 동시에 수행한다. 즉, 하나의 프로그래밍 언어가 반드시 둘 중 하나의 방식만으로 작동한다고 생각하는 것은 오개념이다.컴파일이 가능한 언어라고 해서 인터프리트가 불가능하거나, 인터프리트가 가능한 언어라고 해서 컴파일이 불가능한 것은 아니다.따라서 모든 프로그래밍 언어를 컴파일 언어와 인터프리터 언어로 칼로 자르듯 구분하기보다..
[통계학] 제13장 가설검정 - 연습문제 1. 다음 용어의 정의와 개념을 설명하라. a. 가설어떤 현상의 원인이나 결과에 대해 잠정적으로 내놓은 추측.통계학에서는 검정(Test)을 통해 참/거짓을 판단해야 할 대상임. b. 영가설 (귀무가설)'차이가 없다', '효과가 없다'라고 가정하는 기본 가설.분석의 목적은 보통 이 영가설을 기각(거부)하여 반대되는 주장을 입증하는 데 있음. (H0로 표기) c. 대립가설연구자가 실제로 증명하고 싶어하는 가설.(영가설이 틀렸을 때 채택되는 가설로, H1 또는 Ha로 표기) d. 통계적 가설서술적 가설을 통계 분석이 가능하도록 모수를 사용하여 수식으로 표현한 것. e. 서술적 가설수치가 아닌 문장이나 서술 형식으로 표현된 가설.(e.g. 비타민C는 감기 예방에 도움이 될 것이다.) f. 등가설가설의 내용이 같..
[C++] 여러 개의 정수 입력을 한 줄로 읽어 처리하기 PS에 유용 #include #include #include #include using namespace std;int main() { string inputLine; vector numbers; int temp; cout > temp) { numbers.push_back(temp); } // 결과 확인을 위한 출력 cout 문제는 getline()으로 입력을 받기 전에 이미 cin >> 으로 입력을 받은 경우입니다.이때 입력 버퍼에 Enter가 남아 있는데~~ 이걸 무시하기 위해서 ws 키워드를 사용합니다.#include #include #include #include using namespace std;int main() { int N, X,..