CS 스터디 (27) 썸네일형 리스트형 5.2 선형 자료 구조 참고한 책: 면접을 위한 CS 전공지식 노트 (http://www.yes24.com/Product/Goods/108887922) 5. 자료구조 5.2. 선형 자료 구조 5.2.1. 연결 리스트 5.2.2. 배열 5.2.3. 벡터 5.2.4. 스택 5.2.5. 큐 p. 237 5.2.1 연결 리스트 데이터를 감싼 노드를 포인터로 연결해서 공간적인 효율성을 극대확시킨 자료 구조 삽입과 삭제 O(1) 탐색 O(n) 자바에서의 이중 연결 리스트 >> https://st-lab.tistory.com/169#%EC%A0%84%EC%B2%B4 자바에서의 싱글 연결 리스트 >> https://st-lab.tistory.com/167 자바에서의 원형 이중 연결 리스트 >> https://inpa.tistory.com/e.. 5.1 복잡도 참고한 책: 면접을 위한 CS 전공지식 노트 (http://www.yes24.com/Product/Goods/108887922) 5. 자료구조 5.1. 복잡도 5.1.1. 시간 복잡도 5.1.2. 공간 복잡도 5.1.3. 자료 구조에서의 시간 복잡도 p. 232 자료구조(data structure) 효율적으로 데이터를 관리하고 수정, 삭제, 탐색, 저장할 수 있는 데이터 집합 p. 233 5.1.1 시간 복잡도 문제를 해결하는 데 걸리는 시간과 입력의 함수 관계 어떠한 알고리즘의 로직이 '얼마나 오랜 시간'이 걸리는지를 나타내는 데 쓰임. 보통 빅오 표기법으로 나타냄. 빅오 표기법 입력 범위 n을 기준으로 해서 로직이 몇 번 반복되는지 나타내는 것 가장 영향을 많이 끼치는 항의 상수 인자를 빼고 나머지 .. 4.7 조인의 원리 참고한 책: 면접을 위한 CS 전공지식 노트 (http://www.yes24.com/Product/Goods/108887922) 4. 데이터베이스 4.7. 조인의 원리 4.7.1. 중첩 루프 조인 4.7.2. 정렬 병합 조인 4.7.3. 해시 조인 p. 226 4.7.1 중첩 루프 조인(NLJ, Nested Loop Join) 중첩 for문과 같은 원리로 조건에 맞는 조인을 하는 방법 랜덤 접근에 대한 비용이 많이 증가하므로 애용량의 테이블에서는 사용하지 않음. //t1, t2 테이블을 조인한다. for each row in t1 matching reference key { for each row in t2 matching reference key { if row satisfies joiin condit.. 4.6 조인의 종류 참고한 책: 면접을 위한 CS 전공지식 노트 (http://www.yes24.com/Product/Goods/108887922) 4. 데이터베이스 4.6. 조인의 종류 4.6.1. 내부 조인 4.6.2. 왼쪽 조인 4.6.3. 오른쪽 조인 4.6.4. 합집합 조인 p. 223 join이란 하나의 테이블이 아닌 두 개 이상의 테이블을 묶어서 하나의 결과물을 만드는 것. MySQL에서는 JOIN이라는 쿼리로, MongoDB에서는 lookup이라는 쿼리로 처리할 수 있음. MongoDB는 lookup에 대해 관계형 데이터베이스보다 성능이 떨어지므로 여러 테이블을 조인하는 작업이 많을 경우 MongoDB보다는 관계형 데이터베이스를 써야 함. 내부 조인(inner join): 왼쪽 테이블과 오른쪽 테이블의 두 행.. 4.5 인덱스 참고한 책: 면접을 위한 CS 전공지식 노트 (http://www.yes24.com/Product/Goods/108887922) 4. 데이터베이스 4.5. 인덱스 4.5.1. 인덱스의 필요성 4.5.2. B-트리 4.5.3. 인덱스 만드는 방법 4.5.4. 인덱스 최적화 기법 p. 217 4.5.1 인덱스의 필요성 인덱스는 데이터를 빠르게 찾을 수 있는 하나의 장치 인덱스를 설정하면 케이블 안에 찾고자 하는 데이터를 빠르게 찾을 수 있음. p. 218 4.5.2 B-트리 인덱스는 보통 B-트리라는 자료 구조로 이루어져 있음. 루트 노드, 리프 노드, 루트 노드와 리프 노드 사이에 있는 브랜치 노드로 나뉨. B-Tree는 탐색 성능을 높이기 위해 균형 있게 높이를 유지하는 Balanced Tree의 일종이.. 4.4 데이터 베이스의 종류 참고한 책: 면접을 위한 CS 전공지식 노트 (http://www.yes24.com/Product/Goods/108887922) 4. 데이터베이스 4.4. 데이터 베이스의 종류 4.4.1.관계형 데이터베이스 4.4.2. NoSQL 데이터베이스 p. 213 4.4.1 관계형 데이터베이스(RDBMS) 행과 열을 가지는 표 형식 데이터를 저장하는 형태의 데이터베이스. SQL이라는 언어를 써서 조작함. MySQL, PostgreSQL, 오라클, SQL Server, MSSQL 등이 있음. MySQL 대부분의 운영체제와 호환되며 현재 가장 많이 사용하는 데이터베이스. MyISAM 인덱스 압축 기술, B-트리 기반의 인덱스, 스레드 기반의 메모리 할당 시스템, 매우 빠른 조인, 최대 64개의 인덱스 제공. 대용량 .. 4.3 트랜잭션과 무결성 참고한 책: 면접을 위한 CS 전공지식 노트 (http://www.yes24.com/Product/Goods/108887922) 4. 데이터베이스 4.3. 트랜잭션과 무결성 4.3.1. 트랜잭션 4.3.2. 무결성 p. 206 4.3.1 트랜잭션 데이터베이스에서 하나의 논리적 기능을 수행하기 위한 작업의 단위. -> 여러 개의 쿼리들을 하나로 묶는 단위. 특징으로는 원자성, 일관성, 독립성, 지속성이 있음. (ACID) 원자성(atomicity) 트랜잭션과 관련된 일이 모두 수행되었거나 수행되지 않았거나를 보장하는 특징. 예) 트랜잭션을 커밋했는데, 문제가 발생하여 롤백하는 경우 그 이후에 모두 수행되지 않음을 보장하는 것. 트랜잭션 단위로 여러 로직들을 묶을 때 외부 API를 호출하는 것이 있으면 안되.. 4.2 ERD와 정규화 과정 참고한 책: 면접을 위한 CS 전공지식 노트 (http://www.yes24.com/Product/Goods/108887922) 4. 데이터베이스 4.2. ERD와 정규화 과정 4.2.1. ERD의 중요성 4.2.2. 예제로 배우는 ERD 4.2.3. 정규화 과정 p. 198 4.2 ERD와 정규화 과정 ERD(Entity Relationship Diagram) 데이터 베이스를 구축할 때 가장 기초적인 뼈대 역할. 릴레이션 간의 관계들을 정의한 것. 4.2.1 ERD의 중요성 ERD는 시스템의 요구사항을 기반으로 작성되며 ERD를 기반으로 데이터베이스를 구축. 데이터베이스 구축 이후에도 디버깅 또는 비즈니스 프로세스 재설계가 필요한 경우에 설계도 역할을 담당하기도 함. 관계형 데이터를 구성하는 데 유용할.. 이전 1 2 3 4 다음