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

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

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

3天內不再提示

淺談電路布線電路設計

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

算法設計與分析》 --王曉東

題目描述:

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

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

解題思路:

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

于是就有公式:

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求一遍。這樣就可以得出結果嗎,set[n][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);

}

}

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

    關注

    140

    文章

    4907

    瀏覽量

    97426
  • 數組
    +關注

    關注

    1

    文章

    415

    瀏覽量

    25910
收藏 人收藏

    評論

    相關推薦

    電路設計寶典:淺談555電路設計

    555定時器是一種模擬和數字功能相結合的中規模集成器件。一般用雙極型(TTL)工藝制作的稱為555,用互補金屬氧化物(CMOS)工藝制作的稱為7555,除單定時器外,還有對應的雙定時器556/7556。##幾種基本的555電路設計##555電路應用設計
    發表于 08-28 10:58 ?1.4w次閱讀

    FPGA布線開關的電路設計

    FPGA布線開關的電路設計1 研究方法及其條件假定2 導通晶體管布線開關設計 2.1導通晶體管布線開關尺寸優化2.2 導通晶體管存在的問題及其改進3 三態緩沖
    發表于 03-02 09:50

    承接電路設計,pcb布線。價格實惠質量可靠

    現承接電路設計。pcb布線等活。。有意者聯系qq416594931.。。價格公道,質量絕對可靠。服務絕對熱情。
    發表于 03-03 09:54

    高頻電路設計布線技巧

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

    高頻電路設計布線技巧概述!

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

    高頻電路設計布線技巧

    高頻電路設計布線是關鍵,分享十個經驗!.pdf(90.59 KB)
    發表于 10-12 07:05

    開關電源 PCB電路設計中的接地與布線.pdf

    開關電源 PCB電路設計中的接地與布線.pdf非常適合開關電源設計人員參閱資料來源于網絡資源
    發表于 07-31 17:25

    經典資料分享之PCB電路設計中的接地與布線

    非常經典的實用資料PCB電路設計中的接地與布線資料來自網絡資源
    發表于 08-20 22:44

    PCB電路設計布線的EMC分析

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

    電路板廠布線設計的順序

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

    講解高速PCB的布線、布局和電路設計

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

    如何解決高頻電路布線

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

    高頻電路布線技巧分享

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

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

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

    高頻電路設計布線技巧十項規則【轉】

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