강의정리

A collection of 15 posts
컴퓨터시스템개론

프로그래밍 언어

프로그래밍 언어의 발전 과정 기계어 CPU가 직접 해독하고 실행할 수 있는 유일한 언어 0과 1의 이진 코드로 표현된다. * 장점: 번역 과정 불필요, 매우 빠른 실행 속도 * 단점 * 가독성 저하: 이진 코드는 인간이 이해하기 매우 어렵다. * 디버깅 어려움: 코드 작성과 오류 수정에 많은 시간 소요 * 하드웨어 의존성: CPU 종류에 따라 기계어가
22 min read
자료구조

트리

트리 (Tree) * 나무를 닮은 자료구조로, 상위 원소에서 하위 원소로 내려가면서 확장되는 나무 모양의 구조 * 원소들 간에 계층적인 관계를 나타내는 계층형 자료구조 * 원소들 간에 1:N 관계를 가지는 비선형 자료구조 * 트리는 부모-자식 관계의 노드들로 이루어짐 * 응용 분야: 가계도, 조직도, 컴퓨터의 폴더 구조, 탐색 트리, 힙 트리, 결정 트리 등 트리의 용어
30 min read
자료구조

포인터와 연결된 구조

포인터 (Pointer) * 메모리의 주소를 저장하는 변수 * ex) 집배원이 택배를 배달할 때, 택배 송장의 '주소'를 보고 집을 찾아가는 것과 유사하다. 포인터는 데이터가 실제로 저장된 '주소'를 가지고 있으며, 이를 통해 데이터에 접근한다. 포인터를 사용하는 이유 * 기억 공간의 효율적 사용: 필요한 만큼만 동적으로 메모리를 할당하고 해제하여 메모리
32 min read
강의정리

[C++] 개요 및 기초

C++ 프로그램 기본 구성 * 주석: C++에서는 프로그램 코드에 대한 설명이나 메모를 추가하기 위해 주석을 사용한다. 전통적인 C 스타일의 블록 주석(/* ... */)뿐만 아니라 한 줄 주석(//)도 지원한다. 한 줄 주석은 // 이후의 모든 내용을 해당 줄에서 무시하여 실행에 영향을 주지 않는다. * 전처리기 지시어: 소스 코드 상단에는 전처리기(preprocessor)에게 헤더
12 min read
자료구조

배열과 구조체

배열과 구조체 * 배열(array)과 구조체(struct)는 여러 데이터를 효과적으로 관리하기 위한 자료구조이다. * 배열: 같은 데이터 타입의 요소들을 연속적인 메모리 공간에 저장한다. * ex) 성적 처리 프로그램에서 45명의 성적(정수형) 저장 * 구조체: 다양한 데이터 타입의 요소들을 하나의 단위로 묶어 저장한다. * ex) 주소록 프로그램에서 친구 정보(이름-문자열, 전화번호-문자열, 주소-문자열 등) 저장
19 min read
자료구조

큐(Queue)의 개념과 구조 큐(Queue)란? * 스택과 유사하게 삽입과 삭제의 위치가 제한된 유한 순서 리스트(List)이다. * 데이터가 들어온 순서대로 처리되는 선입선출(FIFO: First-In, First-Out)의 특성을 갖는 자료구조이다. * 먼저 들어온 데이터가 먼저 나간다. * ex) 계산대의 대기열, 매표소 줄서기 * 스택과의 차이점: 스택은 한쪽 끝(top)에서만 삽입/삭제가
17 min read
자료구조

자료구조와 알고리즘

자료구조 * 다양한 자료를 효율적인 규칙에 따라 정리하고 보관하기 위해 조직화한 자료 형태 * 컴퓨터에서 자료를 정리하고 조직화하는 다양한 구조 * 자료(Data)는 저장 공간(Memory)과 연산(읽기, 쓰기, 삽입, 삭제, 탐색 등)으로 구성됨 * 자료구조는 지원되는 연산에 따라 다양하게 존재 자료구조 분류 * 단순 자료구조와 복합 자료구조 * 단순 자료구조: 숫자나 문자
9 min read
컴퓨터시스템개론

네트워크

네트워크 기초 네트워크 정의 및 중요성 * 네트워크 (Network): 컴퓨터 간 데이터 전송을 위해 시스템들을 연결한 것 * 정보 및 자원 공유 요구 증대에 따라 네트워킹의 중요성 증가 * 섀넌(C. E. Shannon) 통신 모형: 송신자, 수신자, 메시지, 채널, 인코딩/디코딩 등의 요소로 구성되며, 통신에는 체계적인 규칙(프로토콜)이 필요함을 시사 네트워크 분류
24 min read
컴퓨터시스템개론

운영체제

운영체제의 발전 초기 운영체제 * 프로그램 준비 작업 및 작업 간 전환을 단순화하기 위해 등장 * 사용자와 하드웨어 장비를 분리하는 역할 수행 * 사용자는 프로그램을 운영자에게 제출하고 나중에 결과 확인 일괄 처리 (Batch Processing) * 작업(Job)들을 모아 하나의 묶음으로 만들어 사용자의 개입 없이 순차적으로 실행 * 작업 큐 (Job Queue): 실행 대기 중인
17 min read
컴퓨터시스템개론

데이터 조작

컴퓨터 구조 중앙처리장치 (CPU - Central Processing Unit) * 컴퓨터의 작업을 처리하고 관리하는 중심적인 역할을 수행하는 장치 * 주요 구성 요소: * 산술논리연산장치 (ALU - Arithmetic Logic Unit): 산술 연산(덧셈, 뺄셈 등)과 논리 연산(AND, OR, NOT 등) 수행 * 제어장치 (Control Unit): 프로그램 명령어를 해석하고 컴퓨터의 다른 부분에 제어 신호를 보내
15 min read
컴퓨터시스템개론

데이터의 저장

컴퓨터 시스템 계층 구조 * 컴퓨터 시스템은 여러 계층으로 구성됨 * 응용 소프트웨어: 사용자와 직접 상호작용 * 운영체제: 하드웨어 자원 관리 및 응용 소프트웨어 지원 * 컴퓨터 하드웨어: 물리적인 장치들 * CPU, 캐시 메모리, RAM 메모리, 디스크, 네트워크 장치, 키보드, 마우스, 디스플레이, 프린터 등 데이터의 저장 비트 (Binary digit) * 컴퓨터 안에서 데이터나 정보는 2진수 0과
22 min read