原创 TSP問題,貪心法,最近鄰點,最短鏈接

    筆者接着上一次的博客繼續討論TSP問題(TSP問題,動態規劃法),這次採用貪心法,至少有兩種貪心策略是合理的:最近鄰點策略和最短鏈接策略。    (一)最近鄰點策略    從任意城市出發,每次在沒有到過的城市中選擇最近的一個,直到

原创 Linux編程,進程間通信,屏蔽信號,sigaction(),sigprocmask()

    通過編程實現信號的捕獲和屏蔽,例如:捕獲“Ctrl-C”信號時,打印I have get SIGINT,捕獲“Ctrl-\”信號時,打印I have get SIGQUIT;設置進程屏蔽字,.取消對SIGINT的屏蔽,再次按下“C

原创 Linux編程,進程間通信,共享內存

    此次給大家分享的是Linux下通過共享內存,實現進程間的通信,流程如下:    創建寫進程,其功能爲創建共享內存並映射到私有地址空間,然後向內存寫入數據,直至遇到’#’爲止,讀進程使用和寫進程相同的KEY創建共享內存並映射到私有地

原创 平面最近點對問題,分治法,排序優化,歸併排序,插入排序

    最近點對問題中涉及到對點按x或y進行升序排序,筆者嘗試對排序方式進行優化。首先想到的自然是歸併排序,畢竟歸併排序的核心思想也是分治法,但是歸併排序比較適合基數較多的情況。最後筆者更改思路如下:當點集合總數n的值小於50時,採用插入

原创 最優二叉查找樹,動態規劃法,二維表,填表優化,代碼

    筆者先介紹一下動態規劃法最優二叉查找樹以及填表公式(本質是想吐槽其繁瑣)。    設T(i, j)是由記錄{ri, …, rj}(1≤i≤j≤n)構成的二叉查找樹,C(i, j)是這棵二叉查找樹的平均比較次數。雖然最後的結果是C(