精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

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

電路板電路布線設(shè)計相關(guān)問題

西西 ? 來源:博客園 ? 作者:祥昊 ? 2020-08-08 11:01 ? 次閱讀

問題

在一塊電路板的上下兩端分別有n個接線柱。根據(jù)電路設(shè)計,要求用導線 (i,π(i)),將上端接線柱 i 與下端接線柱 π(i) 相連,

如圖,其中 π(i),1《=i《=n,是(1,2……,n)的一個排列。導線(i,π(i))稱為該電路板上的第i條連線。對于任何 1《=i《s《=n,第i條連線和第s條連線相交的充分且必要條件是 π(i) 》 π(s)。

ps:注意 π(pi) 和 n,不是小寫的n,別看錯了

問:在制作電路板時,要求將這n條線分布到若干個絕緣層上,在同一層上的連線不能相交。電路布線問題要確定將哪些連線安排在第一層上,使得該層上有盡可能多的連線。

詳細說明

首先 上下各有 n 個接線柱,用 a[i] 數(shù)組表示 與 上接線柱 相連線的 下接線柱,再用 set[i][j] 表示上接線柱 i 與下接線柱 j 相連線的 左邊(包括 i ,j 連線)的最大不相交連線的個數(shù)。

ps(這里的 j ,i 和上面問題中說的不是一個東西,這里的 i指的是上接線柱,j指的是下接線柱)

1、公式如下:

如果 j != a[i] 則 max( set[i-1][j],set[i][j-1] )

set[i,j] =

如果 j == a[i] 則 set[i-1][j-1] + 1

循環(huán)遍歷 i 和 j ,具體使用 i X j 的嵌套循環(huán),其實就是每一個上接線柱和每一個下接線柱做一次匹配,這樣就可以得出結(jié)果,set[n][n]即我們想要的結(jié)果。最后通過回溯把結(jié)果輸出出來

==》 j == a[i],表示當上圖中的某個上下接線柱相連時,這時這兩個點不會在和其他的接線柱相連,

這時在 (i ,j) 處的最大不相交連線的個數(shù)就應該是就是 第 i-1個上接線柱 和第 j-1個下接線柱時的 最大不相交連線的個數(shù) + 1。這個+1很重要。

==》 j != a[i],表示當上圖中的某個上下接線柱相連時,這時 i 點和 非 j 點相連, j 點和 非 i 點相連,

這時在( i ,j) 處的最大不相交連線的個數(shù)就應該和 ( i - 1,j ) 處最大不相交連線的個數(shù)、 ( i,j - 1)處最大不相交連線的個數(shù)中較大的最大不相交連線的個數(shù)相同。

2、參考圖如下:

紅色標明的就是算法選擇的路徑(向上優(yōu)先,也可以用向左優(yōu)先,答案都是四個,但值會有一點不同)。在斜角值改變時可以取得所求的子集。即 9-》10,7-》9, 5-》5, 3-》4

代碼塊

#include 《stdio.h》

#include 《stdlib.h》

#define MAX( a, b ) ( (a) 》 (b) ? (a) : (b) )

void circut( int a[], int set[][11], int n );

void back_track( int i, int j, int set[][11] );

int main()

{

int a[] = { 0, 8, 7, 4, 2, 5, 1, 9, 3, 10, 6 };

int set[11][11];

circut( a, set, 10 );

printf( “max set: %d \n”, set[10][10] );

back_track( 10, 10, set );

printf( “\n” );

system( “pause” );

return(0);

}

void circut( int a[], int set[][11], int n )

{

int i, j;

for ( i = 0; i 《 n; i++ )

{

set[i][0] = 0;

set[0][i] = 0;

}

for ( i = 1; i 《= n; i++ )

{

for ( j = 1; j 《= n; j++ )

{

if ( a[i] != j )

set[i][j] = MAX( set[i - 1][j], set[i][j - 1] );

else

set[i][j] = set[i - 1][j - 1] + 1;

}

}

}

void back_track( int i, int j, int set[][11] )

{

if ( i == 0 )

return;

if ( set[i][j] == set[i - 1][j] )

back_track( i - 1, j, set );

else if ( set[i][j] == set[i][j - 1] )

back_track( i, j - 1, set );

else{

back_track( i - 1, j - 1, set );

printf( “(%d,%d) ”, i, j );

}

}

時間復雜度

circut 的時間復雜度為O(n2)

back_track的時間復雜度為 O(n)

如有錯誤請指正。

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

    關(guān)注

    140

    文章

    4908

    瀏覽量

    97441
  • 電路設(shè)計
    +關(guān)注

    關(guān)注

    6665

    文章

    2430

    瀏覽量

    203368
收藏 人收藏

    評論

    相關(guān)推薦

    電路板設(shè)計過程中采用差分信號線布線的優(yōu)勢和布線技巧

    電路板設(shè)計過程中采用差分信號線布線的優(yōu)勢和布線技巧 布線
    發(fā)表于 09-06 08:20 ?1378次閱讀
    <b class='flag-5'>電路板</b>設(shè)計過程中采用差分信號線<b class='flag-5'>布線</b>的優(yōu)勢和<b class='flag-5'>布線</b>技巧

    電路板布線設(shè)計(一)探索雙層布線技藝

    成本時總是要求設(shè)計者在設(shè)計中使用雙層電路板。雖然多層(四層、六層以及八層)的解決方式無論在尺寸、噪聲,以及性能上都可以做得更好,但成本壓力迫使工程師必須盡量使用雙層。在本文中將討論使用或不用自動
    發(fā)表于 04-28 11:45

    如何實現(xiàn)良好的電路板布局布線

      工程課程一般不會教授如何實現(xiàn)良好的電路板布局布線。高頻RF類課程會研究走線阻抗的重要性,但需要自行構(gòu)建系統(tǒng)電源的工程師,通常不會將電源視為高頻系統(tǒng),而忽視了電路板布局布線的重要性。
    發(fā)表于 11-15 08:27

    電磁兼容和印刷電路板(理論、設(shè)計和布線)

    電磁兼容和印刷電路板理論、設(shè)計和布線從理論、設(shè)計和布線的角度分析研究了電磁兼容(EMC)和印刷電路板(PCB)所涉及的問題,全書內(nèi)容共有9章。第1-3章介紹了EMC的基本原理
    發(fā)表于 10-06 17:45 ?0次下載
    電磁兼容和印刷<b class='flag-5'>電路板</b>(理論、設(shè)計和<b class='flag-5'>布線</b>)

    印制電路板布線技術(shù)

    除了元器件的選擇和電路設(shè)計之外,良好的印制電路板(PCB)布線在電磁兼容性中也是一個非常重要的因素。既然PCB是系統(tǒng)的固有成分,在PCB布線中增強電磁兼容性不會給產(chǎn)品
    發(fā)表于 04-24 21:48 ?39次下載
    印制<b class='flag-5'>電路板</b>的<b class='flag-5'>布線</b>技術(shù)

    用PROTEL DXP設(shè)計電路板的原則

    用PROTEL DXP電路板設(shè)計的原則 電路板設(shè)計的一般原則包括:電路板的選用、電路板尺寸、元件布局、布線、焊盤、填充、跨接線等。
    發(fā)表于 03-25 08:28 ?1085次閱讀

    電路板布局布線要求及規(guī)律

    電路板布局布線要求及規(guī)律,感興趣的小伙伴們可以看看。
    發(fā)表于 07-26 16:29 ?0次下載

    PCB設(shè)計高頻電路板布線技巧和注意事項詳細概述

    本文首先對高頻電路板做了簡單介紹,其次闡述了PCB設(shè)計高頻電路板布線技巧,最后介紹了PCB設(shè)計高頻電路板布線注意事項
    的頭像 發(fā)表于 10-14 11:49 ?6410次閱讀

    如何消除電路板布線中造成的耦合噪聲干擾

    電路板布線所產(chǎn)生主要寄生組件分別是電阻、電容以及電感。從電路圖轉(zhuǎn)成實際電路板時,所有寄生組件都有機會干擾電路性能。當一系統(tǒng)混合數(shù)字與模擬組件
    發(fā)表于 07-31 15:35 ?4655次閱讀
    如何消除<b class='flag-5'>電路板</b><b class='flag-5'>布線</b>中造成的耦合噪聲干擾

    電路板布線設(shè)計的順序

    電路板廠印制進行布線設(shè)計的順序可能不同,在電路板布線設(shè)計師準備進行設(shè)計布線之前,他的
    發(fā)表于 06-04 17:58 ?2539次閱讀

    印制電路板布線流程

    對于初次接觸印制電路板設(shè)計的用戶來說,首先面臨的問題就是設(shè)計工作中究竟包括哪些步驟,應從什么地方入手、各個步驟之間的銜接關(guān)系如何?因此,在利用Protel99SE設(shè)計印刷電路板之前,必須了解基本工序,也就是印制電路板
    發(fā)表于 08-16 11:53 ?3317次閱讀

    PCB電路板元件布局布線基本規(guī)則下載

    PCB電路板元件布局布線基本規(guī)則下載
    發(fā)表于 04-24 09:43 ?0次下載

    電路板級的EMC設(shè)計(3) PCB布線技術(shù)

    電路板級的EMC設(shè)計(3) PCB布線技術(shù)文章目錄電路板級的EMC設(shè)計(3) PCB布線技術(shù)文檔簡介第三部分:印制電路板
    發(fā)表于 11-07 09:51 ?28次下載
    <b class='flag-5'>電路板</b>級的EMC設(shè)計(3) PCB<b class='flag-5'>布線</b>技術(shù)

    提高電路板EMC能力PCB設(shè)計和布線方法

    提高電路板EMC能力PCB設(shè)計和布線方法
    的頭像 發(fā)表于 12-07 15:36 ?887次閱讀
    提高<b class='flag-5'>電路板</b>EMC能力PCB設(shè)計和<b class='flag-5'>布線</b>方法

    蛇形走線設(shè)計在電路板布線中的秘密

    一站式PCBA智造廠家今天為大家講講蛇形走線設(shè)計在電路板布線中有什么用?蛇形走線設(shè)計在電路板布線中的作用。電路板設(shè)計中,
    的頭像 發(fā)表于 08-20 09:18 ?282次閱讀