查找相關知識與題目 →

第 812 題:有向無環圖的拓撲排序

本頁導覽
  1. 原題與已知條件
  2. 定義與適用範圍
  3. 逐步推導
  4. 逐步反向核對
  5. 結論
  6. 本題覆核與來源綁定

返回所在分頁 5

← 逐題詳解目錄 · 原題批次

P1000-0812 · q-20261015-advance-20261116-r06-topological-ordering-dag-0062

原題與已知條件

finite digraph、完整vertex permutation與all-edge order責任。操作=toposort-kahn-trace;資料={"vertices":["v0","v1","v2","v3","v4","v5"],"edges":[["v0","v3"],["v0","v4"]]}。請依 exact_ordered_tuple_declared_by_interface 欄序回答。

  • G001 — finite digraph、完整vertex permutation與all-edge order責任。操作=toposort-kahn-trace;資料={"vertices":["v0","v1","v2","v3","v4","v5"],"edges":[["v0","v3"],["v0","v4"]]}。請依 exact_ordered_tuple_declared_by_interface 欄序回答。

定義與適用範圍

每輪以剩餘邊重算入度,取字典序第一個零入度點並刪除其出邊。

逐步推導

S001 · implies

操作前

V=[v0, v1, v2, v3, v4, v5]

操作後

all directed edges=[[v0, v3], [v0, v4]]

條件:無

這是完整指定的有限有向圖,不是圖論術語的完全圖。

步驟識別與依賴

規則:full_directed_graph · 依賴:G001

S002 · implies

操作前

remaining=[v0, v1, v2, v3, v4, v5]; active edges=[[v0, v3], [v0, v4]]

操作後

indegrees=[[v0, 0], [v1, 0], [v2, 0], [v3, 1], [v4, 1], [v5, 0]]; sources=[v0, v1, v2, v5]

條件:無

每次都以尚未移除的邊重新計算入度,不以原始入度硬套全部步驟。

步驟識別與依賴

規則:remaining_indegree · 依賴:G001, S001

S003 · implies

操作前

zero-indegree choices=[v0, v1, v2, v5]

操作後

choose=v0; new prefix=[v0]

條件:無

按已宣告的字典序挑第一個零入度點,並移除它發出的邊。

步驟識別與依賴

規則:lexicographic_kahn_choice · 依賴:G001, S002

S004 · implies

操作前

remaining=[v1, v2, v3, v4, v5]; active edges=[]

操作後

indegrees=[[v1, 0], [v2, 0], [v3, 0], [v4, 0], [v5, 0]]; sources=[v1, v2, v3, v4, v5]

條件:無

每次都以尚未移除的邊重新計算入度,不以原始入度硬套全部步驟。

步驟識別與依賴

規則:remaining_indegree · 依賴:G001, S003

S005 · implies

操作前

zero-indegree choices=[v1, v2, v3, v4, v5]

操作後

choose=v1; new prefix=[v0, v1]

條件:無

按已宣告的字典序挑第一個零入度點,並移除它發出的邊。

步驟識別與依賴

規則:lexicographic_kahn_choice · 依賴:G001, S004

S006 · implies

操作前

remaining=[v2, v3, v4, v5]; active edges=[]

操作後

indegrees=[[v2, 0], [v3, 0], [v4, 0], [v5, 0]]; sources=[v2, v3, v4, v5]

條件:無

每次都以尚未移除的邊重新計算入度,不以原始入度硬套全部步驟。

步驟識別與依賴

規則:remaining_indegree · 依賴:G001, S005

S007 · implies

操作前

zero-indegree choices=[v2, v3, v4, v5]

操作後

choose=v2; new prefix=[v0, v1, v2]

條件:無

按已宣告的字典序挑第一個零入度點,並移除它發出的邊。

步驟識別與依賴

規則:lexicographic_kahn_choice · 依賴:G001, S006

S008 · implies

操作前

remaining=[v3, v4, v5]; active edges=[]

操作後

indegrees=[[v3, 0], [v4, 0], [v5, 0]]; sources=[v3, v4, v5]

條件:無

每次都以尚未移除的邊重新計算入度,不以原始入度硬套全部步驟。

步驟識別與依賴

規則:remaining_indegree · 依賴:G001, S007

S009 · implies

操作前

zero-indegree choices=[v3, v4, v5]

操作後

choose=v3; new prefix=[v0, v1, v2, v3]

條件:無

按已宣告的字典序挑第一個零入度點,並移除它發出的邊。

步驟識別與依賴

規則:lexicographic_kahn_choice · 依賴:G001, S008

S010 · implies

操作前

remaining=[v4, v5]; active edges=[]

操作後

indegrees=[[v4, 0], [v5, 0]]; sources=[v4, v5]

條件:無

每次都以尚未移除的邊重新計算入度,不以原始入度硬套全部步驟。

步驟識別與依賴

規則:remaining_indegree · 依賴:G001, S009

S011 · implies

操作前

zero-indegree choices=[v4, v5]

操作後

choose=v4; new prefix=[v0, v1, v2, v3, v4]

條件:無

按已宣告的字典序挑第一個零入度點,並移除它發出的邊。

步驟識別與依賴

規則:lexicographic_kahn_choice · 依賴:G001, S010

S012 · implies

操作前

remaining=[v5]; active edges=[]

操作後

indegrees=[[v5, 0]]; sources=[v5]

條件:無

每次都以尚未移除的邊重新計算入度,不以原始入度硬套全部步驟。

步驟識別與依賴

規則:remaining_indegree · 依賴:G001, S011

S013 · implies

操作前

zero-indegree choices=[v5]

操作後

choose=v5; new prefix=[v0, v1, v2, v3, v4, v5]

條件:無

按已宣告的字典序挑第一個零入度點,並移除它發出的邊。

步驟識別與依賴

規則:lexicographic_kahn_choice · 依賴:G001, S012

S014 · implies

操作前

output=[v0, v1, v2, v3, v4, v5]; remaining=[]

操作後

blocked=否; complete valid order=是

條件:無

完成後仍逐邊檢查最終排列;停住與成功用不同旗標保留。

步驟識別與依賴

規則:kahn_final_audit · 依賴:G001, S013

逐步反向核對

  • S014 · premise_and_result_audit — 核對完整頂點與邊;一個失敗次序不等於有環,全部合法分支不能漏列。
  • S013 · premise_and_result_audit — 核對完整頂點與邊;一個失敗次序不等於有環,全部合法分支不能漏列。
  • S012 · premise_and_result_audit — 核對完整頂點與邊;一個失敗次序不等於有環,全部合法分支不能漏列。
  • S011 · premise_and_result_audit — 核對完整頂點與邊;一個失敗次序不等於有環,全部合法分支不能漏列。
  • S010 · premise_and_result_audit — 核對完整頂點與邊;一個失敗次序不等於有環,全部合法分支不能漏列。
  • S009 · premise_and_result_audit — 核對完整頂點與邊;一個失敗次序不等於有環,全部合法分支不能漏列。
  • S008 · premise_and_result_audit — 核對完整頂點與邊;一個失敗次序不等於有環,全部合法分支不能漏列。
  • S007 · premise_and_result_audit — 核對完整頂點與邊;一個失敗次序不等於有環,全部合法分支不能漏列。
  • S006 · premise_and_result_audit — 核對完整頂點與邊;一個失敗次序不等於有環,全部合法分支不能漏列。
  • S005 · premise_and_result_audit — 核對完整頂點與邊;一個失敗次序不等於有環,全部合法分支不能漏列。
  • S004 · premise_and_result_audit — 核對完整頂點與邊;一個失敗次序不等於有環,全部合法分支不能漏列。
  • S003 · premise_and_result_audit — 核對完整頂點與邊;一個失敗次序不等於有環,全部合法分支不能漏列。
  • S002 · premise_and_result_audit — 核對完整頂點與邊;一個失敗次序不等於有環,全部合法分支不能漏列。
  • S001 · premise_and_result_audit — 核對完整頂點與邊;一個失敗次序不等於有環,全部合法分支不能漏列。

結論

([[[v0, v1, v2, v3, v4, v5], [v0, v1, v2, v5], v0], [[v1, v2, v3, v4, v5], [v1, v2, v3, v4, v5], v1], [[v2, v3, v4, v5], [v2, v3, v4, v5], v2], [[v3, v4, v5], [v3, v4, v5], v3], [[v4, v5], [v4, v5], v4], [[v5], [v5], v5]], [v0, v1, v2, v3, v4, v5], 否, 是, each_step_removes_lexicographically_first_zero_indegree_source)

上述完整代值與條件核對得到原題答案;欄位次序及真假標記保持原始合約。

本題覆核與來源綁定

覆核日期:2026-10-26

原題、答案、步驟表達式、數值 AST 與既有歷史保持原樣;原來的候選狀態屬於來源歷史,不覆寫為形式化證明。

來源雜湊與覆核憑證
  • input commit: 0f7be61e2c22317a4075561dc822c87d881a50db
  • original question SHA-256: e5059c217c50f1cb3126e0d88e2ee9b6194aff596ffec82e24b88889f0cc1362
  • candidate record SHA-256: 35669f08ec3e7b6401dd2704de7a481529e97c00b9f55e5d723acec7c31290a8
  • semantic review receipt SHA-256: 6c2c6d46aded7582a11ac41a8c0b3bdde2669a53bdb6e796eea2039994a02772
  • question-first witness SHA-256: 77e43898df9efdbf8094ad81fe4ab91cf4b4bd82f481eb9b4699b73cb4da612b
  • Lean: NOT_RUN · human review: NOT_PERFORMED
同源完整 JSON