Stack And Queue
Stack,Queue Stack 스택(Stack)은 후입선출(LIFO) 방식을 사용하는 데이터 구조입니다. 이는 가장 최근에 추가된 항목이 가장 먼저 추가되거나 제거되는 방식입니다. 스택은 일반적으로 한 쪽 끝에서만 데이터의 추가와 제거가 이루어집니다. 이것은 스택의 “막혀있는” 한 쪽 끝을 보통 “맨 위” 또는 “탑”이라고 하며, 다른 쪽은 ...
Stack,Queue Stack 스택(Stack)은 후입선출(LIFO) 방식을 사용하는 데이터 구조입니다. 이는 가장 최근에 추가된 항목이 가장 먼저 추가되거나 제거되는 방식입니다. 스택은 일반적으로 한 쪽 끝에서만 데이터의 추가와 제거가 이루어집니다. 이것은 스택의 “막혀있는” 한 쪽 끝을 보통 “맨 위” 또는 “탑”이라고 하며, 다른 쪽은 ...
SlidingWindow 슬라이딩 윈도우 알고리즘 고정 크기의 윈도우가 배열이나 연속적인 데이터 구조를 따라 이동하면서 문제를 해결하는 알고리즘 기법입니다. 이 알고리즘은 배열 또는 연속적인 데이터 구조에서 연속된 부분집합(윈도우)을 처리할 때 유용하게 사용되는 알고리즘 기법입니다. 주로 부분집합의 합, 최대값, 최소값 등을 구하는 문제에 적용됩...
Cache CPU는 프로그램을 실행하는 과정에서 메모리에 저장된 데이터를 빈번하게 사용합니다. 하지만 CPU가 메모리에 접근하는 시간은 CPU의 연산 속도보다 느립니다. 이를 극복하기 위한 저장장치가 바로 캐시메모리입니다. 캐시 메모리에 대해 알아보기전에 저장 장치 계층 구조에 대해 알아보고 가겠습니다. 저장 장치 계층 구조 [사진] 위로 올...
Addressing 주소에는 2가지의 종류가 존재합니다. 먼저 주소에 대해 알아보기전에 왜 주소가 2가지로 나뉘게 됬는지 간략하게 알아보겠습니다. CPU와 메모리에 저장되어 실행중인 프로그램은 메모리 몆 번지에 무엇이 저장되어 있는지 알 수가 없습니다. 그 이유는 메로리에 저장된 정보는 시시각각 변하기 때문입니다. 메모리에는 새롭게 실행되는 프...
RAM RAM은 주 기억장치로서 컴퓨터에서 프로그램이 실행되고 데이터가 일시적으로 저장되는 임시 저장장치입니다. RAM은 컴퓨터가 실행 중인 프로그램에 필요한 데이터와 명령어를 저장하며, 이를 CPU가 빠르게 읽고 쓸 수 있도록 합니다. 하지만 RAM은 전원공급이 중단이 되면 RAM에 저장된 데이터와 명령어가 모두 사라진다는 특징을 가지고 있습니다...
ISA CPU가 이해할 수 있는 명령어들의 모음을 명령어 집합 또는 명령어 집합 구조 (ISA)라고 합니다. ISA는 CPU의 언어이자 하드웨어가 소프트웨어를 어떻게 이해할지에 대한 약속입니다. ISA는 대게 2종류로 나뉩니다. 참고로 이는 CPU마다 차이가 존재합니다. CISC 복잡하고 다양한 명령어들을 활용하는 CPU 설계 방식입니다. CI...
ILP 명령어 병렬처리 기법 명령어 병렬 처리 기법은 명령어를 동시에 처리하여 CPU의 효율을 높이는 기법입니다. 대표적인 명령어 병렬처리 기법에는 명령어 파이프, 명령어 라이닝, 슈퍼 스칼라, 비순차적 명령어 처리가 있습니다. 명령어 파이프 라인 명령어 파이프 라인은 명령어를 처리하는 과정을 여러 단계로 나누어 동시에 처리하는 방식입니다. 일반...
Thread 쓰레드(Thread)에 대해 알기전에 먼저 코어에 대해 알아보겠습니다. Core 코어에 대해 먼저 알아보기전에, CPU라는 용어를 다시 해석해야합니다. 전통적인 관점에서는 명령어를 실행하는 부품은 원칙적으로 한개만 존해하였습니다. 하지만 기술이 발전하면서 CPU내부에는 명령어를 실행하는 부품을 얼마든지 만들 수 있게 되었습니다 이렇게...
투 포인터 투 포인터 알고리즘은 연속되는 숫자의 합을 구할때 등, 시간 복잡도를 최적화 시켜주는 알고리즘 입니다. 이 알고리즘은, N개의 숫자가 존재할 때, 연속되는 합이 5인 경우의 갯수를 센다고 가정한다고 하면, start 와 end point를 생성하고 변수 sum을 만들어줍니다. 그런 다음 조건문을 만들어줍니다. sum < N = ...
인터럽트 CPU는 싱글 코어 기준으로 여러 가지 작업을 동시에 처리할 수 없으며, 하나의 작업을 처리한 후에 다음 작업을 처리해야 합니다. 그러나 운영 체제는 CPU가 여러 프로그램을 동시에 실행하는 것처럼 보이도록 만들기 위해 여러 기법을 사용합니다. 메모리에는 여러 프로그램이 로드되어 있지만, CPU는 한 번에 하나의 프로그램만 실행할 수 있습...