플로이드-워셜 알고리즘 (Floyd-Warshall Algorithm)
플로이드-워셜 알고리즘은 다익스트라 알고리즘과 비슷하게 최단경로(shortest-path)를 탐색하는 알고리즘이다.
플로이드-워셜 알고리즘은 다익스트라 알고리즘과 비슷하게 최단경로(shortest-path)를 탐색하는 알고리즘이다.
이전 글에서 설명했던 LCA 알고리즘의 방법 중 두번째 알고리즘을 설명하겠다. 첫번째 방법은 이해도 쉽고 구현도 간단하나 최종 O(NM)의 시간복잡도로 시간이 너무 오래 걸린다는 단점이 있다. 이를 최적화 하는 방법을 알아보자.
LCA 알고리즘은 트리(Tree) 자료구조에서 두 노드의 가장 가까운 조상을 찾는 알고리즘이다.
개요 주어진 수열에서 최장 증가 부분 수열(이하 LIS)를 구하는 방법을 알아보자. 어떠한 수열이 주어졌을 때, 일부를 뽑아 새로 만든 수열을 “부분 수열”이라고 한다. 이 수열이 오름차순을 유지하면 “증가 부분 수열”이다. 우리는 증가 부분 수열 중에서 가장 긴 증가 ...
Promise
this란?
자바스크립트는 싱글 쓰레드 기반이지만, 논 블로킹 방식의 비동기적인 동시성 언어이다. 이 말의 의미를 이해해보자.
V8 메모리 구조
V8은 크롬과 node.js에서 사용하는 고성능 오픈소스 js 웹어셈블리 엔진이다. 이 글에서 V8엔진의 아키텍쳐를 살펴보자.
Multi-Process and Multi-Thread
Multi-Level Feedback Queue
CPU는 하나의 프로세스 작업을 마치고 나면, 다음 프로세스를 선택하여 작업을 수행한다. 이 때 다음 프로세스로 어떤 프로세스를 선택할지 결정하는 알고리즘을 CPU Scheduling Algorithm이라고 한다. 이 글에서는 여러 CPU Scheduling Algorithm을 살...
PS를 하다보면 반드시 마주치는 것이 있다. 바로 Fast I/O이다.
백준 23057번 - 도전 숫자왕 을 풀다가 알게된 사실. C++ 에서 순열(Permutation)을 구할 때 사용하는 next_permutaion 을 이용하면 조합(Combination)을 쉽게 구할 수 있다.
데이터 베이스는 file의 집합체로 저장된다. 각각의 파일은 일정한 크기의 disk block(page)로 나뉘어져있다. block은 records를 포함하고 있고 records는 entity와 속성으로 정의된다.
제 1 정규화 (1st Normal Form, 1NF)
HTTP의 특징
프로젝트 프리뷰
3장 함수
블로그 글을 본격적으로 꾸준하게 작성하려고 마음 먹은 김에 마크다운 문법을 좀 정리해두고 출발하려고한다.