今天忽然想起來離職前給別的專案組做的乙個模組,其設計還是很有趣的,實現技巧自我感覺還是比較巧妙的:)就是不知道離職之後這個設計思路是不是就從此躺在硬碟陣列的某個資料夾下不見天日了,就像張無忌落入懸崖之後碰到的那個武林秘籍,等待著若干年之後的乙個工程師無意之中開啟,然後擊節讚嘆。。。哈哈,列位看官別吐了哈。
脈動陣列感覺是個比較久遠的概念,上學的時候曾經在圖書館的某個角落有本發黃的書籍描述了這個東東。這本書續借了若干次,終於在某一天大徹大悟發現。。。自己完全沒耐心看進去。於是對脈動陣列的概念到目前為止也是暈暈乎乎的。感覺就是用乙個簡單的模組例化多次,組成乙個陣列,就可以實現乙個不可思議的功能。聽起來有點像現在的「眾核」。脈動,感覺就是帶點時序的意思,多個模組都按照乙個步調在跳動,跟時鐘驅動差不多。
插入排序是個經典的排序演算法,詳見taocp。ps:可惜沒看過此天書。
插入排序用脈動陣列實現可以在網路上搜尋到一些文章,其實現也相對簡單一些,不過也十分有趣。插入排序簡單點說,就是已有的元素是按序排列的,新元素進來時,與現有的所有元素做比較,然後插入到適當的位置,插入的過程中,可能需要對部分元素做個左移或者右移。這樣當一幀結束的時候,佇列裡就已經是一行整齊的按序排好的元素,latency非常小,適合實時處理的場合。代價可能就是面積稍微大一點,不過現在工藝越來越先進,面積越來越不是問題了。
寫到這裡,還是挺遺憾沒看到這個模組經過大規模的驗證就被裁了,不知道這個專案被cancel了沒有。
插入排序之直接插入排序和折半插入排序
插入排序的基本思想是 將記錄分為有序和無序兩個序列。從無序序列中任取乙個記錄,然後根據該記錄的關鍵字大小在有序序列中查詢乙個合適的位置,使得該記錄放入這個位置後,這個有序序列仍然有序。每插入乙個記錄就稱為一趟插入排序,經過多趟插入排序,使得無序序列中的記錄全部插入到有序序列中,則排序完成。直接插入排...
插入排序 折半插入排序
折半插入排序 binary insertion sort 直接插入排序採用順序查詢法查詢當前記錄在已排好序的序列中插入位置,這個 查詢 操作可利用 折半查詢 來實 現,由此進行的插入排序稱之為折半插入排序 binary insertion sort 演算法思想 1 將待排序的記錄存放在陣列r 1.n...
插入排序 折半插入排序
折半插入排序是基於直接插入排序的優化。直接插入排序 將第i個元素插入時,通過折半查詢的方式,來查詢第i個元素合適的位置。當0 i 1 位置上的元素都已經排序ok,現需要插入第i個元素,設其值為temp 令low 0,high i,mid high low 2。那麼temp可能插入的位置是 low h...