분류 전체보기 54

두 번째 레슨, Closed Set이란? (실해석학에서)

고등학교 수준에서 닫힌 집합은 아마 이렇게 배울 것이다:[3, 5]와 같이 경계가 포함된 범위의 집합, 여기서 [3, 5]는 { x | 3≤x≤5 } 집합을 뜻한다. 맞는 설명이긴 한데, 해석학에서 닫힌 집합의 정의는 좀 다르다.E is closed ⇔ ∀ limit point p of E, p ∈ E E의 모든 limit point가 E의 원소면 된다. 그렇다면 limit point란 무엇이냐? p is a limit point of E ⇔ ∀r>0, [ B(p,r) \ {p} ] ∩ E ≠ ∅ p를 중심으로 하는 반지름이 r인 neighborhood에서 p점을 제외한 집합과, E의 교집합은 공집합이 아니다.그림과 같이 q점을 중심으로 한 neoghboor를 r을 어떻게 잡든 E과 교집합이 공집합일 수..

수학/위상수학 2025.08.22

첫 번째 레슨, Open set이란? (실해석학에서)

Open set이 정의하는 것은 가장 기초적인 것을 정하는 단계이다. 위상수학이라는 과목에서는 Open set이 뭐냐는 우리에 정하기 나름이다.Topology라는 용어는 위상수학 자체를 의미하는 용어이기도 하지만Open set들의 집합을 뜻하는 말이기도 하다. 전체집합을 {1, 2}라고 볼 때전체집합의 부분집합은 총 4개가 될 것이다. -> {}, {1}, {2}, {1, 2} 이 중 {1}만 Open set(열린 집합)이라고 정의한다면그 때 Topology는 {1}만을 원소로 가지는 집합이다. -> {{1}} 하지만 이건 첫 번째 레슨에서 배우기엔 너무 광범위한 서술이다.우리가 고등학교까지 배워온 수학적 공간, 1+1=2가 되고 실수가 무수히 존재하며, 원의 반지름은 일정하고, 직사각형의 네 각은 모두..

수학/위상수학 2025.08.20

다익스트라 알고리즘: 최단 경로를 모두 찾아야 할 때

다익스트라 알고리즘(Dijstkra Algorithm)이란, 그래프가 주어졌을 때 특정 노드 두 개 사이의 최단 거리를 찾을 수 있는 알고리즘이다. 1부: 다익스트라 알고리즘을 이용해 최단 경로 복원하기간단히 구현해보자면 다음과 같다:코드 A#include #include #include #include #define NMAX 1500using namespace std;typedef pair pii;int main(){ int v,e; cin>>v>>e; int k; cin>>k; vector rd[NMAX]; // road for(int i=0;i>u>>v>>w; rd[u].push_back(pii(v,w)); } int dis[NMAX];..

공부/코딩 2025.05.06

FWA 2부: 플로이드 워셜 알고리즘에서 경로 복원하기

플로이드 워셜 알고리즘(Floyd-Warshall Algorithm)은 모든 노드들 간 최단 경로를 찾는 알고리즘이다.전 글에서 소개한 플로이드 워셜 알고리즘의 구현을 그대로 가져오겠다. for(int x=0;x 이는 노드 a와 b를 잇는 최단 거리를 d[a][b]에 저장하는 알고리즘이다. 근데 경로 그 자체는 구할 수 없다. d[a][b]=min(d[a][b],d[a][x]+d[x][b]);이 부분을 보자.d[a][b]보다 d[a][x]+d[x][b]가 작다면 d[a][b]를 그 값으로 업데이트하는 부분이다. 무슨 뜻이냐면 기존에 a에서 b로 가는 경로보다 a에서 x를 갔다가, x에서 b로 가는 경로의 길이가 더 짧으면 그 길을 택한다는 뜻이다. 최종적으로 그 길을 택했다면 a에서 b로 가는..

공부/코딩 2025.03.08

FWA 1부: 플로이드-워셜 알고리즘과 주의사항 (반복문의 순서가 중요한 이유)

플로이드 워셜 알고리즘(Floyd-Warshall Algorithm)은 모든 노드들 간 최단 경로를 찾는 알고리즘이다. 일단적으로 노드 N개와 두 노드를 잇는 간선 K개가 주어지고, 특정 두 노드를 잇는 최단 거리를 찾아야 하는 상황이 주어진다.이럴 때는 다익스트라 알고리즘을 쓰면 된다. 다익스트라(데이크스트라) 알고리즘(Dijkstra Algorithm)은 두 노드 간 최단 경로를 찾는 알고리즘이다. 플로이드 워셜 알고리즘은 언제 쓰느냐?가능한 모든 두 노드들 사이 최단 거리를 구할 때 쓴다. 그러니까 하나만 구하면 될 때는 다익스트라, 모두 구해야 할 때는 플로이드 워셜을 쓴다. 다익스트라 알고리즘의 시간 복잡도는 O(KlogK)이고 플로이드 워셜의 시간복잡도는 O(N^3)이다.https://www...

공부/코딩 2025.03.06

네트워크 기초 6일차: 응용 계층

드디어 마지막 계층인 응용 계층에 도달했다!  요청과 응답사용자가 URL을 입력하는 행위를 요청이라고 하고, 서버는 사용자의 요청에 응답을 한다. HTTP  프로토콜 HyperText Transfer Protocol요청과 응답을 위한 프로토콜이다. 클라이언트와 서버가 어떻게 데이터를 교환할지 정해놓은 규칙으로, 80번 포트를 사용한다. 문자 형태로 데이터가 전송된다. 그 데이터의 구조는 다음과 같다.시작 라인헤더공백(1줄)바디 body 시작 라인요청/응답이 어떤 메시지인지를 알려준다. 요청 메세지의 경우 HTTP 메서드, 경로, HTTP 버전으로 이루어져 있다. GET /index.html HTTP/1.1 HTTP 메서드데이터를 수신하는 서버에서 어떤 작업을 해야 하는지를 알려주는 용도이다. GET, P..

공부/네트워크 2025.02.19