Q. Array가 무엇인가? A. Array는 연관된 데이터를 메모리상에서 연속적이며 순차적으로 미리 할당된 크기만큼 저장하는 자료구조. Linked List와의 가장 큰 차이점은 메모리에 저장되는 방식과 이에 따른 operation 연산 속도. Array의 특징
Q. Dynamic Array는 어떤 자료구조인가? A. array의 경우 size가 고정되었기 때문에 선언시에 설정한 사이즈보다 많은 갯수의 데이터가 추가되면 저장이 불가. 이에 반해 dynamic array는 저장공간이 가득차게 되면 resize를 해서 유동적으로
A. Linked List는 Node라는 구조체로 이루어져 있는데, Node는 데이터 값과 다음 Node의 address를 저장. Linked List는 물리적인 메모리 상에서는 비연속적으로 저장되지만 각각의 노드가 다음 노드의 주소를 가리킴으로써 논리적 연속성을 가진
A. Array는 메모리 상에서 연속적으로 데이터를 저장하는 자료 구조. 반면 Linked List는 메모리 상에서는 연속적이지 않지만 각가의 원소가 다음 원소의 주소를 저장해 놓음으로써 논리적 연속성을 유지.시간 복잡도가 다름. 데이터 조회의 경우 Array는 O(1
A. queue는 선입선출 FIFO(First In First Out)의 자료구조시간복잡도는 enqueue $O(1)$ , dequeue $O(1)$ 입니다. 활용 예시는 Cache구현, 프로세스 관리, 너비우선탐색(BFS) 등queue에서 데이터를 추가하는 것을 e
A. Stack은 후입선출 LIFO(Last In First Out)의 자료구조. 시간복잡도는 push O(1) , pop O(1). 활용 예시는 후위 표기법 연산, 괄호 유효성 검사, 웹 브라우저 방문기록(뒤로 가기), 깊이우선탐색(DFS) 등A. queue의 en
A. 이진탐색트리(Binary Search Tree; BST)는 정렬된 tree입니다. 어느 node를 선택하든 해당 node의 left subtree에는 그 node의 값보다 작은 값들을 지닌 node들로만 이루어져 있고, node의 right subtree에는 그
A. Hash Table은 효율적인 탐색을 위한 자료구조로써 key, value쌍의 데이터를 입력받는다. 해시 함수에 key값을 넣어 얻은 해시값 h(k)를 위치로 지정하여 key-value 데이터 쌍을 저장한다.저장, 삭제, 검색의 시간복잡도는 모두 O(1)이다.이
A. 실행파일(program)이 memory에 적재되어 CPU를 할당받아 실행되는 것을 process라고 한다.실행중인 프로그램을 프로세스라고 함. 실행파일 형태로 존재하던 프로그램이 메모리에 적재되어 cpu에 의해 연산 되는 것. 여기서 잠깐!💡 메모리란?메모리는
A. Multi thread란 하나의 process가 동시에 여러개의 일을 수행할수 있도록 해주는 것.thread는 한 process 내에서 실행되는 동작(기능 function)의 단위. 각 thread는 속해있는 process의 Stack 메모리를 제외한 나머지 me
A. process가 할당받은 메모리 공간을 일정한 page 단위로 나누어, 물리 메모리에서 연속되지 않는 서로 다른 위치에 저장하는 메모리 관리 기법여기서 잠깐!💡 논리적 주소란?process가 memory에 적재되기 위한 독자적인 주소 공간인 논리적 주소(logi
A. 관계형 데이터베이스에서 양쪽 entity 모두가 서로에게 1:N 관계를 갖는 구조A.관계형 데이터베이스는 사전에 엄격하게 정의된 DB schema를 요구하는 테이블 기반 데이터 구조. 반면 비관계형데이터베이스는 테이블 형식이 아닌 비정형 데이터를 저장할 수 있도록
A. HTTP는 HyperText Transfer Protocol의 약자로 서버-클라이언트 모델을 따르면서 request/response 구조로 웹 상에서 정보를 주고받을 수 있는 프로토콜. TCP/IP 기반으로 작동하며, HTTP의 가장 큰 특징은 Connectio
A. OSI 7계층은 네트워크 통신을 표준화한 모델로, 통신 시스템을 7단계로 나누어 설명한 것.그러나 OSI 모델이 실무적으로 이용하기에 복잡한 탓에 실제 인터넷에서는 이를 단순화한 TCP/IP 4계층이 사용되고 있음.각 계층은 하위 계층의 기능을 이용하고 상위 계층
A. 프로미스는 자바스크립트 비동기 처리에 사용되는 객체. 프로미스는 주로 서버에서 받아온 데이터를 화면에 표시할 때 사용new Promise에 전달되는 함수는 executor(실행자, 실행 함수)라고 부른다. executor는 new Promise가 만들어질 때 자동
A. Apache kafka란 웹사이트, 어플리케이션, 센서 등에서 취합한 데이터를 스트림 파이프라인을 통해 실시간으로 관리하고 보내기 위한 분산 스트리밍 플랫폼이다.데이터 생성 어플리케이션과 소비 어플리케이션 간의 중재자 역할로 데이터의 전송 제어, 처리, 관리 역할