雲計算開發實例:Python3 拓撲排序

2021-01-08 TechWeb

對一個有向無環圖(Directed Acyclic Graph簡稱DAG)G進行拓撲排序,是將G中所有頂點排成一個線性序列,使得圖中任意一對頂點u和v,若邊(u,v)∈E(G),則u在線性序列中出現在v之前。通常,這樣的線性序列稱為滿足拓撲次序(Topological Order)的序列,簡稱拓撲序列。簡單的說,由某個集合上的一個偏序得到該集合上的一個全序,這個操作稱之為拓撲排序。

在圖論中,由一個有向無環圖的頂點組成的序列,若且唯若滿足下列條件時,稱為該圖的一個拓撲排序(英語:Topological sorting):

每個頂點出現且只出現一次;

若A在序列中排在B的前面,則在圖中不存在從B到A的路徑。

實例

執行以上代碼輸出結果為:

相關焦點

  • 雲計算開發實例:Python3歸併排序
    歸併排序(英語:Merge sort,或mergesort),是創建在歸併操作上的一種有效的排序算法。該算法是採用分治法(Divide and Conquer)的一個非常典型的應用。
  • 雲計算開發學習實例:Python3 斐波那契數列
    原標題:雲計算開發學習實例:Python3 斐波那契數列   斐波那契數列指的是這樣一個數列 0, 1, 1, 2, 3, 5, 8, 13,特別指出:第0項是
  • 雲計算開發學習實例:Python3 計算 n 個自然數的立方和
    225公式 : 13 + 23 + 33 + 43 + 53 = 225輸入 : n = 7輸入 : 784公式 : 13 + 23 + 33 + 43 + 53 + 63 + 73 = 784以上實例輸出結果為
  • 雲計算開發實例:Python3 計算列表元素之和
    例如: 輸入 : [12, 15, 3, 10] 輸出 : 40實例一以上實例輸出結果為:>實例二 使用 while() 循環以上實例輸出結果為:實例三 使用遞歸>以上實例輸出結果為:
  • 雲計算開發實例:Python3 中反轉列表的三種方式
    key -- 主要是用來進行比較的元素,只有一個參數,具體的函數的參數就是取自於可迭代對象中,指定可迭代對象中的一個元素來進行排序。reverse -- 排序規則,reverse = True 降序 , reverse = False 升序(默認)。返回值返回重新排序的列表。
  • 圖解:什麼是拓撲排序?
    則我們稱這樣的頂點序列為一個拓撲序列。所謂的拓撲排序,其實就是對一個有向無環圖構造拓撲序列的過程。當然這裡的說法不夠正式,也是為了理解方便,拓撲排序的官方定義是這樣的:由某個集合上的一個偏序得到該集合上的一個全序的操作過程稱為拓撲排序。那什麼是偏序,什麼又是全序呢,我希望小禹禹上課的時候好好聽《離散數學》老師講課,你就可以嚴格地按照數學的方式對拓撲排序進行推導了。
  • 雲計算開發學習實例:Python3 如何判斷閏年
    那麼在Python3中如何判斷閏年呢,以下實例可以判斷用戶輸入的年份是否為閏年:我們也可以使用內嵌 if 語句來實現:執行以上代碼輸出結果為:延伸其實 Python 的 calendar 庫中已經封裝好了一個方法
  • 一分鐘算法——拓撲排序(圖論)
    拓撲排序在了解本期拓撲排序的內容之前,你需要看過之前幾期的有關算法的文章
  • 拓撲排序原理與解題套路
    點擊藍色「五分鐘學算法」關注我喲加個「星標」,一起學算法其實最開始學習算法,聽到拓撲排序這幾個字我也是懵逼的,後來學著學著才慢慢知道是怎麼一回事。拓撲排序解決的是依賴圖問題。依賴圖表示的是節點的關係是有依賴性的,比如你要做事件 A,前提是你已經做了事件 B。除了 「先有雞還是先有蛋」 這類問題,一般來說事件的依賴關係是單向的,因此我們都用有向無環圖來表示依賴關係。拓撲排序就是根據這些依賴來給出一個做事情,或者是事件的一個順序。
  • Python中判斷數字是否為質數的實例講解
    在本篇文章裡小編給大家分享了關於python中判斷數字是否為質數的實例講解內容,有興趣的朋友們可以學習下。
  • python入門第四課:列表的排序、元素遍歷
    本教程使用的課本是《Python編程:從入門到實踐》,作者:[美] Eric Matthes本節介紹列表的操作,包括列表的排序、元素遍歷等操作。,也可以對字母,甚至中文排序,大家可以自己改一下列表的內容試試。
  • 「Python爬蟲與文本實例技術與應用」培訓班通知
    Python這門程式語言包羅萬象,可以說掌握了python,除了一些特殊環境和高度的性能要求,你可以用它做任何事。為提升相關科技工作者的技術水平,北京博宏科睿教育科技有限公司特舉辦2018年第二期「Python爬蟲與文本挖掘實例技術與應用」培訓班,本次培訓從爬蟲的基本知識入手,使用Python作為實現工具,一步步講述網絡爬蟲的實現,具體內容如下:            【培訓目標】    1.讓學員儘快掌握python語言的基本結構與語法與數據類型,
  • 雲計算開發學習筆記:Python3匿名函數
    來源:TechWeb.com.cnpython 使用 lambda 來創建匿名函數。所謂匿名,意即不再使用 def 語句這樣標準的形式定義一個函數。語法lambda 函數的語法只包含一個語句,如下:如下實例:以上實例輸出結果:return語句return [
  • 雲計算開發與人工智慧的關係,雲計算開發主宰物聯網
    26%的開發者最常將雲計算與物聯網聯繫在一起,並且有三倍的可能性更常使用雲環境作為開發環境。34.2%的物聯網開發者發費超過50%的時間在分析和資料庫工作。物聯網開發者們也更可能花費25%的工作時間在分析和建立所有類別的應用程式資料庫。清晰的分析和資料庫建議將對未來的物聯網應用設計有著重要的作用。
  • 雲計算開發學習實例:Python3 最大公約數算法
    當最小值不為最大公約數時,最大公約數不會大於最小值的1/2;3. 求最大公約數理應從大到小循環遞減求最大。兩個數的最大公約數可以使用 歐幾裡得算法實現。
  • 雲計算開發學習實例:Python3 質數判斷方法
    一個大於1的自然數,除了1和它本身外,不能被其他自然數(質數)整除(2, 3, 5, 7等),換句話說就是該數除了1和它本身以外不再有其他的因數。
  • Python數據類型之列表list
    # 列表是python中最基本的數據結構,它是一個有序序列,序列中的每個元素都分配一個數字(位置,索引)# 1、我們可以使用 方括號,中括號[]來創建列表# 2、我們可以直接將序列放在list(seq)
  • Python入門小迷宮,走完這個迷宮,就能掌握python編程基礎
    其實,這是一個用python做的迷宮小遊戲,非常簡單,但對於python初學者來說,還是有一定的挑戰性,但TONOW有源碼和教程,只要跟著python迷宮小遊戲的教程和相應的源碼,不僅很容易就能自己開發出這個遊戲,還能在這個過程中,掌握python編程的基礎哦!
  • Python開發簡單爬蟲【學習資料總結】
    開發爬蟲步驟 python語言基礎:(帶你熟悉python語言的特性,學會使用python開發環境,使用python開發一些簡單的案例)
  • python卡方檢驗 - CSDN
    3、計算卡方統計量:但總體而言,P值和卡方值選擇的特徵差別不是很大,下面會用實例說明。      二、上面簡單的介紹了卡方檢驗的原理,下面看如何實現卡方檢驗選擇特徵。        1、先用python展示如何進行卡方檢驗,用上面所舉的例子。