플로이드 워셜 Floyd Warshall
모든 노드 쌍의 최단 경로를 동적 계획법으로 구하는 플로이드 워셜 알고리즘과 음수 사이클 판별 방법을 정리했습니다.
모든 노드 쌍의 최단 경로를 동적 계획법으로 구하는 플로이드 워셜 알고리즘과 음수 사이클 판별 방법을 정리했습니다.
리슨 서버에서 클라이언트만 애니메이션이 2배속으로 재생되던 문제의 원인이 루트 모션 설정이었음을 찾아낸 과정을 정리했습니다.
너비 우선 탐색으로 최단 경로를 찾는 원리와 큐를 이용한 구현, 백준 미로 탐색 문제 풀이를 정리했습니다.
깊이 우선 탐색의 동작 과정과 시간 복잡도, 재귀와 스택을 이용한 구현 방법을 정리했습니다.
쓰레드 대신 이벤트 루프와 select()로 병행성을 구현하는 방식과, 블로킹 시스템 콜 및 상태 관리 문제를 정리했습니다.
교착 상태와 비 교착 상태로 나뉘는 병행성 버그의 전형적인 패턴과, 이를 피하는 방법을 정리했습니다.
락과 컨디션 변수를 모두 대체할 수 있는 세마포어의 정의와, 생산자/소비자·Reader-Writer·식사하는 철학자 문제에 적용하는 방법을 정리했습니다.
락만으로 부족한 상황에서 조건이 참이 될 때까지 대기하는 컨디션 변수의 사용법과, 생산자/소비자 문제를 해결하는 과정을 정리했습니다.
카운터·연결 리스트·큐·해시 테이블에 락을 추가해 쓰레드 안전하게 만들면서 성능도 확보하는 방법을 정리했습니다.
임계 영역을 보호하는 락의 개념과, 인터럽트 제어부터 Test-And-Set 기반 스핀 락까지의 구현 방법을 정리했습니다.