diff --git a/logseq/config.edn b/logseq/config.edn
index 96e33a4..bc80261 100644
--- a/logseq/config.edn
+++ b/logseq/config.edn
@@ -432,4 +432,10 @@
:file/name-format :triple-lowbar
:journal/page-title-format "yyyy-MM-dd EEEE"
:feature/enable-journals? false
- :default-home {:page "๐ Index Page"}}
+ :default-home {:page "๐ Index Page"}
+ :graph/forcesettings {:link-dist 10
+ :charge-strength -1000}
+ :graph/settings {:builtin-pages? false
+ :excluded-pages? true
+ :orphan-pages? true
+ :journal? false}}
diff --git a/pages/์๊ณ ๋ฆฌ์ฆ.md b/pages/์๊ณ ๋ฆฌ์ฆ.md
index caeb10a..306faa5 100644
--- a/pages/์๊ณ ๋ฆฌ์ฆ.md
+++ b/pages/์๊ณ ๋ฆฌ์ฆ.md
@@ -1,2 +1,4 @@
- [[์์ ์ ๋ ฌ(Topological Sort)]]
-- [[์๋ผํ ์คํ
๋ค์ค์ ์ฒด]]
\ No newline at end of file
+- [[์๋ผํ ์คํ
๋ค์ค์ ์ฒด]]
+- [[ํฌ๋ฃจ์ค์นผ ์๊ณ ๋ฆฌ์ฆ(Kruskalโs Algorithm)]]
+- [[ํ๋ฆผ ์๊ณ ๋ฆฌ์ฆ (Primโs Algorithm)]]
\ No newline at end of file
diff --git a/pages/์์ด๊ธฐ์ด 22๊ฐ.md b/pages/์์ด๊ธฐ์ด 22๊ฐ.md
index 3162907..1487474 100644
--- a/pages/์์ด๊ธฐ์ด 22๊ฐ.md
+++ b/pages/์์ด๊ธฐ์ด 22๊ฐ.md
@@ -96,9 +96,11 @@ deck:: Logseq/์์ด ๋ฌธ๋ฒ
I know the girl of he is afraid of.(X)
#+END_EXTRA
- ## **โบ ๊ด๊ณ๋๋ช
์ฌ - ์์ ๊ฒฉ**
- - I have the book. + Its cover is red.
+ - I have the book. + Its cover is red.
id:: e64cf537-d0c2-4fc1-9a96-5bdc3b605e5b
์์ ๋ ๋ฌธ์ฅ์ ํฉ์ณค์ ๋์ ๊ฒน์น๋ ๋์, ์ ํ์ฌ, ํํ์ฌ, ์ฌ์ฉ๋๋ ๊ด๊ณ๋๋ช
์ฌ, ๊ทธ๋ฆฌ๊ณ ์ต์ข
์ ์ผ๋ก ์์ฑ๋๋ ๋ฌธ์ฅ์? #card
+ - I have the book. + Its cover is red.
+ id:: 694fa5ac-9559-4154-8878-0794bbe360a7
- ๊ฒน์น๋ ๋์ : The girl
- ์ ํ์ฌ : ์ ๋ฌธ์ฅ์์์ the book(์ฌ๋ฌผ)
- ํํ์ฌ : ๋ท ๋ฌธ์ฅ์์์ its(์ฃผ์ด / ํฉ์ณ์ง ๋ฌธ์ฅ์์๋ ์์ ๊ฒฉ์ผ๋ก ๋ค์ด๊ฐ)
diff --git a/pages/์๋ฃ๊ตฌ์กฐ.md b/pages/์๋ฃ๊ตฌ์กฐ.md
index 2fcf6f4..f093d7d 100644
--- a/pages/์๋ฃ๊ตฌ์กฐ.md
+++ b/pages/์๋ฃ๊ตฌ์กฐ.md
@@ -1,2 +1,2 @@
- [[๋ถ๋ฆฌ์งํฉ(Disjoint Set) (Union Find)]]
--
\ No newline at end of file
+- [[์ต์ ์คํจ๋ ํธ๋ฆฌ(Minimum Spanning Tree)]]
\ No newline at end of file
diff --git a/pages/์ต์ ์คํจ๋ ํธ๋ฆฌ(Minimum Spanning Tree).md b/pages/์ต์ ์คํจ๋ ํธ๋ฆฌ(Minimum Spanning Tree).md
new file mode 100644
index 0000000..3bf6d3f
--- /dev/null
+++ b/pages/์ต์ ์คํจ๋ ํธ๋ฆฌ(Minimum Spanning Tree).md
@@ -0,0 +1,28 @@
+deck:: Logseq/coding tip
+
+- ## 1. ๊ฐ๋
(Concept)
+ - **์คํจ๋ ํธ๋ฆฌ(Spanning Tree)**
+ - ๊ทธ๋ํ์ ๋ชจ๋ ์ ์ ์ ์ฐ๊ฒฐํ๋ ํธ๋ฆฌ๋ฅผ ์๋ฏธํ๋ฉฐ, ์ ์ ์ด $V$๊ฐ๋ฉด ๊ฐ์ ์ ํญ์ {{cloze $V-1$}}๊ฐ.
+ id:: 6950f19e-3b2d-4a6e-a275-e24847b486be
+ - **์ต์ ์คํจ๋ ํธ๋ฆฌ(Minimum Spanning Tree)**
+ - ๊ฐ์ค์น๊ฐ ์๋ ๋ฌด๋ฐฉํฅ ๊ทธ๋ํ์์ ๋ชจ๋ ์ ์ ์ ์ฐ๊ฒฐํ๋ฉด์, {{cloze ๊ฐ์ ๊ฐ์ค์น ํฉ}}์ด ์ต์๊ฐ ๋๋๋ก ๊ณ ๋ฅธ ํธ๋ฆฌ.
+ extra:: ์คํจ๋ ํธ๋ฆฌ๋ค ์ค ๊ฐ์ค์น ํฉ์ด ์ต์์ธ ํธ๋ฆฌ
+ id:: 6950f0fd-13d7-4d6b-88c8-6d2fd1f1a732
+- ## 2. ํต์ฌ ์ฑ์ง
+ - MST๋ {{cloze ์ฌ์ดํด}}์ ๊ฐ์ง์ง ์๋๋ค.
+ id:: 6950f2db-2f04-4e8d-adab-87f0a667cb0e
+ - MST๊ฐ ์ ์ผํ์ง ์ฌ๋ถ๋ {{cloze ๊ฐ์ค์น ์ค๋ณต}} ๋ฑ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋ค.
+ extra:: ๋์ผ ๊ฐ์ค์น๊ฐ ์กด์ฌํ๋ค๋ฉด ๊ฒฝ์ฐ์ ๋ฐ๋ผ ์ฌ๋ฌ๊ฐ๊ฐ ์กด์ฌ ํ ์ ์์.
+ id:: 6950f2f2-449b-4b90-a006-09fa3c4e2647
+- ## 3. ๊ตฌํ ๋ฐฉ๋ฒ ๋ฐ ๋น๊ต
+ - ### ๊ตฌํ ์๊ณ ๋ฆฌ์ฆ
+ - [[ํฌ๋ฃจ์ค์นผ ์๊ณ ๋ฆฌ์ฆ(Kruskalโs Algorithm)]]
+ - ์ ์ฒด ๊ฐ์ ์ ๋ ฌ ํ ์ผ ๊ฒ๋ถํฐ ์ถ๊ฐํ๋ ์๊ณ ๋ฆฌ์ฆ
+ - {{cloze ๊ฐ์ ์ ๊ฐ์๊ฐ ์ ์ ๋ :: ํฌ๋ฃจ์ค์นผ ์๊ณ ๋ฆฌ์ฆ์ด ๋ ํจ์จ์ ์ธ ๊ฒฝ์ฐ๋?}} ์ฌ์ฉํ๊ธฐ ์ ๋ฆฌํ๋ค.
+ extra:: ๊ฐ์ ์ด ์ ์ ๊ทธ๋ํ๋ฅผ ํฌ์ ๊ทธ๋ํ (Sparse Graph) ๋ผ๊ณ ํ๋ค.
+ id:: 6951147c-369e-46ca-aebb-627ca0a1d63d
+ - [[ํ๋ฆผ ์๊ณ ๋ฆฌ์ฆ (Primโs Algorithm)]]
+ - ์์์ ์์ ์กฐ๊ธ์ฉ ์์ญ์ ๋ํ๊ฐ๋ ์๊ณ ๋ฆฌ์ฆ
+ - {{cloze ๊ฐ์ ์ ๊ฐ์๊ฐ ๋งค์ฐ ๋ง์ ๋ :: ํ๋ฆผ ์๊ณ ๋ฆฌ์ฆ์ด ๋ ํจ์จ์ ์ธ ๊ฒฝ์ฐ๋?}} ์ฌ์ฉํ๊ธฐ ์ ๋ฆฌํ๋ค.
+ extra:: ๊ฐ์ ์ด ๋งค์ฐ ๋ง์ ๊ทธ๋ํ๋ฅผ ๋ฐ์ง ๊ทธ๋ํ (Dense Graph) ๋ผ๊ณ ํ๋ค.
+ id:: 69511474-adb8-4eea-b8ba-617929628ee1
\ No newline at end of file
diff --git a/pages/ํฌ๋ฃจ์ค์นผ ์๊ณ ๋ฆฌ์ฆ(Kruskalโs Algorithm).md b/pages/ํฌ๋ฃจ์ค์นผ ์๊ณ ๋ฆฌ์ฆ(Kruskalโs Algorithm).md
new file mode 100644
index 0000000..9c56304
--- /dev/null
+++ b/pages/ํฌ๋ฃจ์ค์นผ ์๊ณ ๋ฆฌ์ฆ(Kruskalโs Algorithm).md
@@ -0,0 +1,52 @@
+deck:: Logseq/coding tip
+
+- ## 1. ๊ฐ๋
(Concept)
+ - ์ต์ ์คํจ๋ ํธ๋ฆฌ(MST)๋ฅผ ๊ตฌํ๋ ์๊ณ ๋ฆฌ์ฆ.
+ - โ๊ฐ์ฅ ๊ฐ๋ฒผ์ด ๊ฐ์ ๋ถํฐ ์ ํํ๋, ์ฌ์ดํด์ด ์๊ธฐ์ง ์๊ฒ ํ๋ค.โ ๋ผ๋ ๊ทธ๋ฆฌ๋(Greedy) ์ ๋ต์ ์ฌ์ฉ.
+ - ์ด๋ฅผ ์ํด {{cloze ๋ถ๋ฆฌ์งํฉ}}์ ์ฌ์ฉํจ.
+ extra:: [[๋ถ๋ฆฌ์งํฉ(Disjoint Set) (Union Find)]]
+ id:: 6950f5ad-52f1-4df3-b495-cbfa7a6ebbec
+- ## 2. ๊ธฐ๋ณธ ๊ตฌ์กฐ (Basic Structure)
+ - 1) ๊ทธ๋ํ์ ๋ชจ๋ ๊ฐ์ ์ {{cloze ๊ฐ์ค์น ์ค๋ฆ์ฐจ์}} ์ผ๋ก ์ ๋ ฌํ๋ค.
+ id:: 6950f5f7-a85f-49a9-96c1-a06afc1af444
+ - 2) ๊ฐ์ฅ ๊ฐ์ค์น๊ฐ ๋ฎ์ ๊ฐ์ ๋ถํฐ ํ๋์ฉ ๊บผ๋ธ๋ค.
+ - 3) ์ ํํ ๊ฐ์ ์ด ์ฐ๊ฒฐํ๋ ๋ ์ ์ ์ด ์ด๋ฏธ ๊ฐ์ ์งํฉ์ ์ํด ์๋์ง ํ์ธํ๋ค.
+ - ๊ฐ์ ์งํฉ์ด ์๋๋ผ๋ฉด :-> ๊ฐ์ ์ ์ ํํ๊ณ ๋ ์งํฉ์ ํฉ์น๋ค(Union)
+ id:: 6950f9c6-8c02-4f9f-b860-bc9f2e768155
+ - ๊ฐ์ ์งํฉ์ด๋ผ๋ฉด :-> ์ฐ๊ฒฐํ๋ฉด ์ฌ์ดํด์ด ๋ฐ์ํ๋ฏ๋ก ๋ค์์ผ๋ก ๋์ด๊ฐ๋ค.
+ id:: 6950f9d9-10e3-475d-8aec-aea39babab16
+ - 3) ์ต์ข
์ ์ผ๋ก ๊ฐ์ ์ด {{cloze $V-1$ (์ ์ ๊ฐฏ์ - 1)}} ๊ฐ ์ ํ๋๋ฉด ์ข
๋ฃํ๋ค.
+ id:: 6950f9ec-f8cb-4376-8505-3de0f465da7b
+- ## 3. ์ฝ๋(python)
+ - ์
๋ ฅ์ด V(์ ์ ์ ๊ฐฏ์), ๋ชจ๋ ๊ฐ์ ๋ค์ ์งํฉ(edges)์ ๋งค๊ฐ๋ณ์๋ก ํ์ฌ
+ id:: 69510a18-7a5f-4a41-8113-f294b8263a21
+ ํฌ๋ฃจ์ค์นผ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ์ต์ ์คํจ๋ ํธ๋ฆฌ๋ฅผ ๊ตฌํํ๊ณ ,
+ ์ด๋ ์ด ๊ฐ์ค์น๋ฅผ ๋ฐํํ๋ ํจ์๋ฅผ ๊ตฌํํ๋ฉด?
+ ```python
+ # edges: (cost, a, b) ํํ์ ๊ฐ์ ๋ฆฌ์คํธ
+ # parent: Union-Find์ฉ ๋ถ๋ชจ ํ
์ด๋ธ์ด๊ณ ์ด๋ฏธ ์๊ธฐ ์์ ์ผ๋ก ์ด๊ธฐํ๋์ด ์์.
+ # union-find ์ฐ์ฐ์ ์ด๋ฏธ ๊ตฌํ๋์ด ์๋ค๊ณ ๊ฐ์
+ ```
+ #card
+ - ```python
+ def kruskal(v, edges):
+ edges.sort() # 1. ๊ฐ์ค์น ์ ์ ๋ ฌ
+
+ total_cost = 0
+ edge_count = 0
+
+ for cost, a, b in edges:
+ # 2. ์ฌ์ดํด์ด ๋ฐ์ํ์ง ์๋ ๊ฒฝ์ฐ์๋ง ์ ํ
+ if find(a) != find(b):
+ union(a, b)
+ total_cost += cost
+ edge_count += 1
+ if edge_count == v - 1: # 3. ๊ฐ์ V-1๊ฐ ๋ชจ์ผ๋ฉด ์ข
๋ฃ
+ break
+
+ return total_cost
+ ```
+- ## 4. ์๊ฐ๋ณต์ก๋
+ - ๊ฐ์ ๋ค์ ์ ๋ ฌํ๊ณ ๊ทธ ๊ฐ์ ๋ค์ ํ๋ํ๋ ํ์ํ๊ธฐ ๋๋ฌธ์ ๊ฐ์ ์ ์ ๋ ฌ ์๊ฐ์ด ๊ฐ์ฅ ์ง๋ฐฐ์ ์.
+ - ์๊ฐ๋ณต์ก๋๋ {{cloze $O(E\log E)$}}
+ id:: 69511394-6c6e-4da0-97e6-27c56fc37c71
\ No newline at end of file
diff --git a/pages/ํ๋ฆผ ์๊ณ ๋ฆฌ์ฆ (Primโs Algorithm).md b/pages/ํ๋ฆผ ์๊ณ ๋ฆฌ์ฆ (Primโs Algorithm).md
new file mode 100644
index 0000000..4d0ecb7
--- /dev/null
+++ b/pages/ํ๋ฆผ ์๊ณ ๋ฆฌ์ฆ (Primโs Algorithm).md
@@ -0,0 +1,57 @@
+deck:: Logseq/coding tip
+
+- ## 1. ๊ฐ๋
(Concept)
+ - ์ต์ ์คํจ๋ ํธ๋ฆฌ(MST)๋ฅผ ๊ตฌํ๋ ์๊ณ ๋ฆฌ์ฆ.
+ - โ์์์ ์์ ์ ์ ์์ ์ถ๋ฐํ์ฌ, ํ์ฌ ํธ๋ฆฌ์ ์ฐ๊ฒฐ๋ ๊ฐ์ ์ค ๊ฐ์ฅ ์ผ ๊ฒ์ ์ถ๊ฐํ๋ฉฐ ํ์ฅํ๋ค.โ ๋ผ๋ ์ ๋ต์ ์ฌ์ฉ
+ - ์ด๋ฅผ ์ํด {{cloze ์ฐ์ ์์ ํ}}๊ฐ ์ฌ์ฉ๋จ.
+ id:: 69511108-8006-4c0a-9452-d248f8c58ca5
+ - ๋ค์ต์คํธ๋ผ(Dijkstra) ์๊ณ ๋ฆฌ์ฆ๊ณผ ๋น์ทํจ.
+- ## 2. ๊ธฐ๋ณธ ๊ตฌ์กฐ (Basic Structure)
+ - 1) ์์์ ์ ์ (vertex)์ ํ๋ ์ ํํด์ ํธ๋ฆฌ์ ํฌํจ์ํจ๋ค.
+ - 2) ํ์ฌ ํธ๋ฆฌ์ ํฌํจ๋ ์ ์ ๋ค๊ณผ ํฌํจ๋์ง ์์ ์ ์ ๋ค์ ์ฐ๊ฒฐํ๋ ๊ฐ์ ์ค, ๊ฐ์ค์น๊ฐ ๊ฐ์ฅ ์์ ๊ฐ์ ์ ์ฐพ๋๋ค.
+ - 3) ํด๋น ๊ฐ์ ๊ณผ ์ฐ๊ฒฐ๋ ์๋ก์ด ์ ์ ์ ํธ๋ฆฌ์ ์ถ๊ฐํ๋ค.
+ - 4) ์์ ๊ณผ์ ์ ๋ฐ๋ณตํ์ฌ ์ต์ข
์ ์ผ๋ก ๋ชจ๋ ์ ์ ์ด ํธ๋ฆฌ์ ํฌํจ๋ ๋ ๊น์ง ๋ฐ๋ณตํ๋ค.
+- ## 3. ์ฝ๋(python)
+ - ์
๋ ฅ์ด V(์ ์ ์ ๊ฐฏ์), ์ธ์ ๋ฆฌ์คํธ(graph)์ ์์๋
ธ๋(start_node)๋ฅผ ๋งค๊ฐ๋ณ์๋ก ํ์ฌ
+ id:: 695111c8-84a0-4220-a7f4-b9f654761cec
+ ํ๋ฆผ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ์ต์ ์คํจ๋ ํธ๋ฆฌ๋ฅผ ๊ตฌํํ๊ณ ,
+ ์ด๋ ์ด ๊ฐ์ค์น๋ฅผ ๋ฐํํ๋ ํจ์๋ฅผ ๊ตฌํํ๋ฉด?
+ ```python
+ # graph: (๋
ธ๋: [(๋น์ฉ, ์ธ์ ๋
ธ๋)]...)
+ # ex) graph = [[],[(3,2),(4,5)],[(1,3)]...]
+ ```
+ #card
+ - ```python
+ import heapq
+
+ # graph: ์ธ์ ๋ฆฌ์คํธ (๋
ธ๋: [(๋น์ฉ, ์ธ์ ๋
ธ๋), ...])
+ def prim(start_node, v, graph):
+ visited = [False] * (v + 1)
+ min_heap = [(0, start_node)] # (๋น์ฉ, ์ ์ )
+ total_cost = 0
+ count = 0
+
+ while min_heap:
+ cost, node = heapq.heappop(min_heap)
+
+ if visited[node]:
+ continue
+
+ visited[node] = True
+ total_cost += cost
+ count += 1
+
+ if count == v: # ๋ชจ๋ ์ ์ ๋ฐฉ๋ฌธ ์๋ฃ
+ break
+
+ # ์ธ์ ์ ์ ์ค ๋ฐฉ๋ฌธ ์ ํ ๊ณณ์ ํ์ ๋ฃ๊ธฐ
+ for next_cost, next_node in graph[node]:
+ if not visited[next_node]:
+ heapq.heappush(min_heap, (next_cost, next_node))
+
+ return total_cost
+ ```
+- ## 4. ์๊ฐ๋ณต์ก๋
+ - ์ฐ์ ์์ํ ์ฐ์ฐ์ด ์ฃผ๋ ์ฐ์ฐ์ด๋ฏ๋ก ์ฐ์ ์์ ํ ์ฐ์ฐ ์๋์ ์ํฅ์ ๋ง์ด ๋ฐ์.
+ - ์๊ฐ๋ณต์ก๋๋ {{cloze $O(E\log V)$}}
+ id:: 69511407-a9bc-40f2-b57c-f76060ea75f1
\ No newline at end of file
diff --git a/pages/๐ฉ๐ปโ๐ป์ฝ๋ฉ ํ ์ฝ๋ ๋ชจ์_์ด์ ์ด์ .md b/pages/๐ฉ๐ปโ๐ป์ฝ๋ฉ ํ ์ฝ๋ ๋ชจ์_์ด์ ์ด์ .md
index 02a61b7..eb4ae32 100644
--- a/pages/๐ฉ๐ปโ๐ป์ฝ๋ฉ ํ ์ฝ๋ ๋ชจ์_์ด์ ์ด์ .md
+++ b/pages/๐ฉ๐ปโ๐ป์ฝ๋ฉ ํ ์ฝ๋ ๋ชจ์_์ด์ ์ด์ .md
@@ -1,7 +1,4 @@
--
-deck:: Logseq/coding tip
-
-- ## **โ Javascript / Typescript**
+## **โ Javascript / Typescript**
- ### **โบ ๋ฐฐ์ด ๋งค์๋**
- ### **โผ๏ธ Array.slice(start_idx, end_idx)**
id:: 68692600-551c-488b-ad74-de8145729133