Skip to content

Commit 5c69b4d

Browse files
committed
Quartz sync: Jul 24, 2025, 9:45 PM
1 parent c7f544a commit 5c69b4d

File tree

10 files changed

+137
-19
lines changed

10 files changed

+137
-19
lines changed

content/Computer Science/1 Foundations & Theory/Algorithms/Graph.md

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
description:
33
aliases:
44
created: 2025-05-18
5-
modified: 2025-06-02
5+
modified: 2025-07-04
66
tags: []
77
---
88

@@ -13,7 +13,7 @@ tags: []
1313
- 루트 리스트 `root[]` - union-find용
1414
- 반전 그래프 (방향 그래프에서)
1515
- n번의 다익스트라를 2번으로 줄이는 기법
16-
- 사이클
16+
- 사이클
1717
- 사이클이 없는 것 -> 트리
1818
- 사이클 판별법
1919
- 무향 그래프
@@ -36,4 +36,15 @@ tags: []
3636
- 한 그룹이 안돌아지면
3737
- (진입 차수 - 1)
3838
- 진입 차수가 0인 노드를 큐에 넣고, 큐에서 노드를 하나씩 꺼내어 그 노드와 연결된 모든 노드의 진입 차수를 감소시킵니다.
39-
- 이 과정에서 진입 차수가 0인 노드가 더 이상 없다면 그래프에 사이클이 존재하는 것입니다.
39+
- 이 과정에서 진입 차수가 0인 노드가 더 이상 없다면 그래프에 사이클이 존재하는 것입니다.
40+
- 평면 그래프
41+
- 그래프의 모든 간선(변, edge)을 서로 교차하지 않게 그릴 수 있다면 평면그래프라고 한다
42+
- 4색 정리
43+
- 평면 그래프가 주어졌을 때, 각 정점에 대하여 인접한 정점과 다른 색으로 칠하는데 필요한 색은 4가지면 충분
44+
- 이동 용어
45+
- 워크
46+
- 아무 제약없이 이동
47+
- 트레일
48+
- 한번 지나간 간선(edge)은 다시 지나가지 않는 탐색
49+
- 경로
50+
- 한번 방문한 정점(node, vertex)은 다시 방문하지 않는 탐색

content/Computer Science/1 Foundations & Theory/Algorithms/Heap Sort, Heapify.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
11
---
2-
created: 2025/3/21 23:14:36
3-
modified: 2025/5/16 13:56:35
2+
description:
3+
aliases:
4+
created: 2025-05-18
5+
modified: 2025-07-04
46
---
7+
8+
- 완전이진트리 특성 활용
59
- ```cpp
610
#include <iostream>
711
#include <vector>

content/Computer Science/1 Foundations & Theory/Algorithms/Named Algorithms/Bellman-Ford Algorithm.md

Lines changed: 65 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,71 @@ aliases:
1414
- 그냥 사이클이 아닌, 합이 음이 되는 사이클
1515
- 양의 사이클은 괜찮다
1616
- 다른 그래프에 있는 사이클은 영향 X
17-
- 마지막 라운드(n - 1)에서도 업데이트가 일어난다면, 음수 사이클이 존재
17+
- 마지막 라운드($v - 1$)에서도 업데이트가 일어난다면, 음수 사이클이 존재
1818
- [[Dijkstra's Algorithm]]가 노드를 추가시 최단거리를 측정한다면, 벨만-포드는 간선을 기준으로 한다
19-
- 정점(n)마다 모든 간선(m)을 업데이트 한다
20-
- 다익스트라의 시간복잡도보다 크다 (n * m)
19+
- 정점($v$)마다 모든 간선($e$)을 업데이트 한다
20+
- 다익스트라의 시간복잡도보다 크다 ($v * e$)
2121
- 순차적으로 거리 테이블에서 거리 업데이트
2222
- 각 라운드에 업데이트 없다면 멈춤 (마지막 라운드까지 안가도 된다)
23+
- ```cpp
24+
#include <iostream>
25+
#include <vector>
26+
using namespace std;
27+
28+
vector<int> bellmanFord(int V, vector<vector<int>>& edges, int src) {
29+
30+
// Initially distance from source to all
31+
// other vertices is not known(Infinite).
32+
vector<int> dist(V, 1e8);
33+
dist[src] = 0;
34+
35+
// Relaxation of all the edges V times, not (V - 1) as we
36+
// need one additional relaxation to detect negative cycle
37+
for (int i = 0; i < V; i++) {
38+
39+
for (vector<int> edge : edges) {
40+
int u = edge[0];
41+
int v = edge[1];
42+
int wt = edge[2];
43+
if (dist[u] != 1e8 && dist[u] + wt < dist[v]) {
44+
45+
// If this is the Vth relaxation, then there is
46+
// a negative cycle
47+
if(i == V - 1)
48+
return {-1};
49+
50+
// Update shortest distance to node v
51+
dist[v] = dist[u] + wt;
52+
}
53+
}
54+
}
55+
56+
return dist;
57+
}
58+
59+
int main() {
60+
61+
// Number of vertices in the graph
62+
int V = 5;
63+
64+
// Edge list representation: {source, destination, weight}
65+
vector<vector<int>> edges = {
66+
{1, 3, 2},
67+
{4, 3, -1},
68+
{2, 4, 1},
69+
{1, 2, 1},
70+
{0, 1, 5}
71+
};
72+
73+
// Define the source vertex
74+
int src = 0;
75+
76+
// Run Bellman-Ford algorithm to get shortest paths from src
77+
vector<int> ans = bellmanFord(V, edges, src);
78+
79+
// Output the shortest distances from src to all vertices
80+
for (int dist : ans)
81+
cout << dist << " ";
82+
83+
return 0;
84+
}

content/Computer Science/1 Foundations & Theory/Algorithms/Named Algorithms/Dijkstra's Algorithm.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,7 @@ aliases:
124124
// pq에서 값 업데이트가 안되니
125125
// pq에 값을 그냥 넣는거로 업데이트 대신
126126
// 고로 값이 다르다는 것은 이전 값
127+
// visited[] 없이 하는 방법
127128
if (current.value != dist[current.node])
128129
continue;
129130

content/Computer Science/1 Foundations & Theory/Algorithms/Named Algorithms/Eulerian Path.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
---
2-
created: 2025/5/06 07:43:57
3-
modified: 2025/5/06 07:44:10
2+
description:
3+
created: 2025-05-18
4+
modified: 2025-07-04
45
aliases:
56
- 오일러
67
- 오일러 경로
78
---
9+
810
- 그래프의 모든 간선을 정확히 한 번씩 지나가는 경로
911
- 쾨니히스베르크의 다리 문제
1012
- 시작점 != 끝점 일 수 있다
@@ -16,6 +18,8 @@ aliases:
1618
- 차수가 홀수
1719
- 일반화
1820
- 홀수 차수가 없거나, 오직 두 개만 존재해야 한다
21+
- 시작점으로 돌아오는 경우
22+
- 시작점이 짝수 차수여야 한다
1923
- 모든 정점이 짝수 차수라면 오일러 순환이 존재
2024
- $O(n^2)$
2125
- 오일러 순환 (Eulerian Circuit or Cycle)
1.37 MB
Loading

content/Computer Science/1 Foundations & Theory/Algorithms/Tree.md

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,24 @@
22
description:
33
aliases:
44
created: 2025-05-01
5-
modified: 2025-06-02
5+
modified: 2025-07-04
66
---
77

88
- 일종의 그래프
99
- 사이클이 없는 ^13f174
10-
- v - 1 = e (정점 수- 1 = 간선 수)
10+
- 구성
11+
- 루트 노드
12+
- 내부 노드
13+
- 단말(leaf) 노드
14+
- $v - 1 = e$ (정점 수- 1 = 간선 수)
15+
- $n$개의 정점을 가진 연결 그래프가, $n - 1$개의 변을 가진다면 트리이다
16+
- 종류
17+
- 이진트리
18+
- 완전 이진 트리
19+
- 포화 이진 트리
20+
- 이진 탐색 트리
21+
- 허프만 압축 트리
22+
- m-원트리
1123
- util
1224
- 부모 배열
1325
- 자식 배열

content/Computer Science/7 Applications Development/Frontend/Terms/Untitled.md

Whitespace-only changes.
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
---
2+
description:
3+
aliases:
4+
created: 2025-07-05
5+
modified: 2025-07-05
6+
---
7+
8+
# Diagram
9+
- [FossFLOW](https://github.com/stan-smith/FossFLOW)
10+
11+
# Game
12+
- [phaser](https://phaser.io/)
13+
- [itch.io](https://itch.io/)

content/Computer Science/Learning.md

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,18 +7,29 @@ draft: "true"
77
---
88

99
- [codecrafters-io/build-your-own-x: Master programming by recreating your favorite technologies from scratch.](https://github.com/codecrafters-io/build-your-own-x)
10+
11+
# algorithm
12+
- [ ] 네카라쿠배 취업 끝장내는 파이썬 코딩테스트 마스터- fastcampus
13+
- [ ] 알고리즘 / 기술면접 완전 정복 올인원 패키지 Online- fastcampus
14+
- [ ] 컴퓨터 공학 전공 필수 올인원 패키지 Online- fastcampus
15+
- [ ] 퀴즈처럼 풀면서 배우는 파이썬 머신러닝 300제+ - fastcampus
16+
1017
# c, cpp
1118
- [C and C++ in Visual Studio \| Microsoft Learn](https://learn.microsoft.com/en-us/cpp/overview/visual-cpp-in-visual-studio?view=msvc-170)
1219
- [홍정모의 따라하며 배우는 C++ \| minkj1992](https://minkj1992.github.io/hong_modern_cpp/#0-terminology)
20+
- [ ] C++ 실력 완성 올인원 패키지 Online - fastcampus
21+
22+
# java
23+
- [ ] Java 웹 개발 마스터 올인원 패키지 Online- fastcampus
24+
- [ ] 한 번에 끝내는 Java/Spring 웹 개발 마스터 초격차 패키지 Online- fastcampus
1325

1426
# Frontend
15-
- [ ] 내 생에 마지막 JavaScript : 기초 문법부터 실무 웹 개발까지 한 번에 끝내기 초격차 패키지 Online. #next-action
16-
- [ ] 시그니처 프론트엔드 : 웹 개발부터 웹앱까지 프론트엔드의 모든 것 #next-action
17-
- [ ] 고성능 대규모 프론트엔드 10개 프로젝트 : 최적화부터 유지보수까지 한 번에 끝내는 초격차 패키지 Online. #next-action
18-
- [ ] 올인원 패키지 : 프론트엔드 최적화 완전 정복 (React & Next.js) #next-action
19-
- [ ] 더 쉽고 편하게 만드는 3D 인터랙티브 웹 개발 : 구현부터 최적화까지 (feat. R3F & Three.js) #next-action
20-
- [ ] 컴퓨터 공학 전공 필수 올인원 패키지 Online. #next-action
21-
- [ ] 네카라쿠배 취업 끝장내는 파이썬 코딩테스트 마스터 #next-action
27+
- [ ] 프론트엔드 개발 올인원 패키지 with React Online - fastcampus
28+
- [ ] 내 생에 마지막 JavaScript : 기초 문법부터 실무 웹 개발까지 한 번에 끝내기 초격차 패키지 Online- fastcampus
29+
- [ ] 시그니처 프론트엔드 : 웹 개발부터 웹앱까지 프론트엔드의 모든 것- fastcampus
30+
- [ ] 고성능 대규모 프론트엔드 10개 프로젝트 : 최적화부터 유지보수까지 한 번에 끝내는 초격차 패키지 Online- fastcampus
31+
- [ ] 올인원 패키지 : 프론트엔드 최적화 완전 정복 (React & Next.js)- fastcampus
32+
- [ ] 더 쉽고 편하게 만드는 3D 인터랙티브 웹 개발 : 구현부터 최적화까지 (feat. R3F & Three.js)- fastcampus
2233
- [ ] [React](https://ko.react.dev/)
2334
- [ ] [facebook/react \| DeepWiki](https://deepwiki.com/facebook/react)
2435
- [ ] [2022 30분 요약 강좌 시즌 1 : HTML, CSS, Linux, Bootstrap, Python, JS, jQuery&Ajax \| 학습 페이지](https://www.inflearn.com/courses/lecture?courseId=324216&unitId=89266&tab=curriculum)

0 commit comments

Comments
 (0)