題目:輸入一顆二元尋找樹,將該樹轉換為它的鏡像,即在轉換後的二元尋找樹中,左子樹的結點都大於右子樹的結點。用遞迴和迴圈兩種方法完成樹的鏡像轉換。例如輸入: 8 / \ 6 10 /\ /\ 5 7 9 11輸出: 8 / \ 10 6 /\ /\ 11 9 7 5這題相對很簡單,沒什麼說的,直接代碼了。。。void BSTree::mirrorRec(BSTreeNode* node){ if (!node)
位元運算應用口訣清零取數要用與,某位置一可用或若要取反和交換,輕輕鬆鬆用異或移位元運算要點 1 它們都是雙目運算子,兩個運算分量都是整形,結果也是整形。 2 "<<" 左移:右邊空出的位上補0,左邊的位將從字頭擠掉,其值相當於乘2。 3 ">>"右移:右邊的位被擠掉。對於左邊移出的空位,如果是正數則空位補0,若為負數,可能補0或補1,這取決於所用的電腦系統。 4
資訊化時代,資訊很值錢,但真假很難辨。資訊化時代需要人們做哲學家來洞徹其裡,也需持有懷疑精神去對待一切。有人說得好,給你看的新聞都不是新聞,那是什麼呢?多是洗腦劑。越是資訊化社會,越是演戲社會,人們都希望通過演戲來達到自己的目的,從上到下,從左至右,從富到窮,從老到幼,只是有些演技高超,而有些表演拙劣而已。那本真何在呢?當然在心中(一句帶有哲學味道的台詞)!聽說,IT手機“巨頭”雷老大和周老大,最近對戰很激烈,據說此對戰對手機科普還做出了貢獻,增長了觀眾的知識。不過,這或許也是一場戲,演戲的演的
1)視圖層後台代碼,很簡潔,主要是處理視圖模型的建立,當然,如果你利用一些技術,這裡是可以不需要代碼的。不過我的觀點是任何事情都不要搞成潔癖,如果頁面的所有控制都放在視圖模型層,反而會使得視圖模型層最後就變成了視圖的後台代碼,那麼這個MVVM模式就失去了意義。using MEntities;using RIAServices.Web;using System.Threading;using System.Dynamic;using System.Windows.Data;using
在天朝做一名程式員,確實不容易,每一個其實都是一個傳奇,無所不能的金剛戰士.這段時間一直都在忙著做一套管理系統,進度相當的緊張,直到最近兩天才看到曙光,寫久了代碼,就想著放鬆一下,上來碼碼文字,調節一下.今天打了場球,回來路上突然想數數自己用過程式設計語言,在一番回憶之後,就有了上面的感慨---哥真的是一個傳奇.下面是我學過用過的語言的編年史(由於年代久遠,時序不完全正確,上榜的標準是學習期間不低於3個月或者工作中有實際應用,並不少於3個月持續使用時間):年代 主要作品大學:
著作權,轉載請註明出處,謝謝!一個線性時間下的原地置換排序演算法排序演算法現有的線性時間排序(時間複雜度為ο(n)演算法,比如計數排序,基數排序,桶排序等,雖然在時間複雜度上都能保持線性,但不能進行原地置換排序,需要額外的輔助空間.一個演算法能否同時做到時間複雜度為ο(n),空間複雜度為Ω(1)呢?我們知道,在現有的常規線性演算法(計數排序,桶排序,基數排序等)當中,計數排序和桶排序因為不是原地置換排序,因此都需要額外的輔助空間來完成排序,因此無法達到上述目的,而基數演算法本身是一個複合演算法,
1、W檢驗(Shapiro–Wilk (夏皮羅–威克爾 ) W統計量檢驗) 檢驗資料是否符合常態分佈,R函數:shapiro.test(). 結果含義:當p值小於某個顯著性水平α(比如0.05)時,則認為 樣本不是來自常態分佈的總體,否則則承認樣本來自常態分佈的總體。2、K檢驗(經驗分布的Kolmogorov-Smirnov檢驗) R函數:ks.test(),如果P值很小,說明拒絕原假設,表明資料不符合F(n,m)分布。3、相關性檢驗:
控制項放在我的資源裡面.這個控制項是一個視窗控制項,可用於Silverlight的MDI開發,既可以作為MDI的子表單,又可作為模態表單使用,但這種模態只針對父表單,比如MDI表單中有在A,B兩個子表單,A表單彈出模態表單C,只會禁用A表單,不會影響B表單。看過老外發布的類似控制項,感覺搞得比較複雜,而且沒有實現相對模態。該控制項有源碼,而且有樣本用法在裡面,希望對大家有用,如有問題,可聯絡我,謝謝!http://download.csdn.net/detail/hawksoft/3675353
在最小產生樹Prim演算法中,可以利用最小優先順序隊列來改善時間複雜度,同時在單源最短路徑Dijkstra演算法中也同樣可以利用這種最小優先順序隊列來改善演算法時間複雜度。實現最小優先順序隊列可以有很多種方式,比如基於二叉最小堆,或者斐波那契堆等。這裡是二叉最小堆的C#實現,原理是根據書上的虛擬碼來的,但有些地方我做了改進,比如書key值改變,原來書上只能變大,這裡取掉了這個限制。同時還提供了根據衛星值來選擇元素的功能,下面是代碼: /// <summary> ///
這個寫給初學者看,這是最簡單可以調通的例子,網上很多例子其實初學者本地跑不通,缺這少那。1.下載CI架構(自己找) 2.配置database.php配置: 為資料庫伺服器設定 connection 參數:$db['default']['hostname'] = "your-db-host";$db['default']['username'] = "your-username";$db['default']['password'] =
這段時間其實一直在思考Hadoop的東西,主要是我準備用Dotnet來類比玩一下,這兩天剛好看到
其實任何簡單的問題,只要規模大了都會成為一個問題,就如中國人口多,很多小問題都會變成大問題一樣。但處理這種海量資料的方法無非就是分治和”人海”戰術。使用人海戰術的前提是問題的劃分能夠支援這種人海戰術,其手段無非是切割(縱向,橫向)和負載平衡。縱向分隔主要是按業務(功能)來分,也就是所謂面向服務架構,橫向分隔方式比較多,主要依賴於所處理的對象屬性,比如時間屬性或者特定業務資料屬性劃分(比如鐵路客票的車次(每個車次的操作基本上是獨立的));負載平衡則可以是鏡像(部署)分布(同樣的功能部署幾份)和計算
很久沒有考試了,而且我剛畢業的時候還非常鄙視這種考試,結果,今年不知道發什麼神經,居然心血來潮,要考個系統架構師,當然,深層次的原因是因為我老在我夫人面前吹噓我如何如何厲害,我夫人就揶揄我說,你去考個進階證證明一下,當時沒答應,不過種子播下了,這個時候還是春天,這不,夏天來了,種子發芽了.6月份決定考一次,7月份報名,本來準備8910複習,結果搞個項目,耽誤了2個月,內心中已經開始打退堂鼓了,但國慶放假在家,閑著無事,覺得要幹點什麼,而且也受了點小刺激,於是決定繼續準備考試.拿著教程就看,看了3
題目:一個大小為N的數組,裡面是N個整數,怎樣去除重複,要求時間複雜度為O(n),空間複雜度為O(1). //下面的思路沒問題,但演算法有問題,修正後的演算法見後面. /// <summary> /// 需要除掉重複的整數的數組,注意這裡我沒有處理負數情況, /// 其實負數情況只要先用0快排分一下組,然後各自用以下演算法進行處理即可。 /// 另外因為是整數,這裡沒考慮32位符號位,只考慮31位。
索引的優勢當然是提高檢索速度,但並不是說資料庫建立了索引就真的會提高檢索速度.為什麼呢?我們知道,索引本身是有序的,索引尋找的時候一般是多分尋找,(當然在記憶體用數組實現的索引則可以做到隨機尋找,但資料庫一般很少會採用這種方式組織,一般都是利用B+樹),所以索引的尋找一般不會是常數級,由於索引本身資料量問題,也不是一次就能將所有索引資料載入在記憶體裡,所以也可能會引起多次磁碟讀,加上定位到目標索引後還需要常數級的具體資料區塊磁碟讀寫,因此一次索引定位需要的磁碟讀寫可以控制在常數層級.因此索引尋找
下面的Tlog我在3000個線程同時調用,寫20個檔案,相當於每個檔案150個線程不間斷大規模寫.沒問題,我提高到10000時,出了問題,但不是日誌代碼的問題,而是系統建立新的線程時報錯,建到3500個線程的時候出現問題.後面我會貼出測試代碼.1)FileLogWorker/// <summary> /// 檔案Tlog類,利用隊列機制,讓寫日誌調用和日誌寫到檔案分離,調用 /// 方將要寫的日誌和目標檔案插入到日誌隊列中去就返回, ///
題目:有這樣一個包含9個圓圈的數陣,如所示: 外層8個圈,內層一個圈;將1~8這8個數隨機的填寫到該數陣的外層的圓圈中,只剩下中間的一個空圓圈。規定每個數字只能按照數陣中的直線從一個圓圈移動到另一個空的圓圈中。通過若干步驟移動,要求將數陣中的數字移動成所示狀態: 【範例】輸入:[1]—[2]—[4] | \ | / | [8]—[ ]—[3] | / | \ | [7
24點是一種老少皆宜的遊戲,它的具體玩法如下:給玩家4張牌,每張牌的面值都在1---13之間,允許其中有數值相同的牌。採用加、減、乘、除四則運算,允許中間運算存在小數,並且可以使用括弧,但每張牌只能使用一次,嘗試構造一個多項式,使其運算結果為24.輸入:n1,n2,n3,n4。輸出:若能得到運算結果為24,則輸出一個對應的計算運算式。輸入:11,8,3,5輸出:(11-8)*(3+5) =