0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Floyd如何求圖的最短路徑

算法與數(shù)據(jù)結(jié)構(gòu) ? 來(lái)源:bigsai ? 作者:大賽 ? 2021-10-09 14:38 ? 次閱讀
前言

圖論中,在尋路最短路徑中除了Dijkstra算法以外,還有Floyd算法也是非常經(jīng)典,然而兩種算法還是有區(qū)別的,Floyd主要計(jì)算多源最短路徑。

在單源正權(quán)值最短路徑,我們會(huì)用Dijkstra算法來(lái)求最短路徑,并且算法的思想很簡(jiǎn)單—貪心算法:每次確定最短路徑的一個(gè)點(diǎn)然后維護(hù)(更新)這個(gè)點(diǎn)周圍點(diǎn)的距離加入預(yù)選隊(duì)列,等待下一次的拋出確定。雖然思想很簡(jiǎn)單,實(shí)現(xiàn)起來(lái)是非常復(fù)雜的,我們需要鄰接矩陣(表)儲(chǔ)存長(zhǎng)度,需要優(yōu)先隊(duì)列(或者每次都比較)維護(hù)一個(gè)預(yù)選點(diǎn)的集合。還要用一個(gè)boolean數(shù)組標(biāo)記是否已經(jīng)確定、還要……

總之,Dijkstra算法的思想上是很容易接受的,但是實(shí)現(xiàn)上其實(shí)是非常麻煩的。但是單源最短路徑解算暫時(shí)還沒有有效的辦法,復(fù)雜度也為O(n2)。

而在n點(diǎn)圖中想求多源最短路徑,如果從Dijkstra算法的角度上,需要將Dijkstra執(zhí)行n次才能獲得所有點(diǎn)之間的最短路徑,不過執(zhí)行n次Dijkstra算法即可,復(fù)雜度為O(n3)。但是這樣感覺很臃腫,代碼量巨大,占用很多空間內(nèi)存。有沒有啥方法能夠稍微變變口味呢?

答案是有的,今天就帶大家一起了解一下牛逼轟轟的Floyed算法。

算法介紹

什么是Floyed算法?

Floyd算法又稱為插點(diǎn)法,是一種利用動(dòng)態(tài)規(guī)劃的思想尋找給定的加權(quán)圖中多源點(diǎn)之間最短路徑的算法,與Dijkstra算法類似。該算法名稱以創(chuàng)始人之一、1978年圖靈獎(jiǎng)獲得者、斯坦福大學(xué)計(jì)算機(jī)科學(xué)系教授羅伯特·弗洛伊德命名。

簡(jiǎn)單的來(lái)說,算法的主要思想是動(dòng)態(tài)規(guī)劃(dp),而求最短路徑需要不斷松弛(熟悉spfa算法的可能熟悉松弛)。

而算法的具體思想為:

1 .鄰接矩陣(二維數(shù)組)dist儲(chǔ)存路徑,數(shù)組中的值開始表示點(diǎn)點(diǎn)之間初始直接路徑,最終是點(diǎn)點(diǎn)之間的最小路徑,有兩點(diǎn)需要注意的,第一是如果沒有直接相連的兩點(diǎn)那么默認(rèn)為一個(gè)很大的值(不要因?yàn)橛?jì)算溢出成負(fù)數(shù)),第二是自己和自己的距離要為0。

2 .從第1個(gè)到第n個(gè)點(diǎn)依次加入松弛計(jì)算,每個(gè)點(diǎn)加入進(jìn)行試探枚舉是否有路徑長(zhǎng)度被更改(自己能否更新路徑)。順序加入(k枚舉)松弛的點(diǎn)時(shí)候,需要遍歷圖中每一個(gè)點(diǎn)對(duì)(i,j雙重循環(huán)),判斷每一個(gè)點(diǎn)對(duì)距離是否因?yàn)榧尤氲狞c(diǎn)而發(fā)生最小距離變化,如果發(fā)生改變(變小),那么兩點(diǎn)(i,j)距離就更改。

2 .重復(fù)上述直到最后插點(diǎn)試探完成。

其中第2步的狀態(tài)轉(zhuǎn)移方程為:

dp[i][j]=min(dp[i][j],dp[i][k]+dp[k][j])

其中dp[a][b]的意思可以理解為點(diǎn)a到點(diǎn)b的最短路徑,所以dp[i][k]的意思可以理解為i到k的最短路徑dp[k][j]的意思為k到j(luò)的最短路徑.

咱們圖解一個(gè)案例,初始情況每個(gè)點(diǎn)只知道和自己直接相連的點(diǎn)的距離,而其他間接相連的點(diǎn)還不知道距離,比如A-B=2,A-C=3但是B-C在不經(jīng)過計(jì)算的情況是不知道長(zhǎng)度的。

03956320-21de-11ec-82a8-dac502259ad0.png

加入第一個(gè)節(jié)點(diǎn)A進(jìn)行更新計(jì)算,大家可以發(fā)現(xiàn),由于A的加入,使得本來(lái)不連通的B,C點(diǎn)對(duì)和B,D點(diǎn)對(duì)變得聯(lián)通,并且加入A后距離為當(dāng)前最小,同時(shí)你可以發(fā)現(xiàn)加入A其中也使得C-D多一條聯(lián)通路徑(6+3),但是C-D聯(lián)通的話距離為9遠(yuǎn)遠(yuǎn)大于本來(lái)的(C,D)聯(lián)通路徑2,所以這條不進(jìn)行更新。

03fc0972-21de-11ec-82a8-dac502259ad0.png

咱們繼續(xù)加入第二個(gè)節(jié)點(diǎn)B,這個(gè)點(diǎn)執(zhí)行和前面A相同操作進(jìn)行。對(duì)一些點(diǎn)進(jìn)行更新。因?yàn)楹虰相連的點(diǎn)比較多,可以產(chǎn)生很多新的路徑,這里給大家列舉一下并做一個(gè)說明,這里新路徑我統(tǒng)一用1表示,原來(lái)長(zhǎng)度用0表示。

AF1=AB+BF=6+2=8 < AF0(∞) 進(jìn)行更新

AE1=AB+BE=2+4=6 < AE0(∞) 進(jìn)行更新

CE1=CB+BE=5+5=9 < CE0(∞) 進(jìn)行更新

CF1=CB+BF=5+6=11

EF1=EB+BF=4+6=10

當(dāng)然,也有一些新的路徑大于已有路徑不進(jìn)行更新,例如:

AC1=AB+BC=2+5=7>AC0(3)不更新

AD1=AB+BD=2+8=10>AD0(6)不更新

……

更多路徑這里就不一一列舉了。

04156728-21de-11ec-82a8-dac502259ad0.png

后序加入C、D、E、F都是進(jìn)行相同的操作,最終全部加完沒有路徑可以更新就結(jié)束停止。實(shí)際上這個(gè)時(shí)候圖中的連線就比較多了。這些連線都是代表當(dāng)前的最短路徑。這也和我們的需求貼合,我們最終要的是所有節(jié)點(diǎn)的最短路徑。每個(gè)節(jié)點(diǎn)最終都應(yīng)該有5條指向不同節(jié)點(diǎn)的邊!矩陣對(duì)應(yīng)邊值就是點(diǎn)點(diǎn)之間最短路徑。

至于算法的模擬兩部核心已經(jīng)告訴大家了,大家可以自行模擬剩下的。

程序?qū)崿F(xiàn)

而對(duì)于程序而言,這個(gè)插入的過程相當(dāng)簡(jiǎn)單。核心代碼只有四行!這個(gè)寫法適合有向圖和無(wú)向圖,無(wú)向圖的算法優(yōu)化后面會(huì)說。
代碼如下

publicclassfloyd{
staticintmax=66666;//別Intege.max兩個(gè)相加越界為負(fù)
publicstaticvoidmain(String[]args){
intdist[][]={
{0,2,3,6,max,max},
{2,0,max,max,4,6},
{3,max,0,2,max,max},
{6,max,2,0,1,3},
{max,4,max,1,0,max},
{max,6,max,3,max,0}};//地圖
//6個(gè)
for(intk=0;k6;k++)//加入第k個(gè)節(jié)點(diǎn)進(jìn)行計(jì)算
{
for(inti=0;i6;i++)//每加入一個(gè)點(diǎn)都要枚舉圖看看有沒有可以被更新的
{
for(intj=0;j6;j++)
{
dist[i][j]=Math.min(dist[i][j],dist[i][k]+dist[k][j]);
}
}
}
//輸出
for(inti=0;i6;i++){
System.out.print("節(jié)點(diǎn)"+(i+1)+"的最短路徑");
for(intj=0;j6;j++){
System.out.print(dist[i][j]+"");
}
System.out.println();
}
}
}

執(zhí)行結(jié)果為:

046ca16e-21de-11ec-82a8-dac502259ad0.png

可以自行計(jì)算,圖和上篇的Dijkstra用的圖是一致的,大家可以自行比對(duì),結(jié)果一致,說明咱么的結(jié)果成功的。

當(dāng)然,在你學(xué)習(xí)的過程中,可以在每加入一個(gè)節(jié)點(diǎn)插入完成后,打印鄰接矩陣的結(jié)果,看看前兩部和筆者的是否相同(有助于理解),如果相同,則說明正確!

對(duì)于加入點(diǎn)更新你可能還是有點(diǎn)疑惑其中的過程,那咱么就用一個(gè)局部來(lái)演示一下幫助你進(jìn)一步理解Floyd算法,看其中AB最短距離變化情況祝你理解:

048f261c-21de-11ec-82a8-dac502259ad0.png

小試牛刀

自己會(huì)沒會(huì)?刷一道題就可以知道了,剛好力扣1334是一道Floyd算法解決的問題。

題目描述為

有 n 個(gè)城市,按從 0 到 n-1 編號(hào)。給你一個(gè)邊數(shù)組 edges,其中 edges[i] = [fromi, toi, weighti] 代表 fromi 和 toi 兩個(gè)城市之間的雙向加權(quán)邊,距離閾值是一個(gè)整數(shù) distanceThreshold。

返回能通過某些路徑到達(dá)其他城市數(shù)目最少、且路徑距離 最大 為 distanceThreshold 的城市。如果有多個(gè)這樣的城市,則返回編號(hào)最大的城市。

注意,連接城市 i 和 j 的路徑的距離等于沿該路徑的所有邊的權(quán)重之和。

示例1:

04f14626-21de-11ec-82a8-dac502259ad0.png

輸入:n = 4, edges = [[0,1,3],[1,2,1],[1,3,4],[2,3,1]], distanceThreshold = 4
輸出:3
解釋:城市分布圖如上。
每個(gè)城市閾值距離 distanceThreshold = 4 內(nèi)的鄰居城市分別是:
城市 0 -> [城市 1, 城市 2]
城市 1 -> [城市 0, 城市 2, 城市 3]
城市 2 -> [城市 0, 城市 1, 城市 3]
城市 3 -> [城市 1, 城市 2]
城市 0 和 3 在閾值距離 4 以內(nèi)都有 2 個(gè)鄰居城市,但是我們必須返回城市 3,因?yàn)樗木幪?hào)最大。

示例2:

050456d0-21de-11ec-82a8-dac502259ad0.png

輸入:n = 5, edges = [[0,1,2],[0,4,8],[1,2,3],[1,4,2],[2,3,1],[3,4,1]], distanceThreshold = 2
輸出:0
解釋:城市分布圖如上。
每個(gè)城市閾值距離 distanceThreshold = 2 內(nèi)的鄰居城市分別是:
城市 0 -> [城市 1]
城市 1 -> [城市 0, 城市 4]
城市 2 -> [城市 3, 城市 4]
城市 3 -> [城市 2, 城市 4]
城市 4 -> [城市 1, 城市 2, 城市 3]
城市 0 在閾值距離 2 以內(nèi)只有 1 個(gè)鄰居城市。

提示:

2 <= n <= 100
1 <= edges.length <= n * (n - 1) / 2
edges[i].length == 3
0 <= fromi < toi < n
1 <= weighti, distanceThreshold <= 10^4
所有 (fromi, toi) 都是不同的。

思路分析:

拿到一道題,首先就是要理解題意,而這道題的意思借助案例也是非常能夠理解,其實(shí)就是判斷在distanceThreshold范圍內(nèi)找到能夠到達(dá)的最少點(diǎn)的編號(hào),如果多個(gè)取最大即可。正常求到達(dá)最多情景比較多這里求的是最少的,但是思路都是一樣的。

這道題如果使用搜索,那復(fù)雜度就太高了啊,很明顯要使用多源最短路徑Floyd算法,具體思路為;

1 .先使用Floyd算法求出點(diǎn)點(diǎn)之間的最短距離,時(shí)間復(fù)雜度O(n3)

2 . 統(tǒng)計(jì)每個(gè)點(diǎn)與其他點(diǎn)距離在distanceThreshold之內(nèi)的點(diǎn)數(shù)量,統(tǒng)計(jì)的同時(shí)看看是不是小于等于已知最少個(gè)數(shù)的,如果是,那么保存更新。

3 .返回最終的結(jié)果。

實(shí)現(xiàn)代碼:

classSolution{
publicintfindTheCity(intn,int[][]edges,intdistanceThreshold){
intdist[][]=newint[n][n];
for(inti=0;ifor(intj=0;j//保證數(shù)據(jù)比最大二倍大(兩相加不能比它大),并且不能溢出,不要Int最大相加為負(fù)會(huì)出錯(cuò)
dist[i][j]=1000000;
}
dist[i][i]=0;
}
for(intarr[]:edges){
dist[arr[0]][arr[1]]=arr[2];
dist[arr[1]][arr[0]]=arr[2];
}
for(intk=0;kfor(inti=0;ifor(intj=0;jintmin=Integer.MAX_VALUE;
intminIndex=0;
intpathNum[]=newint[n];//存儲(chǔ)距離
for(inti=0;ifor(intj=0;jif(dist[i][j]<=distanceThreshold){
????????????????????pathNum[i]++;
????????????????}
????????????}
????????????if(pathNum[i]<=min)?{
????????????????min?=?pathNum[i];
????????????????minIndex=i;
????????????}
????????}
????????returnminIndex;

}
}

那么想一下優(yōu)化空間:Floyd算法還有優(yōu)化空間嘛?

有的,這個(gè)是個(gè)無(wú)向圖,也就是加入點(diǎn)的時(shí)候枚舉其實(shí)會(huì)有一個(gè)重復(fù)的操作過程(例如枚舉AC和CA是效果一致的),所以我們?cè)贔loyd算法的實(shí)現(xiàn)過程中過濾掉重復(fù)的操作,具體代碼為:

classSolution{
publicintfindTheCity(intn,int[][]edges,intdistanceThreshold){
intdist[][]=newint[n][n];//存儲(chǔ)距離
for(inti=0;ifor(intj=0;j1000000;
}
dist[i][i]=0;
}
for(intarr[]:edges){
dist[arr[0]][arr[1]]=arr[2];
dist[arr[1]][arr[0]]=arr[2];
}
for(intk=0;kfor(inti=0;ifor(intj=i+1;j//去掉重復(fù)的計(jì)算
dist[i][j]=Math.min(dist[i][j],dist[i][k]+dist[k][j]);
dist[j][i]=dist[i][j];
}
}
}
intmin=Integer.MAX_VALUE;
intminIndex=0;
intpathNum[]=newint[n];//
for(inti=0;ifor(intj=0;jif(dist[i][j]<=distanceThreshold){
????????????????????pathNum[i]++;
????????????????}
????????????}
????????????if(pathNum[i]<=min)?{
????????????????min?=?pathNum[i];
????????????????minIndex=i;
????????????}
????????}
????????returnminIndex;

}
}

尾聲

對(duì)于Floyd算法,如果初次接觸不一定能夠理解這個(gè)松弛的過程。

Floyd像什么呢,最終最短路徑大部分都是通過計(jì)算得到而存儲(chǔ)下來(lái)直接使用的,我覺得它和MySQL視圖有點(diǎn)像的,視圖是一個(gè)虛表在實(shí)表上計(jì)算獲得的,但是計(jì)算之后各個(gè)數(shù)據(jù)就可以直接使用,Floyd是在原本的路徑圖中通過一個(gè)動(dòng)態(tài)規(guī)劃的策略計(jì)算出來(lái)點(diǎn)點(diǎn)之間的最短路徑。

FloydDijkstra是經(jīng)典的最短路徑算法,兩者有相似也有不同。在復(fù)雜度上,Dijkstra算法時(shí)間復(fù)雜度是O(n2),Floyd算法時(shí)間復(fù)雜度是O(n3);在功能上,Dijkstra是求單源最短路徑,并且路徑權(quán)值不能為負(fù),而Floyd是求多源最短路徑,可以有負(fù)權(quán)值;算法實(shí)現(xiàn)上,Dijkstra 是一種貪心算法實(shí)現(xiàn)起來(lái)較復(fù)雜,Floyd基于動(dòng)態(tài)規(guī)劃實(shí)現(xiàn)簡(jiǎn)單;兩個(gè)作者DijkstraFloyd都是牛逼轟轟的大人物,都是圖靈獎(jiǎng)的獲得者。

除了Floyd算法,堆排序算法heapSort也是Floyd大佬發(fā)明的,屬實(shí)佩服!

Floyd算法,俗稱插點(diǎn)法,不就一個(gè)點(diǎn)一個(gè)點(diǎn)插進(jìn)去更新用到被插點(diǎn)距離嘛!

好啦,F(xiàn)loyd算法就介紹到這里,如果對(duì)你有幫助,請(qǐng)動(dòng)動(dòng)小手點(diǎn)個(gè)贊吧!蟹蟹。

編輯:jq
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4730

    瀏覽量

    68259
  • Floyd
    +關(guān)注

    關(guān)注

    0

    文章

    2

    瀏覽量

    814

原文標(biāo)題:Floyd是咋求圖的最短路徑?

文章出處:【微信號(hào):TheAlgorithm,微信公眾號(hào):算法與數(shù)據(jù)結(jié)構(gòu)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    多臺(tái)倉(cāng)儲(chǔ)AGV協(xié)作全局路徑規(guī)劃算法的研究

    多AGV動(dòng)態(tài)路徑規(guī)劃需解決沖突避免,核心在整體協(xié)調(diào)最優(yōu)。規(guī)劃時(shí)考慮道路設(shè)計(jì)、擁堵、最短路徑和交通管制,用A*算法避免重復(fù)路徑和轉(zhuǎn)彎,同時(shí)需交通管制防相撞。創(chuàng)新響應(yīng)需求是關(guān)鍵,良好路徑規(guī)
    的頭像 發(fā)表于 10-28 17:38 ?171次閱讀
    多臺(tái)倉(cāng)儲(chǔ)AGV協(xié)作全局<b class='flag-5'>路徑</b>規(guī)劃算法的研究

    什么是開放最短路徑優(yōu)先 (OSPF)?

    OSPF是一種典型的鏈路狀態(tài)路由協(xié)議,一般在同一個(gè)路由域中使用。這里的路由域指的是一個(gè)自治系統(tǒng)(AS),是指一組通過統(tǒng)一的路由策略或協(xié)議相互交換路由信息的網(wǎng)絡(luò)。
    的頭像 發(fā)表于 10-18 17:47 ?118次閱讀

    諾頓等效電路短路電流怎么

    諾頓等效電路的短路電流(Isc)是計(jì)算諾頓等效電路中的一個(gè)關(guān)鍵步驟,它代表了當(dāng)電路中的兩個(gè)端口被短接時(shí)流過的電流。以下是計(jì)算諾頓等效電路短路電流的基本步驟和方法: 一、基本概念 諾頓等效電路是一種將
    的頭像 發(fā)表于 08-07 09:15 ?809次閱讀

    如何理解IS-IS的基本原理 IS-IS與OSPF的區(qū)別

    ISIS也是一種基于鏈路狀態(tài)并使用最短路徑優(yōu)先算法進(jìn)行路由計(jì)算的一種IGP協(xié)議(用于ISP)
    發(fā)表于 03-28 11:02 ?516次閱讀
    如何理解IS-IS的基本原理 IS-IS與OSPF的區(qū)別

    什么是短路,短路產(chǎn)生的原因是什么,有哪些短路類型

    短路是指電路中出現(xiàn)不正常的電流路徑,導(dǎo)致電流繞過原本正常的路徑,形成一條帶有低電阻特性的路徑。短路通常會(huì)導(dǎo)致電路異常工作、設(shè)備損壞、過流和火
    的頭像 發(fā)表于 02-22 10:11 ?2.1w次閱讀

    發(fā)電機(jī)兩相短路電流與三相短路電流,哪個(gè)的值大一些?

    機(jī)械或電氣設(shè)備中繞過正常路徑,形成更低阻抗的路徑。這會(huì)導(dǎo)致電流增加,使得電氣設(shè)備受到過大的電流沖擊,可能引發(fā)設(shè)備過熱甚至起火。因此,短路故障是電力系統(tǒng)中的嚴(yán)重問題。 對(duì)于發(fā)電機(jī),短路
    的頭像 發(fā)表于 02-18 16:26 ?2467次閱讀

    電池內(nèi)部短路與外部短路區(qū)別在哪?

    。這兩者雖然都會(huì)導(dǎo)致電池故障或事故,但具有不同的特點(diǎn)和影響。下面將詳細(xì)介紹電池內(nèi)部短路與外部短路的區(qū)別。 電池內(nèi)部短路是指電池內(nèi)部的兩個(gè)或多個(gè)電極之間發(fā)生直接接觸,導(dǎo)致大量的電流無(wú)法按照預(yù)期的
    的頭像 發(fā)表于 02-18 15:29 ?2050次閱讀

    短路是什么原因造成的 igbt上下橋短路原因

    短路是什么原因造成的 igbt上下橋短路原因? 短路是一種電路故障,其特點(diǎn)是電流繞過正常的電路路徑,通過一條或多條低阻抗的路徑流過。IGBT
    的頭像 發(fā)表于 02-18 10:08 ?3088次閱讀

    如何判斷電路故障是短路還是斷路

    還是斷路的方法和步驟。 一、短路和斷路的定義 短路 短路是指電路中導(dǎo)體之間接觸形成的低阻抗通路,導(dǎo)致電流變大,電壓降低的現(xiàn)象。簡(jiǎn)單說就是電流在出現(xiàn)抵抗之前繞過了原本要通過的路徑。 斷路
    的頭像 發(fā)表于 01-16 09:28 ?4138次閱讀

    電路故障短路和斷路的區(qū)別

    電路中的兩個(gè)節(jié)點(diǎn)之間存在一個(gè)低電阻路徑,導(dǎo)致電流繞過設(shè)備或部件,直接在短路路徑上流動(dòng)。這導(dǎo)致電流過大,電壓降低,甚至可能損壞電源和其他部件。短路故障通常發(fā)生在電路中的兩個(gè)導(dǎo)線之間,常見
    的頭像 發(fā)表于 01-14 14:13 ?1603次閱讀

    電流為0是短路還是斷路 短路和斷路怎么判斷

    短路情況則與之相反。在短路中,電流會(huì)選擇以最低阻抗路徑流動(dòng),并繞過原本應(yīng)經(jīng)過的元件。這會(huì)導(dǎo)致電流急劇增大,可能造成電路過載、過熱和其他損壞。
    的頭像 發(fā)表于 01-11 14:50 ?7599次閱讀

    什么是短路和斷路 電路短路和斷路的區(qū)別

    短路和斷路是電路中常見的兩種故障模式。短路指兩個(gè)或多個(gè)電路元件之間直接的接觸,使電流繞過原本應(yīng)經(jīng)過的元件而由其他路徑流動(dòng)。
    的頭像 發(fā)表于 01-11 14:23 ?7615次閱讀

    短路與接地故障的區(qū)別?

    。 首先,我們來(lái)了解短路故障。短路故障是指電力系統(tǒng)中兩個(gè)或多個(gè)相互連接的導(dǎo)體或元件之間存在低阻抗路徑的故障情況。導(dǎo)體間的短路將導(dǎo)致電流異常增大,可能引起電力設(shè)備的過流保護(hù)裝置動(dòng)作,進(jìn)而
    的頭像 發(fā)表于 12-26 16:23 ?1255次閱讀

    電路短路的三種情況

    電路短路的三種情況? 電路短路是指電路中某個(gè)部分的導(dǎo)線或元器件出現(xiàn)故障,導(dǎo)致電流繞過原本的路徑,直接通過短路部分。短路會(huì)導(dǎo)致電路不正常工作,
    的頭像 發(fā)表于 11-23 10:33 ?5335次閱讀

    怎樣防止電線短路?防止電氣線路短路的幾點(diǎn)措施

    怎樣防止電線短路?防止電氣線路短路的幾點(diǎn)措施? 電線短路是指電氣線路中的導(dǎo)線之間或?qū)Ь€與地之間的絕緣介質(zhì)發(fā)生破損,導(dǎo)致電流繞過正常的路徑而引發(fā)故障。電線
    的頭像 發(fā)表于 11-22 16:55 ?3963次閱讀