『壹』 編寫程序,使用二維數組a[10][10],存儲並列印楊輝三角形的前10行。
#incude<stdio.h>
#defineN10
voidmain(){inta[N][N],i,j;
for(i=0;i<N;i++){
for(j=0;j<N;j++)a[i][j]=(i==j)?(1):(0);
a[i][0]=1;
}
for(i=1;i<N;i++)for(j=1;j<=i;j++)a[i][j]=a[i-1][j]+a[i-1][j-1];
for(i=0;i<N;i++){
for(j=0;j<(N-i);j++)printf("");
for(j=0;j<=i;j++)printf("%4d",a[i][j]);
printf(" ");
}
}
『貳』 java編寫 使用二維數組存儲楊輝三角並列印輸出。
使用二維數組存儲楊輝三角並列印輸出的Java程序如下
publicclassYangHui{
publicstaticvoidmain(String[]args){
finalintROW=5;//指定楊輝三角形的行數
inta[][]=newint[ROW+1][];
for(inti=0;i<=ROW;i++){
a[i]=newint[i+1];//指定每行的列數
}
for(inti=0;i<=ROW;i++)
for(intj=0;j<=a[i].length-1;j++){
if(i==0||j==0||j==a[i].length-1)
a[i][j]=1;
else
a[i][j]=a[i-1][j-1]+a[i-1][j];
}
//輸出楊輝三角形
for(inti=0;i<=ROW;i++){
for(intj=0;j<=ROW-i;j++)
System.out.print(" ");
for(intj=0;j<=a[i].length-1;j++)
System.out.print(a[i][j]+" ");
System.out.println();
}
}
}
運行結果
『叄』 華羅庚的讀書心得
讀完某一作品後,相信你一定有很多值得分享的收獲,此時需要認真思考讀書心得如何寫了哦。但是讀書心得有什麼要求呢?下面是我為大家收集的華羅庚的讀書心得範文,歡迎閱讀,希望大家能夠喜歡。
華羅庚的讀書心得1
成功對每個人來說都是一件幸運的事,但不是每一個人都能獲得成功。成功不是路邊的小石子隨處可撿,也不是田間的小草隨意可覓。要成功,需要有一段漫長的路要走,在這期間是要經過許多挫折的。
1930年的一天,清華大學數學系主任熊慶來,坐在辦公室里看一本《科學》雜志。看著看著,不禁拍案叫絕:「這個華羅庚是哪國留學生?」周圍的人搖搖頭,「他是在哪個大學教書的?」人們面面相覷。最後還是一位江蘇籍的教員想了好一會兒,才慢吞吞地說:「我弟弟有個同鄉叫華羅庚,他哪裡教過什麼大學啊!他只念過初中,聽說是在金壇中學當事務員。」
熊慶來驚奇不已,一個初中畢業的人,能寫出這樣高深的數學論文,必是奇才。他當即做出決定,將華羅庚請到清華大學來。從此,華羅庚就成為清華大學數學系助理員。在這里,他如魚得水,每天都游弋在數學的海洋里,只給自己留下五、六個小時的睡眠時間。說起來讓人很難相信,華羅庚甚至養成了熄燈之後,也能看書的習慣。他當然沒有什麼特異功能,只是頭腦中一種邏輯思維活動。他在燈下拿來一本書,看著題目思考一會兒,然後熄燈躺在床上,閉目靜思,開始在頭腦中做題。碰到難處,再翻身下床,打開書看一會兒。就這樣,一本需要十天半個月才能看完的書,他一夜兩夜就看完了。華羅庚被人們看成是不尋常的助理員。第二年,他的論文開始在國外著名的數學雜志陸續發表。清華大學破了先例,決定把只有初中學歷的華羅庚提升為助教。幾年之後,華羅庚被保送到英國劍橋大學留學。可是他不願讀博士學位,只求做個訪問學者。因為做訪問學者可以沖破束縛,同時攻讀七、八門學科。他說:「我到英國,是為了求學問,不是為了得學位的。」
華羅庚沒有拿到博士學位。在劍橋的兩年內,他寫了20篇論文。論水平,每一篇都可以拿到一個博士學位。其中一篇關於「塔內問題」的研究,他提出的理論被數學界命名為「華氏定理」。
華羅庚曾說:「科學上沒有平坦的大道,真理的長河中有無數礁石險灘。只有不畏攀登的采葯者,才能登上高峰覓得仙草;只有不怕巨浪的弄潮兒,才能深入水底覓得驪珠。科學上的每一個真理都是在經歷無數次的'挫折、失敗之後才得出的。我們要正視挫折,正確對待挫折,只有這樣,才能讓挫折變成我們走向成功的階梯。」
看了華羅庚的故事後,我覺得華羅庚有一種熱愛科學,勤奮學習,不求名利,獻身於他所熱愛的數學研究事業的精神。他拋棄了世人所追求的金錢、名利、地位。我覺得我們要學習他的這種精神和他的這種脫俗的境界。
最後我想說挫折可以戰勝,挫折孕育著成功,而前提是具有堅定的信念和勇往直前的精神。當具備了這些條件之後,挫折就會被你踩在腳下,明天就是撥開浮雲見麗日之時。
華羅庚的讀書心得2
《華羅庚科普著作選》是一部適合中學生閱讀的數學課外讀物,它集合了華羅庚幾十年的數學研究成果的精華。雖然我在讀這本書時,有一些難以理解的知識,或者說是我所學過的知識所不能及的篇章,我都做上了標記,以便今後學習了相關的基礎知識後,能夠重新理解那深奧的理論。
《從楊輝三角形談起》中最核心的理論便是楊輝三角形基本性質,從中衍生出的二項式定理是非常重要的。而它的兩個特例也讓我大為驚嘆(2和0的變形)。之後的級數也是圍繞這個定理展開的。《從祖沖之的圓周率談起》給我留下深刻印象。華羅庚從祖沖之圓周率的約率7/22和密率355/113開始,介紹了輾轉相除法和連分數,由此解釋了約率和密率的由來。奧數老師曾講過用輾轉相除法求出兩數的最大公約數,而華教授能進一步用連分數相加求出原兩數之比的既約分數。從這小小的一點就能反映出華教授的刻苦鑽研精神。之後談到的有關天文和歷法的科普知識,又讓我大開眼界。
《從孫子的「神機妙算」談起》中,我掌握了一種用輾轉相除法解決一類同餘問題,以及用這種方法來解二元一次方程。多項式的輾轉相除法可幫助我們解決多項式的類似問題。
《數學歸納法》中,我沒有過多的心得體會,因為胥老師已經介紹得比較全面了,但我也多學習到了一些解題。
《談談與蜂房結構有關的數學問題》中最讓我長見識的是蜂房底部居然是由三個菱形構成的,其中一致的規律:鈍角等於109°28′,銳角等於70°32′。蜜蜂計算這一角度比科學家還要准確,真是令人佩服。蜂房結構使得它利用的材料最少,體積最大,更是令人折服。《天才與鍛煉》使我懂得了天才不是天生的,而是後天鍛煉出來的結果。
在書的第二部分華教授為我們展現了中國數學史輝煌的一頁,還與我們探討了學習科學的方法,比如:學科學需要熱誠,更需要持久的熱誠;學科學要有雄心,但不能越級而進,更不能鑽牛角尖;學科學要能創造,但也要善於接受已有的成果;自修是能達到學習的目的,毅力和耐心是成功的保證等等。
在書的第三部分華教授講述了數學應用方面的知識,其中令我記憶猶新的是「統籌法」和「優選法」。學會了「統籌法」就能使一件事乃至一項工程,以最高效率完成。學會了「優選法」就能在最少的時間里選出最佳的方案。
讀完了這本書使我在數學殿堂里又見到了許多新奇的東西,讓我大開眼界,讓我受益匪淺。雖然這本書我沒有完全讀透,但在以後我掌握了更多的基礎知識後,我一定會將未讀懂的部分再次研讀。
華羅庚的讀書心得3
「天才」不是一下子做出來的。華羅庚他既是一位天才,也有了不斷的努力才成為偉大的數學家。
華羅庚的人生並不平坦。他父親40歲才生下他。他從小貪玩、好動,兩條腿比頭腦更靈活。但是他的成績卻不好。所以常常挨給媽媽罵。
初中二年級,他開始用功了。特別在數學課上現出數學的才能。級任老師是他的數學天才的第一發現者。
二十年代中期軍閥混戰,他在上海中華職業學校才學了一年半因為這個混戰沒辦法聽斷功課,代替父親背起生活的纖繩。但是他還是從曼學習的渴望。一個偶然的機會,他從初中時的那位老師手裡借來幾本數學書箱。父親看見兒子這些書反而給他大發脾氣。
他18歲的時候有了兩個喜事。一個是他初中時的那位老師當上校長了。那位校長的幫助他可以就業了。還有另一個喜事他結了婚。
他做工作雖然很小的單位但做得很認真。校長看見他這樣勤奮,聘請他擔任補習班的校員。豈料好景不長,有人認為不滿校長的行動。就打擊了校長。這可憐的校長後來長忿然辭職。
打擊接著打擊這年全縣流行瘟疫。他躺了六個月才起來。他的命運很崎嶇。它變成一個殘疾。他的下身一輩子恢復起來了。
他是一個堅強的人。久病之後,他克服行動的不便,繼續去學校工作。肉體上的殘疾會給人造成心理上的受傷,但是也能激起一個人不甘沉淪的熱忱。
他只想獲得一門學問。他每天傍晚小店關門上板以後坐在昏黃如豆的油燈下一直研究數學。他看過的書越來越多,消化機能一天比一天亢進。
1930年,上海《科學》雜志上刊登了他的一篇文章。北京清華大學數學系主任熊請看了他的文章叫他來清華大學。清華並沒熱烈擁抱華羅庚。他要求熊慶把高等數學分析。天天只睡了五六個小時只用一年半的時間久攻下數學專業全部課程。他一次寄出去三篇論文,都在國外的刊物上發表了。這對清華大學記錄了榮光的時刻。
從這看來,華羅庚是很堅強的人也是愚直的人。雖然有精神上的打擊,社會上的打擊,但是有這樣性格會克服了所有的打擊。人們都一樣,如果碰到打擊有人會逃避,有人會藏躲。我也是同樣的人。有了困難現象逃走的辦法,沒有想過克服的辦法。因為知道這克服的時間斌不容易,也有可能要很長時間。
很多人都怕這樣的過程,就不容易面對打擊。不過華羅庚在所有的打擊面前振振有詞地解決了。
在生活當中見面了各種各樣的人。但我從來沒看到像華羅庚一樣拘泥的人。對一個方面不斷的熱忱和堅持連貧窮也擋不住他的拘泥的性格。這樣性格會留下在歷史上一篇的故事。
我可能永遠趕不上華羅庚。但是我通過華羅庚學了一個很重要的部分。我是一個膽小鬼。發生了麻煩的是急於逃亡也可能找借口。看這篇華羅庚的日記可以學習了固執的熱忱。災頂之災的情況也毅然接受的華羅庚!這樣的態度就是我要學習的部分。我只看前面不看後面,不知道我多麼幸福。總是覺得不滿自己的情況,總是追一個夢想。
但是我從今天可以改變不管別人說什麼只有自己堅固的心才會提高自己,有了熱忱會找正道。
『肆』 零基礎學數據結構的目錄
第一篇基 礎 篇
第1章數據結構概述 1
1.1數據結構的基本概念 1
1.2抽象數據類型及其描述 2
1.2.1抽象數據類型的定義 3
1.2.2抽象數據類型的描述 3
1.3數據結構的邏輯結構與物理結構 4
1.3.1邏輯結構 4
1.3.2物理結構 5
1.4演算法的特性與演算法的描述 5
1.4.1演算法的定義 5
1.4.2演算法的特性 6
1.4.3演算法的描述 6
1.5演算法分析 7
1.5.1演算法設計的要求 7
1.5.2演算法效率評價 8
1.5.3演算法時間復雜度 9
1.5.4演算法空間復雜度 11
1.6小結 11
第2章C語言基礎 12
2.1開發環境介紹 12
2.1.1Turbo C 2.0開發環境介紹 12
2.1.2Visual C++ 6.0開發環境介紹 14
2.2遞歸與非遞歸 17
2.2.1函數的遞歸調用 17
2.2.2遞歸應用舉例 18
2.2.3一般遞歸轉化為非遞歸 20
2.3指針 20
2.3.1指針變數 20
2.3.2指針變數的引用 22
2.3.3指針與數組 22
2.3.4函數指針與指針函數 27
2.4參數傳遞 32
2.4.1傳值調用 33
2.4.2傳地址調用 34
2.5結構體與聯合體 36
2.5.1結構體的定義 37
2.5.2指向結構體的指針 38
2.5.3聯合體及應用 39
2.6動態內存分配與釋放 40
2.6.1內存動態分配與釋放 40
2.6.2鏈表 40
2.7小結 46
2.8習題 46
第二篇線性數據結構
第3章線性表 47
3.1線性表的概念及運算 47
3.1.1線性表的邏輯結構 47
3.1.2線性表的抽象數據類型 48
3.2線性表的順序表示與實現 49
3.2.1線性表的順序存儲結構 49
3.2.2順序表的基本運算 50
3.2.3順序表的實現演算法分析 53
3.3順序表的應用舉例 53
3.4線性表的鏈式表示與實現 58
3.4.1單鏈表的存儲結構 58
3.4.2單鏈表的基本運算 60
3.5單鏈表應用舉例 65
3.6循環單鏈表 70
3.6.1循環單鏈表的鏈式存儲 71
3.6.2循環單鏈表的應用 72
3.7雙向鏈表 76
3.7.1雙向鏈表的存儲結構 76
3.7.2雙向鏈表的插入操作和刪除操作 77
3.8雙向鏈表的應用舉例 79
3.9靜態鏈表 82
3.9.1靜態鏈表的存儲結構 82
3.9.2靜態鏈表的實現 83
3.9.3靜態鏈表的應用 85
3.10各種線性表的操作 86
3.11一元多項式的表示與相乘 94
3.11.1一元多項式的表示 94
3.11.2一元多項式相乘 95
3.12小結 99
3.13習題 100
第4章棧 101
4.1棧的表示與實現 101
4.1.1棧的定義 101
4.1.2棧的抽象數據類型 102
4.2棧的順序表示與實現 102
4.2.1棧的順序存儲結構 102
4.2.2順序棧的基本運算 103
4.2.3共享棧的問題 105
4.3棧的應用舉例一 107
4.4棧的鏈式表示與實現 111
4.4.1棧的存儲結構 111
4.4.2棧的基本運算 112
4.4.3鏈棧的應用 114
4.5棧的應用舉例二 115
4.5.1數制轉換 116
4.5.2括弧配對 117
4.5.3行編輯程序 119
4.6棧與遞歸的實現 121
4.6.1遞歸 121
4.6.2消除遞歸 124
4.7棧的應用舉例三 129
4.7.1表達式的轉換與計算 130
4.7.2表達式的運算 132
4.8小結 136
4.9習題 137
第5章隊列 138
5.1隊列的定義及抽象數據類型 138
5.1.1隊列的定義 138
5.1.2隊列的抽象數據類型 138
5.2隊列的順序存儲及實現 139
5.2.1順序隊列的表示 139
5.2.2順序隊列的「假溢出」 142
5.2.3順序循環隊列的表示 143
5.2.4順序循環隊列的實現 144
5.2.5順序循環隊列實例 145
5.3隊列的鏈式存儲及實現 148
5.3.1鏈式隊列的表示 148
5.3.2鏈式隊列的實現 150
5.3.3鏈式隊列實例 152
5.4雙端隊列 156
5.4.1雙端隊列的定義 156
5.4.2雙端隊列的應用 156
5.5隊列在楊輝三角中的應用 159
5.5.1楊輝三角 159
5.5.2楊輝三角的隊列構造 159
5.5.3楊輝三角隊列的實現 160
5.6小結 164
5.7習題 164
第6章串 165
6.1串的定義及抽象數據類型 165
6.1.1串的定義 165
6.1.2串的抽象數據類型 165
6.2串的順序表示與實現 167
6.2.1串的順序存儲結構 167
6.2.2串的基本運算 168
6.3串的應用舉例 173
6.4串的堆分配表示與實現 174
6.4.1堆分配的存儲結構 175
6.4.2堆串的基本運算 175
6.5堆串的應用舉例 181
6.6串的鏈式存儲表示與實現 183
6.6.1串的鏈式存儲結構 183
6.6.2鏈串的基本運算 184
6.7鏈串的應用舉例 189
6.8串的模式匹配 191
6.8.1經典的模式匹配演算法─Brute-Force 191
6.8.2KMP演算法 193
6.8.3模式匹配應用舉例 198
6.9小結 202
6.10習題 202
第7章數組 203
7.1數組的定義及抽象數據類型 203
7.1.1數組的定義 203
7.1.2數組的抽象數據類型 204
7.2數組的順序表示與實現 204
7.2.1數組的順序存儲結構 204
7.2.2數組的基本運算 206
7.2.3數組的應用舉例 208
7.3特殊矩陣的壓縮存儲 209
7.3.1對稱矩陣的壓縮存儲 210
7.3.2三角矩陣的壓縮存儲 210
7.3.3對角矩陣的壓縮存儲 211
7.4稀疏矩陣的壓縮存儲 212
7.4.1稀疏矩陣的定義 212
7.4.2稀疏矩陣的抽象數據類型 212
7.4.3稀疏矩陣的三元組表示 213
7.4.4稀疏矩陣的三元組實現 213
7.5稀疏矩陣的應用舉例 219
7.5.1稀疏矩陣相乘三元組表示 219
7.5.2稀疏矩陣相乘三元組實現 221
7.6稀疏矩陣的十字鏈表表示與實現 224
7.6.1稀疏矩陣的十字鏈表表示 224
7.6.2稀疏矩陣的十字鏈表實現 225
7.7稀疏矩陣的十字鏈表實現應用舉例 228
7.8小結 233
7.9習題 234
第8章廣義表 235
8.1廣義表的定義及抽象數據類型 235
8.1.1廣義表的定義 235
8.1.2廣義表的抽象數據類型 236
8.2廣義表的頭尾鏈表表示與實現 236
8.2.1廣義表的頭尾鏈表存儲結構 236
8.2.2廣義表的基本運算 237
8.2.3採用頭尾鏈表存儲結構的廣義表應用舉例 240
8.3廣義表的擴展線性鏈表表示與實現 243
8.3.1廣義表的擴展線性鏈表存儲 243
8.3.2廣義表的基本運算 244
8.3.3採用擴展線性鏈表存儲結構的廣義表應用舉例 247
8.4小結 249
8.5習題 250
第三篇非線性數據結構
第9章樹 251
9.1樹的定義及抽象數據類型 251
9.1.1樹的定義 251
9.1.2樹的邏輯表示 252
9.1.3樹的抽象數據類型 253
9.2二叉樹 254
9.2.1二叉樹的定義 254
9.2.2二叉樹的性質 255
9.2.3二叉樹的抽象數據類型 257
9.3二叉樹的存儲表示與實現 258
9.3.1二叉樹的順序存儲 258
9.3.2二叉樹的鏈式存儲 258
9.3.3二叉樹的基本運算 259
9.4二叉樹的遍歷 263
9.4.1二叉樹遍歷的定義 263
9.4.2二叉樹的先序遍歷 263
9.4.3二叉樹的中序遍歷 265
9.4.4二叉樹的後序遍歷 267
9.5二叉樹遍歷的應用舉例 269
9.5.1二叉樹的創建 269
9.5.2二叉樹的輸出 273
9.5.3二叉樹的計數 276
9.6二叉樹的線索化 279
9.6.1二叉樹線索化的定義.. 279
9.6.2二叉樹的線索化 280
9.6.3線索二叉樹的遍歷 282
9.6.4線索二叉樹的應用舉例 284
9.7樹、森林與二叉樹 287
9.7.1樹的存儲結構 287
9.7.2樹轉換為二叉樹 290
9.7.3森林轉換為二叉樹 291
9.7.4二叉樹轉換為樹和森林 292
9.7.5樹和森林的遍歷 292
9.8哈夫曼樹 293
9.8.1哈夫曼樹的定義 293
9.8.2哈夫曼編碼 294
9.8.3哈夫曼編碼演算法的實現 295
9.9樹與二叉樹的應用舉例 301
9.9.1相似二叉樹 301
9.9.2由先序和中序、中序和後序確定二叉樹 302
9.9.3樹的孩子兄弟鏈表應用舉例 308
9.10小結 311
9.11習題 312
第10章圖 313
10.1圖的定義與相關概念 313
10.1.1圖的定義 313
10.1.2圖的相關概念 314
10.1.3圖的抽象數據類型 316
10.2圖的存儲結構 317
10.2.1鄰接矩陣表示法 317
10.2.2鄰接表表示法 318
10.2.3十字鏈表表示法 320
10.2.4鄰接多重鏈表表示法 321
10.3圖的應用舉例 322
10.3.1採用鄰接矩陣創建圖 322
10.3.2採用鄰接表創建圖 325
10.4圖的遍歷 328
10.4.1圖的深度優先遍歷 328
10.4.2圖的廣度優先遍歷 331
10.4.3圖的遍歷應用舉例 333
10.5圖的連通性問題 335
10.5.1無向圖的連通分量與生成樹 335
10.5.2最小生成樹 337
10.6有向無環圖 342
10.6.1AOV網與拓撲排序 342
10.6.2AOE網與關鍵路徑 345
10.6.3關鍵路徑應用舉例 349
10.7最短路徑 354
10.7.1從某個頂點到其餘各頂點的最短路徑 354
10.7.2每一對頂點之間的最短路徑 359
10.8圖的應用舉例 363
10.9小結 367
10.10習題 368
第四篇查找和排序
第11章查找 369
11.1查找的基本概念 369
11.2靜態查找 370
11.2.1順序表的查找 370
11.2.2有序順序表的查找 371
11.2.3索引順序表的查找 373
11.2.4靜態查找應用舉例 374
11.3動態查找 377
11.3.1二叉排序樹 377
11.3.2平衡二叉樹 384
11.4B_樹與B+樹 392
11.4.1B_樹 392
11.4.2B+樹 399
11.5散列表 400
11.5.1散列表的定義 400
11.5.2散列函數的構造方法 401
11.5.3處理沖突的方法 402
11.5.4散列表應用舉例 403
11.6小結 407
11.7習題 408
第12章內排序 409
12.1排序的基本概念 409
12.2插入排序 410
12.2.1直接插入排序 410
12.2.2折半插入排序 411
12.2.3希爾排序 412
12.2.4插入排序應用舉例 413
12.3選擇排序 415
12.3.1簡單選擇排序 415
12.3.2堆排序 417
12.3.3選擇排序應用舉例 421
12.4交換排序 423
12.4.1冒泡排序 423
12.4.2快速排序 424
12.4.3交換排序應用舉例 427
12.5歸並排序 431
12.5.1歸並排序演算法 431
12.5.2歸並排序應用舉例 432
12.6基數排序 434
12.6.1基數排序演算法 434
12.6.2基數排序應用舉例 437
12.7各種排序演算法的比較 441
12.8排序演算法應用舉例 442
12.9小結 445
12.10習題 446
第13章外排序 447
13.1外存的存取特性 447
13.2磁碟排序 448
13.2.1歸並排序的基本方法 448
13.2.2多路歸並排序 449
13.3磁帶排序 451
13.3.12路歸並排序 451
13.3.2多路非平衡歸並排序 452
13.4小結 453