본문 바로가기

분류 전체보기443

[면접을 위한 CS 전공지식 노트] 5-2 선형 자료구조 / 비선형 자료구조 1. 선형 자료구조 선형 자료구조란 요소가 일렬로 나열되어 있는 자료구조를 의미한다. 1-1. 연결 리스트 연결리스트란 ? 데이터를 감싼 노드를 포인터(Pointer)로 연결해서 공간 효율성을 극대화시킨 자료구조 삽입과 삭제가 O(1)이 걸리며, 탐색에는 O(n)이 걸린다. 싱글 연결 리스트 이중 연결 리스트 원형 이중 연결 리스트 1-2. 배열 배열이란 ? 여러 개의 데이터를 연속적인 공간에 저장한 자료구조 삽입과 삭제에는 O(n)이 걸리지만, 탐색에는 O(1)이 걸린다. 👉🏻 따라서 데이터 추가와 삭제가 많은 경우에는 '연결 리스트'를, 탐색을 많이 하는 경우에는 '배열'을 사용하는 것이 좋다. 1-3. 스택 스택이란 ? 마지막에 들어간 데이터가 가장 먼저 나오는 후입선출(LIFO) 구조을 가진 자료.. 2023. 11. 26.
[Algorithm] 시간복잡도 & 공간복잡도 자료구조란 ? 효율적으로 데이터를 저장하고 관리할 수 있는 데이터 집합 1. 복잡도 먼저 복잡도란 '알고리즘의 성능과 효율성을 나타내는 척도'입니다. 크게 시간 복잡도와 공간 복잡도로 나눌 수 있다. 알고리즘을 성능을 평가할 때 주로 수행 시간과 메모리 사용량을 기준으로 두는데, 이 중 수행 시간에 해당하는 것이 시간 복잡도이고 메모리 사용량에 해당하는 것이 공간 복잡도이다. 1-1. 시간 복잡도 시간 복잡도란 프로그램에서 특정 크기의 입력을 기준으로 할 때 수행되는 연산의 횟수를 나타낸다. 최선의 경우 (Best Case) 최적의 입력을 한 상태에서, 작업을 완료하는 데 필요한 연산 횟수 최악의 경우 (Worst Case) 최악의 입력을 한 상태에서, 작업을 완료하는 데 필요한 연산 횟수 평균의 경우 .. 2023. 11. 26.
[면접을 위한 CS 전공지식 노트] 3-4 CPU 스케줄링 알고리즘 CPU 스케줄러는 CPU 스케줄링 알고리즘을 바탕으로 프로세스에서 해야 하는 작업들을 스레드 단위로 CPU에 할당한다. 즉, CPU 스케줄링 알고리즘에 따라 어떤 프로그램에 'CPU 소유권'을 부여할 것인지 결정한다. 이 알고리즘은 CPU 이용율을 높게, 주어진 시간에 최대한 많은 일을 하도록, 준비 큐에 있는 프로세스는 최대한 적게, 응답 시간은 짧게 설정하는 것을 목표로 하고 있다. 1. 비선점형 방식 프로세스가 스스로 CPU 소유권을 포기하는 방식으로, 강제로 프로세스를 중지하지 않는다. FCFS 알고리즘 : 가장 먼저 온 것은 먼저 처리하는 알고리즘이다. 길게 수행되는 프로세스 때문에 준비 큐에서 오래 기다리게 되는 단점이 있다. SJF 알고리즘 : 실행 시간이 가장 짧은 프로세스부터 실행하는 .. 2023. 11. 26.
[Database] Lock 이란 ? 1. Lock 이란 ? DataBase에서는 한 자원(데이터)에 대해서 동시에 접근하는 경우가 생길 수 밖에 없습니다. 이럴 경우 데이터가 오염 될 수 있는데 그렇게 되지 않도록 데이터의 일관성과 무결성을 유지해야할 필요가 있습니다. ex) 예를 들어 수강신청 시스템에서 1명만이 정원으로 남게되었습니다. 여기서 두 사람이 거의 동시에 버튼을 눌렀습니다. 성공은 1명만 되야합니다. 이런 상황에서 DBMS(DataBase Management System)가 사용하는 공통적인 방법이 Lock이라는 것입니다. Lock이란 트랜잭션 처리의 순차성을 보장하기 위한 방법입니다. 2. Lock의 종류 Lock의 종류로는 '공유 Lock'과 '베타 Lock'이 있습니다. 공유 락 : 공유 Lock은 데이터를 읽을 때 사.. 2023. 11. 25.
[Database] 면접 예상 질문 및 답변 Q # 1) DBMS를 정의하십시오. 답변 : DBMS는 데이터베이스 제어하고 관리하는 통합 시스템을 나타냅니다. DBMS에 정의된 쿼리 언어를 통해 데이터베이스의 데이터를 조작할 수 있습니다. 널리 사용되는 DBMS 중 일부는 MySql, Oracle 등입니다. Q # 1-1) RDBMS를 정의하십시오. 답변 : 관계형 데이터베이스 관리 시스템 (RDBMS)은 행(Column)과 열(Row)을 가지는 표 형식 데이터를 저장하는 형태의 데이터베이스입니다. SQL (Structured Query Language)을 사용하여 관계형 데이터베이스에서 데이터에 쉽게 접근할 수 있습니다. Q # 1-2) DBMS의 장점에 대해 설명하세요. 답변 : DBMS의 장점은 다음과 같습니다. 범용성이 넓고 데이터의 무결성.. 2023. 11. 25.
[면접을 위한 CS 노트] 4-6 조인(JOIN) 1. 조인이란 조인이란 2개 이상의 테이블을 묶어서 하나의 결과물을 만드는 것을 말한다. 조인의 종류 중 대표적인 내부 조인, 왼쪽 조인, 오른쪽 조인, 합집합 조인이 있다. 2. 조인은 왜 필요한가? - 관계형 데이터베이스의 구조적 특징으로 정규화를 수행하면 의미 있는 데이터의 집합으로 테이블이 구성되고 각 테이블끼리는 관계(Relationship)을 갖게 된다. - 이와 같은 특징으로 관계형 데이터베이스는 저장 공간의 효율성과 확장성이 향상되게 된다. - 다른 한편으로는 서로 관계있는 데이터가 여러 테이블로 나뉘어 저장되므로 각 테이블에 저장된 데이터를 효과적으로 검색하기 위해 조인이 필요하다. 3. 조인의 종류 3-1. 내부 조인(Inner Join) 내부조인이란 두 테이블 간의 '교집합'만 표기하.. 2023. 11. 25.