[Algorithm] 재귀함수와 완전탐색 (DFS:깊이우선탐색)
·
CS/자료구조 + 알고리즘
보호되어 있는 글입니다.
[Algorithm] Hash Table / Map 개념 및 문제풀이
·
CS/자료구조 + 알고리즘
자바스크립트 Map과 Hash 개념 1. Map이란?Map은 키-값(key-value) 쌍을 저장하는 자료구조입니다.Object와 비슷하지만 다음과 같은 차이가 있습니다. 키 타입 제한 없음: 문자열, 숫자, 불리언, 객체, 함수, NaN 등 모두 가능합니다.삽입 순서 보장: 반복문(for...of, forEach) 사용 시 입력한 순서대로 순회합니다.성능 최적화: 대량 삽입/삭제 시 안정적인 O(1) 접근 성능을 제공합니다.편리한 메서드 제공: .set(), .get(), .has(), .delete(), .clear() 등의 메서드를 지원합니다. 2. 내부 구조 — 해시 테이블(Hash Table)Map은 내부적으로 해시 테이블을 사용하여 동작합니다.키를 해시 함수에 넣어 해시값을 계산합니다.해시값..
[Algorithm] Two pointer / Sliding window 개념 및 문제
·
CS/자료구조 + 알고리즘
투 포인터 / 슬라이딩 윈도우 개념 및 비교 2️⃣ Two pointer✅ 투 포인터란?두 개의 포인터를 이용해 문제를 해결하는 알고리즘 기법.주로 정렬된 배열에서 사용되며, 정렬, 합 비교, 구간 탐색, 슬라이딩 윈도우 등 다양한 문제에 활용됨.시간 복잡도를 획기적으로 줄일 수 있는 최적화 기법사용 조건예시 문제정렬된 배열(또는 리스트)정렬된 두 배열 병합, 두 수의 합 찾기 등구간 합 또는 조건 충족 구간 찾기연속 부분합, 특정 합을 가지는 쌍 찾기 등 ✅ 작동 방식pointer1, pointer2 두 포인터를 각 배열의 시작 위치에 놓고각각의 현재 값을 비교해 더 작은 값을 결과에 추가하고, 해당 포인터를 오른쪽으로 이동어느 한 쪽이 끝나면, 나머지 배열의 나머지 원소를 전부 결과..
2. CPU의 작동 원리 / 성능 향상 기법
·
CS/컴퓨터 구조 + 운영체제
혼자 공부하는 컴퓨터 구조 + 운영체제Chapter 04. CPU의 작동 원리Chapter 05. CPU 성능 향상 기법 🟥 CPU의 구성요소 CPU : 메모리에 저장된 명령어를 읽어들이고, 해석하고, 실행하는 장치이며 ALU, 제어장치, 레지스터로 구성되어 있다.계산을 담당하는 ALU명령어를 읽어들이고 해석하는 제어장치작은 임시 저장 장치인 레지스터 ALU 레지스터를 통해 "피연산자"를 받아들이고, 제어장치로부터 수행할 연산을 알려주는 "제어 신호"를 받아들여 다양한 연산을 수행한다.연산을 수행한 결과는 특정 숫자, 문자, 혹은 메모리 주소가 될 수 있다. 그리고 이 결과값은 바로 메모리에 저장되지 않고 일시적으로 레지스터에 저장된다. (CPU가 메모리에 접근하는 속도가 레지스터에 접근하는 것..
1. 컴퓨터가 이해하는 정보 - 데이터 / 명령어
·
CS/컴퓨터 구조 + 운영체제
혼자 공부하는 컴퓨터 구조 + 운영체제 🔴 컴퓨터 구조를 알아야 하는 이유많은 유저가 사용하는 프로그램은 필히 성능, 용량, 비용 문제가 발생한다.이러한 문제를 해결하기 위해서는 단순 프로그래밍 언어의 문법말고, 컴퓨터 구조를 이해하여야만 성능, 용량, 비용을 고려하여 개발할 수 있다. 🔴 컴퓨터 구조의 큰 그림컴퓨터 구조는 크게 컴퓨터가 이해하는 정보와 4가지 핵심 부품으로 나눌 수 있다.컴퓨터가 이해하는 정보는 1.데이터 2.명령어 두 가지가 있고,네 가지 핵심 부품은 :중앙처리장치 = CPU (Central Processing Unit) : 메모리에 저장된 명령어를 읽어 들이고, 해석하고, 실행주기억장치 = (main) Memory : 현재 실행되는 프로그램의 명령어와 데이터를 저장보조기억장치 ..