1. 建築矩形設計優缺點
簡單但無新意。
建築通常採用矩形設計,是因為矩形設計是最簡單的,最方便建造,但是也是最沒有新意,沒有創意的,追求創意可以考慮別的形狀設計。
現在的技術都更傾向於直線。古代的技術可想而知,並不是做不了,而是這種建築更加復雜,耗費資金更高。從古代開始就是矩形多,延伸到現代。
2. 剩餘矩形填充演算法是優化演算法嗎
剩餘矩形填充演算法是優化演算法。剩餘矩形匹配演算法是一種動態的局部尋優演算法,針對矩形件排樣問題提出的一種新的空白矩形填充優化演算法。
3. 概率演算法
最近做了一個活動抽獎需求,項目需要控制預算,概率需要分布均勻,這樣才能獲得所需要的概率結果。
例如抽獎得到紅包獎金,而每個獎金的分布都有一定概率:
現在的問題就是如何根據概率分配給用戶一定數量的紅包。
演算法思路 :生成一個列表,分成幾個區間,例如列表長度100,1-40是0.01-1元的區間,41-65是1-2元的區間等,然後隨機從100取出一個數,看落在哪個區間,獲得紅包區間,最後用隨機函數在這個紅包區間內獲得對應紅包數。
時間復雜度 :預處理O(MN),隨機數生成O(1),空間復雜度O(MN),其中N代表紅包種類,M則由最低概率決定。
優缺點 :該方法優點是實現簡單,構造完成之後生成隨機類型的時間復雜度就是O(1),缺點是精度不夠高,佔用空間大,尤其是在類型很多的時候。
演算法思路 :離散演算法通過概率分布構造幾個點[40, 65, 85, 95,100],構造的數組的值就是前面概率依次累加的概率之和。在生成1~100的隨機數,看它落在哪個區間,比如50在[40,65]之間,就是類型2。在查找時,可以採用線性查找,或效率更高的二分查找。
演算法復雜度 :比一般演算法減少佔用空間,還可以採用二分法找出R,這樣,預處理O(N),隨機數生成O(logN),空間復雜度O(N)。
優缺點 :比一般演算法佔用空間減少,空間復雜度O(N)。
演算法思路 :Alias Method將每種概率當做一列,該演算法最終的結果是要構造拼裝出一個每一列合都為1的矩形,若每一列最後都要為1,那麼要將所有元素都乘以5(概率類型的數量)。
此時會有概率大於1的和小於1的,接下來就是構造出某種演算法用大於1的補足小於1的,使每種概率最後都為1,注意,這里要遵循一個限制:每列至多是兩種概率的組合。
最終,我們得到了兩個數組,一個是在下面原始的prob數組[0.75,0.25,0.5,0.25,1],另外就是在上面補充的Alias數組,其值代表填充的那一列的序號索引,(如果這一列上不需填充,那麼就是NULL),[4,4,0,1,NULL]。當然,最終的結果可能不止一種,你也可能得到其他結果。
舉例驗證下,比如取第二列,讓prob[1]的值與一個隨機小數f比較,如果f小於prob[1],那麼結果就是2-3元,否則就是Alias[1],即4。
我們可以來簡單驗證一下,比如隨機到第二列的概率是0.2,得到第三列下半部分的概率為0.2 * 0.25,記得在第四列還有它的一部分,那裡的概率為0.2 * (1-0.25),兩者相加最終的結果還是0.2 * 0.25 + 0.2 * (1-0.25) = 0.2,符合原來第二列的概率per[1]。
演算法復雜度 :預處理O(NlogN),隨機數生成O(1),空間復雜度O(2N)。
優缺點 :這種演算法初始化較復雜,但生成隨機結果的時間復雜度為O(1),是一種性能非常好的演算法。
4. 公司矩形組織結構的優缺點。。。越詳細越好。。555拜託了
矩陣制組織的特點
矩陣制組織是為了改進直線職能制橫向聯系差,缺乏彈性的缺點而形成的一種組織形式。它的特點表現在圍繞某項專門任務成立跨職能部門的專門機構上,例如組成一個專門的產品(項目)小組去從事新產品開發工作,在研究、設計、試驗、製造各個不同階段,由有關部門派人參加,力圖做到條塊結合,以協調有關部門的活動,保證任務的完成。這種組織結構形式是固定的,人員卻是變動的,需要誰,誰就來,任務完成後就可以離開。項目小組和負責人也是臨時組織和委任的。任務完成後就解散,有關人員回原單位工作。因此,這種組織結構非常適用於橫向協作和攻關項目。
矩陣結構的優點是:
(1)將企業的橫向與縱向關系相結合,有利於協作生產。
(2)針對特定的任務進行人員配置有利於發揮個體優勢,集眾家之長,提高項目完成的質量,提高勞動生產率。
(3)各部門人員的不定期的組合有利於信息交流,增加互相學習機會,提高專業管理水平。
矩陣結構的缺點是:
項目負責人的責任大於權力,因為參加項目的人員都來自不同部門,隸屬關系仍在原單位,只是為"會戰"而來,所以項目負責人對他們管理困難,沒有足夠的激勵手段與懲治手段,這種人員上的雙重管理是矩陣結構的先天缺陷;由於項目組成人員來自各個職能部門,當任務完成以後,仍要回原單位,因而容易產生臨時觀念,對工作有一定影響。
矩陣結構的適用范圍
矩陣結構適用於一些重大攻關項目。企業可用來完成涉及面廣的、臨時性的、復雜的重大工程項目或管理改革任務。特別適用於以開發與實驗為主的單位,例如科學研究,尤其是應用性研究單位等。
5. 經常聽到某某演算法更精確比如積分梯形法就比矩形法更精確,那麼這種精確有什麼區別呢只要分割更細,矩形
(1)梯形法和矩形法精確度相同的。
(2)更精確,指的是數據一樣的前提下,一種演算法比另一種演算法的誤差更小,
比如積分,同樣9個點,
龍貝格演算法的精度比辛普森高,辛普森的精度比梯形和矩形高。
6. 字元串的模式匹配(BF演算法與KMF演算法)
Brute-Force演算法的實現:
測試程序以及運行結果:
雖然沒有任何丟失可能匹配字元的可能,但是每次的匹配沒有用到前一次匹配的比較結果,比較多次重復,降低了演算法效率。
時間復雜度:
m = pattern.length();
n = target.length();
最好的情況:O(m) (一次比較成功)
最壞的情況:O(n(n-m+1) m) 一般n>>m,所以O(n m) (比較到最後一次才成功)
先來一波kmp演算法的 網路 介紹:
無回溯的模式匹配演算法首先目標串的祛除了目標串的回溯,其次,通過getNext()演算法,匹配串也做到了部分不回溯。
無回溯演算法的核心是如何實現這個 next() 演算法:
實際上next()演算法就是來 判斷pattern的子字元串與當pattern的0位置開始的字元串是否相同,第一個next[0]默認為1,接下來的如果不相同next[i]為0,如果第一個相同,為0,若連續開始相同,則依次++1
如:
如果pattern的首字元在pattern剩餘的字元串里沒有再出現過,那麼getNext()獲取的next[]必然是[-1,0,...,0]這樣的。
匹配方法如下:
kmp演算法的最壞的比較次數是m+n,next演算法的時間復雜度是0(m),kmp比較是O(n),與BF演算法相比,已經大大縮小了比較的時間。
7. 四節點矩形單元有哪些優缺點
四節點矩形單元優點:較容易進行網路劃分和逼近邊界形狀,應用比較靈活。其缺點是它的位移模式是線性函數,單元應力和應變都是常數,精度不夠理想。缺點:單元不能適應曲線邊界和斜邊界,也不能隨意改變大小,適用性非常有限。
對於這個單元而言也等於單元本身在節點位置受到的外荷載;單元的應力是力學的概念,單位面積的力,通過對單元應力的積分可以得到單元的節點力。如果是均勻受拉的桿單元,單元力=應力*單元橫截面積。
作用
(1)為了保證構件的平面外的穩定性,減小構件平面外的計算長度。當橫梁和柱的內側翼緣需要設置側向支撐點時,可以利用連接於外側翼緣的檁條或牆梁設置隅撐。隅撐一般宜採用單角鋼製作,按照軸心受壓構件設計。
(2)為了防止受壓翼緣(梁下翼緣和柱的內側翼緣)屈曲失穩,增加受壓翼緣的穩定性而設置的。隅撐的設置是用來保證梁的下翼緣受壓部分的局部穩定。梁的上翼緣的局部穩定由與之連接的檁條保證。
8. c++ 游戲碰撞檢測怎麼做
在游戲開發中,經常需要進行碰撞檢測演算法的實現,例如判斷前面是否有障礙以及判斷子彈是否擊中飛機,都是檢測兩個物體是否發生碰撞,然後根據檢測的結果通過碰撞檢測演算法做出不同的處理。
進行碰撞檢測演算法的物體可能有些的形狀和復雜,這些需要進行組合碰撞檢測,就是將復雜的物體處理成一個一個的基本形狀的組合,然後分別進行不同的檢測。
下面簡單介紹一下兩種最基本的形狀進行碰撞的時候進行的處理。
1、矩形和矩形進行碰撞檢測演算法
一般規則的物體碰撞都可以處理成矩形碰撞,實現的原理就是檢測兩個矩形是否重疊。我們假設矩形1的參數是:左上角的坐標是(x1,y1),寬度是w1,高度是h1;矩形2的參數是:左上角的坐標是(x2,y2),寬度是w2,高度是h2。
在檢測時,數學上可以處理成比較中心點的坐標在x和y方向上的距離和寬度的關系。即兩個矩形中心點在x方向的距離的絕對值小於等於矩形寬度和的二分之一,同時y方向的距離的絕對值小於等於矩形高度和的二分之一。下面是數學表達式:
x方向:| (x1 + w1 / 2) – (x2 + w2/2) | < |(w1 + w2) / 2|
y方向:| (y1 + h1 / 2) – (y2 + h2/2) | < |(h1 + h2) / 2|
在Java ME程序中,只需要將上面的條件轉換成代碼就可以實現了。
但是矩形碰撞只是一種比較粗糙的碰撞檢測演算法,因為很多實際的物體可能不是一個規則的矩形。
下面介紹一下圓形碰撞。
2、圓形和圓形的碰撞檢測演算法
圓形和圓形的碰撞應該說是一種最簡單的碰撞,因為在數學上對於兩個圓形是否發生重疊,有計算兩個圓心之間的距離的公式。那麼條件就變為:計算兩個圓心之間的距離是否小於兩個圓的半徑和。
假設圓形1的左上角坐標是(x1,y1),半徑是r1,圓形2的左上角的坐標是(x2,y2),半徑是r2。
因為MIDP1.0中沒有浮點數,而且浮點數的運算比較慢,所以我們將條件做一個簡單的變換:對於條件的兩邊都進行平方,這樣就去掉了開方的運算步驟。
下面是數學表達式:
(x1 – x2)2 + (y1 – y2)2 < (r1 + r2)2
在Java ME程序中,只需要將上面的條件轉換成代碼就可以了。
上面介紹的只是最基本的碰撞檢測演算法的實現,而實際的編程過程中遇到的碰撞檢測問題要比這些復雜很多,還需要其他形式的檢測,還需要進行更加深入的學習。
9. 平面有限元分析中,三角形單元與矩形單元各有何優缺點
三角形單元具有適應性強的優點,較容易進行網路劃分和逼近邊界形狀,應用比較靈活。其缺點是它的位移模式是線性函數,單元應力和應變都是常數,精度不夠理想。
矩形單元的位移模式是雙線性函數,單元的應力、應變式線性變化的,具有精度較高,形狀規整,便於實現計算機自動劃分等優點,缺點是單元不能適應曲線邊界和斜邊界,也不能隨意改變大小,適用性非常有限。
(9)剩餘矩形匹配演算法優缺點擴展閱讀:
通過變分方法,使得誤差函數達到最小值並產生穩定解。類比於連接多段微小直線逼近圓的思想,有限元法包含了一切可能的方法,這些方法將許多被稱為有限元的小區域上的簡單方程聯系起來,並用其去估計更大區域上的復雜方程。
它將求解域看成是由許多稱為有限元的小的互連子域組成,對每一單元假定一個合適的(較簡單的)近似解,然後推導求解這個域總的滿足條件(如結構的平衡條件),從而得到問題的解。這個解不是准確解,而是近似解,因為實際問題被較簡單的問題所代替。
由於大多數實際問題難以得到准確解,而有限元不僅計算精度高,而且能適應各種復雜形狀,因而成為行之有效的工程分析手段。
10. 剩餘矩形填充演算法是優化演算法嗎
是,針對矩形件排樣問題提出的一種新的空白矩形填充優化演算法.
首先,設計空白矩形填充演算法時,提出了消除多餘空白矩形的方法,以減小計算時間復雜度.其次,利用鄰域搜索演算法優化矩形件排放順序,通過挖掘矩形件排樣的問題特徵,設計了受限距離的交叉和插入兩種鄰域運算元,並提出了特殊運算元執行點選擇策略.然後,設計了基於兩種鄰域運算元交替迭代的鄰域搜索演算法.最後,對文獻中的21個經典案例進行試驗計算,4個案例的排樣利用率達到了100%,絕大多數案例的排樣利用率超過了99%,最小排樣利用率超過了98%.將其他常用演算法和文獻中演算法進行比較,驗證了本文演算法的有效性