原创 淺談二叉樹的建樹與遍歷 (C++ C附二叉樹前序建樹和前序遍歷代碼(遞歸與非遞歸版),中序遍歷非遞歸版)

   欲談樹之遍歷,先談樹之結構 :  看代碼: struct Node{ char data; Node * lChild; Node * rChild; } *BiTree; 顧名思義,樹是結點的集合。如上代

原创 第十屆藍橋杯省賽心得

emmm.... 今天是2019年3月28號,第十屆藍橋杯成績出來了,感覺應該能拿省一的,沒想到真的拿了省一,而且還是河南賽區java b組的前20名,,, 還是很開心的。。。。也算是給單調的大學生活一點色彩吧! 我想說的是一路走來,也曾

原创 快速排序 及其隨機化改進 java實現

Generally Speaking,快速排序是一種優秀的排序方法:平均時間複雜度O(nlogn),最壞情況下就是每次都挑到最大的值作爲中介值,時間複雜度O(n^2);空間複雜度O(1),但是不穩定。 eg :對 4 3 3 選擇4爲中介

原创 淺談java自定義排序(多維排序)(數組,列表,set,map)

前言: 說到排序,不禁想起了Arrays.sort()方法,不過它只有一種順序,即升序。可是我們做的題目中要求可能並不是升序,或者說其元素也不一定是一維的,那麼怎麼辦? 數組:               若元素是一維的,直接Arrays

原创 2017年藍橋杯javab組之日期問題(運用TreeSet和日期格式轉換SimpleDateFormat)

問題描述   小明正在整理一批歷史文獻。這些歷史文獻中出現了很多日期。小明知道這些日期都在1960年1月1日至2059年12月31日。令小明頭疼的是,這些日期採用的格式非常不統一,有采用年/月/日的,有采用月/日/年的,還有采用日/月/年

原创 快速冪 c++

轉自:http://www.cnblogs.com/CXCXCXC/p/4641812.html      快速冪這個東西比較好理解,但實現起來到不老好辦,記了幾次老是忘,今天把它系統的總結一下防止忘記。   首先,快速冪的目的就是做到快

原创 藍橋杯 2016年javaB組原題剪郵票 (bfs+暴力迭代)

剪郵票 如【圖1.jpg】, 有12張連在一起的12生肖的郵票。 現在你要從中剪下5張來,要求必須是連着的。 (僅僅連接一個角不算相連) 比如,【圖2.jpg】,【圖3.jpg】中,粉紅色所示部分就是合格的剪取。   請你計算,一共有多

原创 藍橋杯競賽知識點總結 距離藍橋杯10天,附八皇后java代碼實現(dfs 回溯)

上次裸考藍橋杯c++,只拿了個省三,遺憾無限~ 這一次無論如何都要彌補一下,emmm,算是對我大學時光的紀念吧。。。 話不多說:藍橋杯java重點 枚舉以及優化 遞歸(回溯,剪枝):八皇后,全排列 dfs ,bfs,二分查找 過程模擬//

原创 藍橋杯 歷屆試題 青蛙跳杯子 java bfs 實現 其中包括java字符串某兩個元素交換位置

問題描述   X星球的流行寵物是青蛙,一般有兩種顏色:白色和黑色。   X星球的居民喜歡把它們放在一排茶杯裏,這樣可以觀察它們跳來跳去。   如下圖,有一排杯子,左邊的一個是空着的,右邊的杯子,每個裏邊有一隻青蛙。   *WWWBBB  

原创 談談最短路的幾種算法 (Dijkstra,spfa,floyd) 並附上藍橋杯 最短路的代碼實現

最短路作爲算法入門的基本問題之一,大一開始學的時候也是稀裏糊塗的,現在博主在大三上學了算法分析後,對這幾種算法有了新的理解與認識,於是總結如下,希望能對自己以後的複習還有剛開始入坑算法的萌新們一點幫助。 首先,Dijkstra算法: 適用

原创 藍橋杯 算法提高 矩陣乘法 java90分版,c++100分版

問題描述   有n個矩陣,大小分別爲a0*a1, a1*a2, a2*a3, ..., a[n-1]*a[n],現要將它們依次相乘,只能使用結合率,求最少需要多少次運算。   兩個大小分別爲p*q和q*r的矩陣相乘時的運算次數計爲p*q*

原创 藍橋杯歷屆試題 對局匹配 100分 並解釋50分原因

問題描述   小明喜歡在一個圍棋網站上找別人在線對弈。這個網站上所有註冊用戶都有一個積分,代表他的圍棋水平。   小明發現網站的自動對局系統在匹配對手時,只會將積分差恰好是K的兩名用戶匹配在一起。如果兩人分差小於或大於K,系統都不會將他們

原创 歷屆試題 斐波那契 java實現 60分版

問題描述   斐波那契數列大家都非常熟悉。它的定義是:   f(x) = 1 .... (x=1,2)   f(x) = f(x-1) + f(x-2) .... (x>2)   對於給定的整數 n 和 m,我們希望求出:   f(1)

原创 藍橋杯 算法訓練 Beaver's Calculator 歸併排序

問題描述   從萬能詞典來的聰明的海狸已經使我們驚訝了一次。他開發了一種新的計算器,他將此命名爲"Beaver's Calculator 1.0"。它非常特別,並且被計劃使用在各種各樣的科學問題中。   爲了測試它,聰明的海狸邀請了n位科

原创 藍橋杯歷屆試題 合根植物 並查集 java實現

                                                              歷屆試題 合根植物 問題描述   w星球的一個種植園,被分成 m * n 個小格子(東西方向m行,南北方向n列)