
💡동기/비동기 & 블로킹/논블로킹 > 동기/비동기와 블로킹/논블로킹은 표현 형태는 비슷해보여도 서로 다른 차원에서 작업의 수행 방식을 설명하는 개념이다. 동기/비동기는 요청한 작업에 대해 완료 여부를 신경 써서 작업을 순차적으로 수행할지 아닌지에 대한 관점이고, 블로
🤔복잡도란? > 복잡도란 알고리즘의 성능 평가 및 효율성을 나타내는 척도로써, 시간 복잡도와 공간 복잡도로 나눌 수 있다. 시간 복잡도 : 얼마나 빠르게 실행되는가? 공간 복잡도 : 얼마나 많은 저장 공간이 필요한가? 좋은 알고리즘은 실행 시간이 짧으면서 저장 공간
Big-O, Big-Theta, Big-Omega의 차이를 설명해보세요. Big-O(상한) 입력이 최악일 때 걸리는 시간의 상한 성능을 보수적으로 설명할 때 주로 사용 예 : 이진탐색 Big-Theta(상한) 입력이 최악일 때 걸리는 시간의 상한 성능을 보수
arr5처럼 인덱스로 바로 접근 가능 → 주소 계산으로 O(1)5번째 원소를 찾으려면 처음(head)부터 차례대로 따라가야함 → O(n)맨 뒤에 추가 : O(1) (단, 할당된 용량 초과시 재할당 필요)중간 삽입/삭제 : O(n) 원소들을 한칸씩 밀거나 당겨야함맨 앞

정의 : 팬케이크를 먹는 것처럼 마지막에 올린 것을 가장 먹는 구조(LIFO)시간 복잡도 : 평균적으로 push, pop, peek 모두 O(1)연산 \- push(x) : 스택 맨 위(top)에 x 추가 \- pop() : 맨 위 원소 제거 + 반환 \- pee

해시테이블은 키(Key) → 값(Value)를 빠르게 찾기 위해서 해시 함수를 사용하는 자료구조 이다.해시 테이블은 데이터를 보관할 때 주소를 계산해서 바로 꺼내오는 방식을 이용한다.위 John Smith라는 사람의 전화번호를 찾는다는 가정을 해보자.해시 함수의 입력값
키를 해시 함수로 변환하여 배열 인덱스에 값을 저장하는 자료구조로, 복잡도는 평균 O(1)입니다.키를 해시 함수에 넣어서 인덱스를 얻고, 해당 인덱스를 가진 배열 위치에 데이터를 저장/조회합니다.배열은 인덱스로만 값에 접근이 가능하지만, 해시 테이블은 키를 해시 값으로

트리란 계층적인 구조를 나타내는 자료구조로, 노드(Node)와 노드를 연결해주는 간선(Edge)로 이루어져 있다. 노드의 개수가 N개일 때, 간선의 개수는 항상 N-1 이다.1\. 루트 (Root) : 최상단 노드 (A)2\. 자식(Child) : 부모(Parent)

이진 트리의 특수한 형태로, 이진 탐색이 효율적으로 동작할 수 있도록 고안된 자료구조의 일종. 정렬된 이진 트리왼쪽 서브트리에는 부모 노드보다 작은 값이 위치오른쪽 서브트리에는 부모 노드보다 큰 값이 위치중복된 키를 허용 하지 않는다.루트 노드부터 방문 하여 탐색을 진
1\. 트리(Tree)와 그래프(Graph)의 차이를 설명해보세요.그래프는 순환이 있을 수 있지만, 트리는 항상 하나의 루트에서 시작하며 사이클이 없는 계층적 구조입니다.2\. 이진 트리(Binary Tree), 정 이진 트리(Full), 포화 이진 트리(Perfect

한 경로를 끝까지 따라가다가 더 이상 진행할 수 없으면 되돌아와 다른 경로를 탐색하는 방식구현 : 스택(재귀 호출 or 명시적 스택)시간 복잡도 \- 인접 리스트 : O(V+E) (V:접점, E: 간선)인접 행렬 : O(V^2)활용 \- 경로 존재 여부 확인미로

완전 이진 트리(Complete Binary Tree)를 기초로 하는 자료구조로써, 여러 개의 값중에서 가장 크거나 작은 값을 빠르게 찾기 위해 만든 이진트리이다.힙은 최대힙(Max heap)과 최소힙(Min Heap)으로 나누어진다.최대힙은 부모노드의 값이 자식노드들
1\. 힙이란 무엇인가요?힙이란 완전 이진 트리를 기초로 하는 자료구조로, 부모 노드의 값이 제일 큰 최대힙과 부모 노드의 값이 제일 작은 최소힙으로 나누어집니다. 2\. 힙과 이진 탐색 트리(BST)의 차이는 무엇인가요?이진탐색트리는 중위 순회를 하면 왼쪽, 부모,

그래프란 요소들이 서로 복잡하게 연결되어 있는 관계를 표현하는 자료구조로, 정점(노드)과 간선들의 집합으로 구성된다.정점(vertex) : 노드라고도하며, 데이터가 저장되는 그래프의 기본 원소이다간선(edge) : 링크,arcs라고도 불리며, 노드 간의 관계를 나타낸다

기술 면접 스터디 중 싱글, 더블, 원형 연결 리스트의 개념이 애매해서 정리해는 시간을 갖는다!구조 : 각 노드가 데이터 + 다음 노드 포인터(next)만 가진다.특징앞에서 뒤로 단방향 탐색만 가능메모리 사용이 적음 (포인터 1개).삽입/삭제가 특정 위치(앞, 중간)에

프로세스와 스레드는 운영체제에서 프로그램이 실행될 때 사용되는 기본적인 단위이다.웹 서버나 애플리케이션에서 동시에 여러 작업을 처리하려면 프로세스와 스레드에 대한 이해가 필요하다. 두 개념은 자원관리, 성능 최적화, 동시성 처리에 직접적인 영향을 주지만 관리와 자원사용

CPU 스케줄링은 언제 어떤 프로세스에 CPU를 할당할지 결정하는 작업을 의미한다. 이 알고리즘은 CPU 이용률은 높게, 주어진 시간에 많은 일을 하게, 준비 큐에 있는 프로세스는 적게, 응답시간은 짧게 설정하는 것을 목표로 한다.입출력 작업이 많은 프로세스의 우선순위

CS프로세스 동기화

CS교착 상태