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

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

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

淺談電路布線電路設(shè)計

西西 ? 來源:博客園 ? 作者:Jason Damon ? 2020-08-08 15:33 ? 次閱讀

算法設(shè)計與分析》 --王曉東

題目描述:

在一塊電路板的上、下2端分別有n個接線柱。根據(jù)電路設(shè)計,要求用導(dǎo)線(i,a(i))將上端接線柱與下端接線柱相連,其中a(i)表示上端點i對應(yīng)的向端點的值。如圖所示:

題目要求是在給定的連線中,選取不相交連線的最大子集,即不相交連線的最大數(shù)目。并把最大不相交子集的情況給列舉處理啊。

解題思路:

首先用a[i]數(shù)組表示與上面對應(yīng)點相連線的下面的點,再用set[i][j]表示上面節(jié)點i與下面節(jié)點j連線的左邊(包括i j連線)的最大不相交連線的個數(shù)。

于是就有公式:

max(set[i-1][j], set[i][j-1]); j != a[i]

set(i,j) =

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

然后就可以對每一個i,都對所以的j求一遍。這樣就可以得出結(jié)果嗎,set[n][n]即我們想要的結(jié)果。

最后通過回溯把結(jié)果輸出出來。

代碼實現(xiàn):

#include 《stdio.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”);

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);

}

}

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

    關(guān)注

    140

    文章

    4963

    瀏覽量

    97960
  • 數(shù)組
    +關(guān)注

    關(guān)注

    1

    文章

    417

    瀏覽量

    25960
收藏 人收藏

    評論

    相關(guān)推薦

    FPGA布線開關(guān)的電路設(shè)計

    FPGA布線開關(guān)的電路設(shè)計1 研究方法及其條件假定2 導(dǎo)通晶體管布線開關(guān)設(shè)計 2.1導(dǎo)通晶體管布線開關(guān)尺寸優(yōu)化2.2 導(dǎo)通晶體管存在的問題及其改進3 三態(tài)緩沖
    發(fā)表于 03-02 09:50

    承接電路設(shè)計,pcb布線。價格實惠質(zhì)量可靠

    現(xiàn)承接電路設(shè)計。pcb布線等活。。有意者聯(lián)系qq416594931.。。價格公道,質(zhì)量絕對可靠。服務(wù)絕對熱情。
    發(fā)表于 03-03 09:54

    高頻電路設(shè)計布線技巧

    轉(zhuǎn)帖如果數(shù)字邏輯電路的頻率達到或者超過45MHZ~50MHZ,而且工作在這個頻率之上的電路已經(jīng)占到了整個電子系統(tǒng)一定的份量(比如說1/3),通常就稱為高頻電路。高頻電路設(shè)計是一個非常復(fù)
    發(fā)表于 11-15 12:09

    高頻電路設(shè)計布線技巧概述!

    已經(jīng)占到了整個電子系統(tǒng)一定的份量(比如說1/3),通常就稱為高頻電路。高頻電路設(shè)計是一個非常復(fù)雜的設(shè)計過程,其布線對整個設(shè)計至關(guān)重要!【第一招】多層板布線高頻
    發(fā)表于 09-05 03:52

    高頻電路設(shè)計布線技巧

    高頻電路設(shè)計布線是關(guān)鍵,分享十個經(jīng)驗!.pdf(90.59 KB)
    發(fā)表于 10-12 07:05

    開關(guān)電源 PCB電路設(shè)計中的接地與布線.pdf

    開關(guān)電源 PCB電路設(shè)計中的接地與布線.pdf非常適合開關(guān)電源設(shè)計人員參閱資料來源于網(wǎng)絡(luò)資源
    發(fā)表于 07-31 17:25

    經(jīng)典資料分享之PCB電路設(shè)計中的接地與布線

    非常經(jīng)典的實用資料PCB電路設(shè)計中的接地與布線資料來自網(wǎng)絡(luò)資源
    發(fā)表于 08-20 22:44

    PCB電路設(shè)計布線的EMC分析

    PCB電路設(shè)計布線的EMC分析,下來看看
    發(fā)表于 07-29 19:05 ?0次下載

    淺談RF電路設(shè)計

    做了多年的RF研發(fā)工作,在潤欣科技從事RF芯片的支持工作也有7年之久,對于RF電路的設(shè)計經(jīng)驗,在這里和大家一起分享一下,希望以下淺談的內(nèi)容對做RF設(shè)計工作的工程師會有一點幫助,我們閑話少說,直接進入正題。
    的頭像 發(fā)表于 03-12 10:37 ?7989次閱讀

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

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

    講解高速PCB的布線、布局和電路設(shè)計

    高速電路設(shè)計是一個非常復(fù)雜的設(shè)計過程,在進行高速電路設(shè)計時有多個因素需要加以考慮,這些因素有時互相對立。如高速器件布局時位置靠近,雖可以減少延時,但可能產(chǎn)生串抗和顯著的熱效應(yīng)。因此在設(shè)計中,需權(quán)衡
    發(fā)表于 07-10 10:28 ?6次下載
    講解高速PCB的<b class='flag-5'>布線</b>、布局和<b class='flag-5'>電路設(shè)計</b>

    如何解決高頻電路布線

    如果數(shù)字邏輯電路的頻率達到或者超過45MHZ~50MHZ,而且工作在這個頻率之上的電路已經(jīng)占到了整個電子系統(tǒng)一定的份量(比如說1/3),通常就稱為。高頻電路設(shè)計是一個非常復(fù)雜的設(shè)計過程,其布線
    發(fā)表于 11-02 10:41 ?0次下載
    如何解決高頻<b class='flag-5'>電路</b>的<b class='flag-5'>布線</b>

    高頻電路布線技巧分享

    如果數(shù)字邏輯電路的頻率達到或者超過45MHZ~50MHZ,而且工作在這個頻率之上的電路已經(jīng)占到了整個電子系統(tǒng)一定的份量(比如說1/3),通常就稱為高頻電路。高頻電路設(shè)計是一個非常復(fù)雜的
    的頭像 發(fā)表于 07-24 15:23 ?785次閱讀

    電源電路布局布線如何進行

    在進行電路設(shè)計時,電源布局布線是一個非常重要的步驟,一個電子硬件主板,如果本身供電就不穩(wěn)定,又談何電子主板電路穩(wěn)定呢? 在實際的電源電路設(shè)計中,常常會使用到DCDC電源
    的頭像 發(fā)表于 11-06 14:46 ?598次閱讀

    高頻電路設(shè)計布線技巧十項規(guī)則【轉(zhuǎn)】

    如果數(shù)字邏輯電路的頻率達到或者超過45MHZ~50MHZ,而且工作在這個頻率之上的電路已經(jīng)占到了整個電子系統(tǒng)一定的份量(比如說1/3),通常就稱為高頻電路。高頻電路設(shè)計是一個非常復(fù)雜的
    的頭像 發(fā)表于 12-11 14:18 ?699次閱讀