當前位置:首頁 » 編程語言 » c語言四色定理
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言四色定理

發布時間: 2022-09-27 10:28:57

Ⅰ 6年語文題

幾十年前中國人還視為神秘的電腦,逐步揭開了它朦朧的面紗,進入了中國的百姓家。
電腦是計算機的別稱。由於此,人們往往把它和加減乘除聯系起來,使我等曾寒窗苦讀十六、七年的學子們充滿了對它的企盼。上小學時,計算機採用筆算:上中學時,我學會了珠算,已達到了「見幾無除九幾」的最高境界;上大學後,筆算、珠算顯然趕不上計算的速度,只好採用精度較差的對數計算尺。
參加者作後,要求計算的精度高,乘除計算採用了手搖計算機。這種手搖計算機,倒是名副其實,是專門用來進行乘除「計算」的。它雖然使用起來噪音很大,速度也遠比不上現在廣為應用的計算器,但在當時那可是難得的「寶貝」。1979年春,我家鄉的黨支部書記見到我在單位使用手搖計算機的情景,回老家後著實將我誇獎了一番,說我將那個喔喔叫的洋玩意搖得嘩啦啦轉,眨眼功夫就可以算出一個多達幾十萬的數字來,可真神了!
最先對我進行電腦知識啟蒙教育是來自於上世紀六、七十年代的有關雜志。在一篇關於應用計算機的介紹資料中,我看到了圖外用計算機證明四色定理的介紹文章。四色定理,是地理學界公認的真理,是說繪制地圖只需四種顏色就行了,但在當時缺少必要的證明。藉助於計算機,用了兩個多小時方才證明完畢。如果採用人工證明,那可真需要一代又一代的前仆後繼。
上世紀八十年中葉,電腦帶著它固有的神秘,走進了省城一些機關單位的大門,人們像迎接新媳婦那樣迎接著最早一批電腦的到來。當時很多單位規定電腦要安裝在專門房間,鋪木地板,還要適當抬高;操作人員要穿套鞋才能進入,而且手臉要干凈;等等。在某單位的領導會上,曾有這樣的口頭決定:非工作人員不準進入電腦房,以預防「病毒」感染。
電腦的廣泛應用是社會進步的表現。人們對它的應用,從開始的傳遞報表、列印文件等一般操作,逐步擴大到本行業應用的各個方面,工作效率越來越高,越顯示出電腦的神奇。我們公路行業採用電腦繪圖,省略了畫底圖、鉛筆中深、描圖、曬圖等諸多麻煩,速度奇快。而且,計算機繪圖精度高,圖頁美觀,深受使用者歡迎。人們現在進行業務交流,不再需要列印和郵寄資料,只要發個電子郵件即可,方便省事。一個幾十克重的U盤,就記載著可觀、豐富的資料,成為攜帶者隨時使用的好幫手。
學用電腦是要下功夫的,否則就難以揭開它神秘的面紗。1998年,我還在崗時,原單位給我配置了一台電腦,使我獲得了接觸和學用電腦的機會。那年,我已經是笨手笨腳的五十五歲了。為了不留下終生的遺憾,我開始了小學生般的學習電腦的生活,一晃已經七年了。七年來,盡管從未間斷過學習和操作,也記不清「拜」過多少師父,但至今指法仍不很熟練,更何況還有多數的領域尚未涉獵。如果不下功夫深入探索,電腦對我們永遠是神秘的。至此,我才明白了人為什麼要「活到老,學到老」的道理。
電腦儲存的知識內容豐富,也包含著消遣的娛樂內容。用電腦游戲,亦無不可,只是應當適量。有句古語叫做開卷有益,是說大凡讀書,總會有收獲的。而今,未嘗不可以說「開機有益」。閑暇之際,煩悶之時,打開電腦玩玩,練練指法,啟迪智力,也算是一種收獲。
春節前,我一下子有了兩台筆記本電腦,一台是購買的,另一台是調皮的小徒兒「送」的:「請你在桌子上放一個筆記本,然後把你的下巴放在筆記本上。好了,這就是我送給師父的春節禮物———筆記本墊腦」。電腦和墊腦都使我精神愉快。我相信像普及彩電一樣,電腦的普及也不會為時太遠,而且比普及彩電的速度將會更快。

走 近 電 腦

時至今日,電腦成為時代的新寵,在社會的各行各業,包括各個領域,電腦的身影無處不在。而科技的日新月異不僅使電腦的更新換代日益加快,也使電腦的價格一日三跌。早幾年還是可望而不可及的電腦,今天在進入了千家萬戶的同時也進入了校園。
下面,就讓我們參觀一下我院的電腦大觀園。

舍均電腦1~2台

社會經濟突飛猛進,家長們在收入增加的同時也樂意讓子女買台電腦學習學習。筆者在調查采訪時發現有的宿舍電腦的擁有量,少則一台,多至五六台。有的同學見到宿舍的人擁有自己的電腦,每天打得震天價響,也籌劃著要擁有一台自己的電腦。北區某男生宿舍內原有6台電腦,一個月下來,電費竟超出了300多元,這才不得不把幾台電腦搬走。電腦買得起也要養得起。

電腦是打工擇業的資本

社會在進步,時代在發展,電腦正是現代高科技的產物,廣泛應用於工商業、信息業、旅遊業和政府部門,在這日新月異的信息時代中,是否熟識電腦操作,成了當代大學生能否成功擇業的主要因素,買電腦、
學本領也就成了PC一族的主旋律。
小J是外語系三年級學生,他不僅在專業課上獨占鰲頭,而且是一個電腦發燒友,他在初中時代就開始玩電腦,幾年的「修行」,使他的水平已比許多電腦專業的畢業生更高一層,常常到外面的電腦公司打工。
走進小J的宿舍,他正埋頭地敲健盤,室友告訴筆者,最近小J與另兩位同學接了電腦公司一個程序的編寫工作,常常要忙到深夜,有時甚至干一個通宵,寒喧幾句後,小J放下手中的工作,侃侃而談:「我家庭條件相對較好,但我從大一就開始打工了,主要目的並不是為了掙錢,而是想深入社會、貼近社會,同時也為以後的就業做准備。由於能力所限,最初也只能幫別人做一些打字、錄入、排版等簡單操作,隨著自己電腦知識的豐厚,逐漸轉向為電腦公司做光碟、搞軟體開發、做主頁、編程序等較為專業的工作」。提起打工,小J頗有感觸:「打工就是要學以致用,我是學外語的,同時也兼修電腦,平時除了編程做主頁外,也常常為雜志社寫一些有關電腦的文章,翻譯文檔等工作,電腦是我打工的工具,也是我以後謀職的資本。」
如果說電腦只是男孩們手中的玩物,那麼關於小K的故事卻是一個最好的反駁。小K 是98級的學生,她雖然不像小J那樣早早出去打工,但她對Photoshop、Office97、 Accers、 WPS2000等軟體玩得相當熟練。小K來自中專,以前曾參加市裡的電腦知識競賽,並獲過獎,她跟許多男孩子一樣,都是自己攢機的,發生了故障也自己維修,自從上大學以來,她每天都會花一兩個小時在編程上,她自豪地說:「我對C語言的了解又上一個台階了」。當筆者問及她自己對使用電腦的發展前景有什麼看法時,她淡淡一笑:「我感到非常樂觀,多學電腦知識,追上科技發展的步伐。」說到這里,她還自信地加了一句:學好電腦,不愁找不到工作。」

學習與游戲,不伯也不仲

電腦的存在滿足了人們的所需,基於電腦平台開發出來的各種功能也極大地豐富了大學生們的生活:即可以利用電腦學習與自己專業相關的軟體,如Photoshop 、Office97等,也可以用電腦聽CD,放映VCD。更不用說五花八門,令人眼花繚亂的各類游戲對大學生們的吸引力了。在調查中就見過有的人連飯也不吃就為了泡在電腦前贏一個游戲, 其精神集中的程度怕是非地震不能移其半步。
當然,學習知識才是我們的主要目的。97建工系的一女生對AutoCat情有獨鍾。「只要提供建築結構圖,配以自己喜歡的顏色,這樣,即使樓房尚未建起,你也可以從電腦中看到房屋樓宇的整體設計效果。」確實,配合電腦使用的各類專業軟體越來越讓使用者得心應手。調查中很多同學對自己使用電腦的前景表示樂觀。
我們不願評論學習與游戲孰輕孰重。有一位朋友,因為要弄懂游戲上的日文而轉攻日語,在自己的努力與其父的指點下,終有所獲。對於那些沉迷游戲而三餐不濟,玩至通宵達旦的同學。98計—電系一女生就是被戲謔為「高手」。如果這些「高手」能將這種精神放在學習、事業上,怕是所向披糜。

上網,又一新潮流

從學生宿舍南門上到二樓,向前走10多米再向右拐,網路天地就設在這里。這兒以每小時6元的收費為學子提供了一個上網好去處。有人說「音樂無國界」。其實網上一樣任你逍遙。各種咨詢服務只要你一敲網址,立即圖文並茂地呈現在你眼前。毫無疑問,21世紀是網路的世界,於是,上網成為大學生的又一新潮流。而學習網路知識特別是網頁製作方面的知識成為學習新熱點。

電腦的新效應

不管是玩游戲還是學習,總有不懂的地方。同宿舍的人玩起電腦來便有了共同的興趣,在日常生活中無形中多了一個共同的話題。談談「千年蟲」,討論一個新咨訊、新軟體……不知不覺中,大家的溝通多了,關系也比以前融洽了。這是當初買電腦時始料不及的。

Ⅱ 四色問題C語言怎麼解決

思路:建立數據結構,錄入數據內容,遍歷著色,輸出第一個可行的著色方案。

下面就四個方面詳細分析一下

首先分析數據結構:

對於地圖,一個區塊包含一個唯一編號數據(這個編號可以是地名,也可以是數字)用來區分該區塊和其他區塊的不同

另外要著色,還要考慮該區塊和其他區塊連接的情況

最後就是區塊本身的顏色

通過上面的分析,即可建立如下數據結構:

structarea{
intnID;//這里以數字替代名稱,作為地塊的唯一標識
intnColor;//用1,2,3,4表示不同的顏色,用0表示還沒有著色
area*pNei;//鄰接的區塊
intnNei;//鄰接區塊的數量
};

然後需要錄入數據,這個請依據具體的地圖進行處理,撰寫相應的錄入函數,填入上面的數據結構

假設錄好的數據如下:

structareacity[64];//假設已經錄制好了數據,初始所有城市顏色都為0

數據錄好後,我們可以如下方式進行遍歷,嘗試著色

遍歷分為個模塊:一個是遍歷模塊,一個是校驗模塊

校驗模塊依序檢查所有的城市和其鄰接城市是否存在同色的情況,是則返回false,否則返回true

遍歷模塊則逐個城市進行上色嘗試

可以考慮遞歸

下面給一個遞歸的示例:

檢測模塊:

boolisOk(){
for(inti=0;i<64;i++)//假設有64個城市,其初始值和城市關系已經錄制完畢
{
for(intj=0;j<city[i].nNei;j++){
if(nColor==city[i].pNei[j].nColor)
returnfalse;
}
}
returntrue;
}

遍歷遞歸模塊:

booladdcity(intnIndex){
if(nIndex>=64)returntrue;//所有城市都著色了,則返回成功
for(inti=1;i<=4;i++){
city[nIndex].nColor=i;
if(isOk()){//本城市的顏色找到了
if(addcity(nIndex+1)==true){//找下一個城市的顏色
returntrue;
}else{//無法為下一個城市著色
continue;//更改本城市顏色
}
}
}
returnfalse;//沒有一個顏色可行,返回上一級,重新尋找
}

調用的時候可以採用下面的方式:

if(addcity(0)==false){
printf("無法找到答案,四色定理錯誤! ");
}else{
printf("找到了答案,城市和著色結果如下: ");
for(inti=0;i<64;i++){
printf("city%03dcolor%d ",city[i].nID,city[i].nColor);
}
}


Ⅲ C語言做四色問題要代碼

//線性地區的方案
#include<stdio.h>
intn=0;
intmain()
{
printf(「輸入n的值=」);
scanf("%d",&n);
printf(" ");
inti=0;
inta=rand()%3+1;
intb=0;
for(i=0;i<n;i++)
{
printf("地區%d=%d ",i+1,a);
while(1)
{
b=rand()%3+1;
if(b!=a)
{
a=b;
break;
}
}

}
return0;
}

Ⅳ 計算機八大常用硬體得發展史

回首三百八十年——計算機編年簡史
作者:葛陵
[史前時代:1623——1895]
1623年:德國科學家契克卡德(W. Schickard)製造了人類有史以來第一台機械計算機,這台機器能夠進行六位數的加減乘除運算。
1642年:法國科學家帕斯卡(B.Pascal)發明了著名的帕斯卡機械計算機,首次確立了計算機器的概念。
1674年:萊布尼茨改進了帕斯卡的計算機,使之成為一種能夠進行連續運算的機器,並且提出了「二進制」數的概念。(據說這個概念來源於中國的八卦)
1725年:法國紡織機械師布喬(B.Bouchon)發明了「穿孔紙帶」的構想。
1805年: 法國機械師傑卡德(J.Jacquard)根據布喬「穿孔紙帶」的構想完成了「自動提花編織機」的設計製作,在後來電子計算機開始發展的最初幾年中,在多款著名計算機中我們均能找到自動提花機的身影。
1822年:英國科學家巴貝奇(C.Babbage)製造出了第一台差分機, 它可以處理3個不同的5位 數,計算精度達到6位小數。
1834年:巴貝奇提出了分析機的概念,機器共分為三個部分:堆棧,運算器,控制器。他的助手, 英國著名詩人拜倫的獨生女阿達•奧古斯塔(Ada Augusta)為分析機編制了人類歷史上第一批計算機程序。
阿達和巴貝奇為計算機的發展創造了不朽的功勛,他們對計算機的預見起碼超前了一個世紀以上,正是他們的辛勤努力,為後來計算機的出現奠定了堅實的基礎。
1847年:英國數學家布爾(G.Boole)發表著作《邏輯的數學分析》。
1852年: 阿達•奧古斯塔(Ada Augusta)去世,年僅36歲。
1854年:布爾發表《思維規律的研究——邏輯與概率的數學理論基礎》,並綜合自己的另一篇文章《邏輯的數學分析》,從而創立了一門全新的學科-布爾代數,為百年後出現的數字計算機的開關電路設計提供了重要的數學方法和理論基礎。
1868年:美國新聞工作者克里斯托夫•肖爾斯(C.Sholes)發明了沿用至今的QWERTY鍵盤。
1871年:為計算機事業貢獻了畢生精力的巴貝奇(C.Babbage)去世。他與阿達所設想的分析機最終也未能問世,但是他們卻為後人留下了一份寶貴的遺產,那就是面對困難不屈不撓的精神,以及那數十種設計方案和程序。
1873年:美國人鮑德溫(F. Baldwin)利用自己過去發明的齒數可變齒輪製造了第一台手搖式計算機。
1886年:美國人Dorr E. Felt (1862-1930), 製造了第一台用按鍵操作的計算器。
1890年:美國在第12次人口普查中使用了由統計學家霍列瑞斯(H.Hollerith)博士發明的製表機,從而完成了人類歷史上第一次大規模數據處理。此後霍列瑞斯根據自己的發明成立了自己的製表機公司,並最終演變成為IBM公司。
1891年:利蘭•斯坦福與其妻子一道在靠近帕洛•阿爾托(Palo Alto)的地方開辦了面積達8,000英畝的斯坦福大學,從而為日後矽谷的誕生埋下了伏筆。
1893年:德國人施泰格爾研製出一種名為「大富豪」的計算機,該計算機是在手搖式計算機的基礎上改進而來,並依靠良好的運算速度和可靠性而佔領了當時的市場,直到1914年第一次世界大戰爆發之前,這種「大富豪」計算機一直暢銷不衰。
1895年: 英國青年工程師弗萊明(J.Fleming)通過「愛迪生效應」發明了人類第一隻電子
[電子管時代:1911——1946]
1911年:6月15日,美國華爾街金融投資家弗林特(C.Flent)投資霍列瑞斯的製表機公司,成立了全新的CTR公司,但公司創立之初並沒有涉足任何電子領域,反而生產諸如碎紙機或者土豆削皮機之類的產品。
1912年:美國青年發明家德•福雷斯特(L.De Forest)在帕洛阿托小鎮首次發現了電子管的放大作用,為電子工業奠定了基礎,而今日的帕洛阿托小鎮也已成為矽谷的中心地帶。
1913年:美國麻省理工學院教授萬•布希(V.Bush)領導製造了模擬計算機「微分分析儀」。機器採用一系列電機驅動,利用齒輪轉動的角度來模擬計算結果。
1924年:矽谷之父特曼擔任斯坦福大學教授,對創建HP、成立斯坦福工業園區起到決定性作用
2月,由霍列瑞斯創辦的製表機公司幾經演變,最終更名為國際商用機器公司,即我們今天看到的IBM。
1935年:IBM製造了IBM601穿孔卡片式計算機,該計算機能夠在一秒鍾內計算出乘法運算。
1936年:阿蘭.圖靈發表論文《論可計算數及其在判定問題中的應用》,首次闡明了現代電腦原理,從理論上證明了現代通用計算機存在的可能性,圖靈把人在計算時所做的工作分解成簡單的動作,與人的計算類似,機器需要:(1)存儲器,用於貯存計算結果;(2)一種語言,表示運算和數字;(3)掃描;(4)計算意向,即在計算過程中下一步打算做什麼;(5)執行下一步計算。具體到一步計算,則分成:(1)改變數字可符號;(2)掃描區改變,如往左進位和往右添位等;(3)改變計算意向等。整個計算過程採用了二進位制,這就是後來人們所稱的「圖靈機」。
20多歲的德國工程師楚澤(K.Zuse)研製出了機械可編程計算機Z1,並採用了二進制形式,其理論基礎即來源於布爾代數。
1937年:11月,美國AT&T貝爾實驗室研究人員斯蒂比茲(G. Stibitz)製造了電磁式數字計算機「Model-K」。
1938年:克勞德•艾爾伍德•香農(Claude Elwood Shannon)發表了著名論文《繼電器和開關電路的符號分析》,首次用布爾代數對開關電路進行了相關的分析,並證明了可以通過繼電器電路來實現布爾代數的邏輯運算,同時明確地給出了實現加,減,乘,除等運算的電子電路的設計方法。這篇論文成為開關電路理論的開端。
1939年:元旦,美國斯坦福大學研究生比爾•休利特(B.Hewllet)和戴維•帕卡德(D.Packard)正式簽署企業合夥協議,創辦了Hewllet-Packard(HP)公司,即國內通稱的惠普公司。
9月,貝爾實驗室研製出M-1型計算機。
10月,約翰.阿塔納索夫(John Vincent Atanasoff(1903-1995))製造了後來舉世聞名的ABC計算機的第一台樣機,並提出了計算機的三條原則,(1)以二進制的邏輯基礎來實現數字運算,以保證精度; (2)利用電子技術來實現控制,邏輯運算和算術運算,以保證計算速度; (3)採用把計算功能和二進制數更新存貯的功能相分離的結構。這就是著名的計算機三原則。
1940年:9月,貝爾實驗室在美國達特默思大學演示M—1型機。他們用電報線把安置在校園內的M—1型機和相連,當場把一個數學問題列印出來並傳輸到紐約,M—1型機在達特默思大學的成功表演,首次實現了人類對計算機進行的遠距離控制的夢想。
控制論之父維納提出了計算機五原則,(1)不是模擬式,而是數字式;(2)由電子元件構成,盡量減少機械部件;(3)採用二進制,而不是十進制;(4)內部存放計算表;(5)在計算機內部存貯數據。
1941年:楚澤完成了Z3計算機的研製工作,這是第一台可編程的電子計算機。可處理7位指數、14位小數。使用了大量的真空管。每秒種能作3到4次加法運算,一次乘法需要3到5秒。
1942年:時任美國依阿華州立大學數學物理教授的阿塔納索夫(John V. Atanasoff)與研究生貝瑞(Clifford Berry)組裝了著名的ABC(Atanasoff-Berry Computer)計算機,共使用了300多個電子管,這也是世界上第一台具有現代計算機雛形的計算機。但是由於美國政府正式參加第二次世界大戰,致使該計算機並沒有真正投入運行。
1943年:貝爾實驗室把U型繼電器裝入計算機設備中,製成了M—2型機,這是最早的編程計算機之一。此後的兩年中,貝爾實驗室相繼研製成功了M-3和M-4型計算機,但都與M-2型類似,只是存儲器容量更大了一些。
10月,綽號為「巨人」的用來破譯德軍密碼的計算機在英國布雷契萊庄園製造成功,此後又製造多台,為第二次世界大戰的勝利立下了汗馬功勞。
1944年:8月7日,由IBM出資,美國人霍德華•艾肯(H.Aiken)負責研製的馬克1號計算機在哈佛大學正式運行,它裝備了15萬個元件和長達800公里的電線, 每分鍾能夠進行200次以上運算。女數學家格雷斯•霍波(G.Hopper)為它編制了計算程序,並聲明該計算機可以進行微分方程的求解。馬克1號計算機的問世不但實現了巴貝奇的夙願,而且也代表著自帕斯卡計算機問世以來機械計算機和電動計算機的最高水平。
1946年:2月14日,美國賓西法尼亞大學摩爾學院教授莫契利(J. Mauchiy)和埃克特(J.Eckert)共同研製成功了ENIAC (Electronic Numerical Integrator And Computer):計算機。這台計算機總共安裝了17468隻電子管,7200個二極體,70000多電阻器,10000多 只電容器和6000隻繼電器,電路的焊接點多達50萬個,機器被安裝在一排2.75米高的金屬櫃里,佔地面積為170平方米左右,總重量達 到30噸,其運算速度達到每秒鍾5000次加法,可以在3/1000秒時間內做完兩個10位數乘法。
[晶體管時代:1947——1958]
1947年:12月23號,貝爾實驗室的肖克利(William B. Shockley),布拉頓(John Bardeen),巴丁(Walter H. Brattain)創造出了世界上第一隻半導體放大器件,他們將這種器件重新命名為「晶體管」
從上到下依次為:肖克利,布拉頓和巴丁
1948年:6月10日,香農在《貝爾系統技術雜志》(Bell System Technical Journal)上連載發表了他影像深遠的論文《通訊的數學原理》,並於次年在同一雜志上發表了自己的另一著名論文《雜訊下的通信》。在這兩篇論文中,香農闡明了通信的基本問題,給出了通信系統的模型,提出了信息量的數學表達式,並解決了信道容量、信源統計特性、信源編碼、信道編碼等一系列基本技術問題。兩篇論文成為了資訊理論的奠基性著作,此時尚不足三十歲的香農也成為了資訊理論的奠基人。
12月,ENAIC的兩位締造者共同創辦了世界上第一家電腦公司「埃克特—莫契利計算機公司」(EMCC)。
莫契利
埃克特
1949年:當時尚在美國哈佛大學計算機實驗室的上海籍華人留學生王安向美國國家專利局申請了磁芯的專利。
貝爾實驗室製造了M系列計算機的最後一個型號:M-6,並從此不在涉足計算機的研製與生產。貝爾實驗室所研製的M系列繼電器計算機,是從機械計算機過波到電子計算機的重要橋梁。
9月,「馬克」3號計算機研製成功,「馬克」3號也是霍德華•艾肯研製的第一台內存程序的大型計算機,他在這台計算機上首先使用了磁鼓作為數與指令的存儲器,這是計算機發展史上的一項重大改進,從此磁鼓成為第一代電子管計算機中廣泛使用的存儲器。
英國劍橋大學數學實驗室的Wilkes和他的小組建成了一台存儲程序的計算機EDSAC,輸入輸出設備仍是紙帶。
1950年:東京帝國大學的Yoshiro Nakamats發明了軟磁碟,從而開創了計算機存儲的新紀元。
10月,阿蘭.圖靈發表自己另外一篇及其重要的論文《機器能思考嗎》,從而為人工智慧奠定了基礎,圖靈也獲得了「人工智慧之父」的美譽。甚至有人說在第一代電腦占統治地位的那個時代,這篇論文我們可以把它看作第五代,第六代電腦的宣言書。
1951年:6月14日,當時已在雷明頓—蘭德(Remington-Rand)公司任職的莫契利和埃克特再次聯袂製造的UNIVAC計算機正式移交美國人口普查局使用,從而使電腦走出了實驗室,開始為人類社會服務,從此人類社會進入了計算機時代。
6月,王安創辦了王安實驗室,即王安電腦公司的前身,從此開始了王安電腦傳奇般的歷程。
1952年:1月,由計算機之父,馮•諾伊曼(Von Neumann)設計的IAS電子計算機EDVAC問世。這台IAS計算機總共採用了2300個電子管,運算速度卻比擁有18000個電子管的「埃尼阿克」提高了10倍,馮•諾伊曼的設想在這台計算機上得到了圓滿的體現。
1953年:4月7日,IBM正式對外發布自己的第一台電子計算機 IBM701。並邀請了馮•諾依曼、肖克利和奧本海默等人共150名各界名人出席揭幕儀式,為自己的第一台計算機宣傳。
8月,IBM發布了應用與會計行業的IBM702計算機。
1954年:6月8日,阿蘭.圖靈去世。
IBM推出了中型計算機IBM650,以低廉的價格和優異的性能在市場中獲得了極大的成功,至此,IBM在市場中確立了領導者的地位。
貝爾實驗室使用800隻晶體管組裝了世界上第一台晶體管計算機TRADIC。
1956年:美國達特莫斯大學(Dartmouth)青年助教麥卡錫,哈佛大學明斯基、貝爾實驗室香農(E.Shannon)和IBM公司信息研究中心羅徹斯特(N. Lochester)共同在達特莫斯大學舉辦了一個沙龍式的學術會議,他們邀請了卡內基—梅隆大學紐厄爾和赫伯特•西蒙、麻省理工學院塞夫里奇(O. Selfridge)和索羅門夫(R.Solomamff),以及IBM公司塞繆爾(A.Samuel)和莫爾(T.More)。這就是著名的「達特莫斯」會議。在經過充分的討論後,他們首次提出了「人工智慧」這一術語,從而標志著人工智慧作為一門新興學科的出現。
9月,IBM的一個工程小組向世界展示了第一台磁碟存儲系統IBM 350 RAMAC(Random Access Method of Accounting and Control)
1957年:8月,「數字設備公司」(簡稱DEC)在美國波士頓成立。創立者是來自於麻省理工學院的肯•奧爾森(K.Olsen)。此後的數十年中,DEC公司依靠自己的PDP系列,開創了小型機時代。
10月,諾依斯(N. Noyce)、摩爾(R.Moore)、布蘭克(J.Blank)、克萊爾(E.Kliner)、赫爾尼(J.Hoerni)、拉斯特(J.Last)、羅伯茨(S.Boberts)和格里尼克(V.Grinich)共同從晶體管之父肖克利的實驗室出走,創辦了仙童(fairchild)公司,這就是歷史上著名的「八天才叛逆」,從此,才有了我們熟悉的intel, AMD,IDT等等一大批我們熟知的企業。
八天才叛逆的兩個重要人物,諾里斯和摩爾。
1958年:11月,IBM推出了自己的IBM709大型計算機,這時IBM公司自IBM701以來性能最為優秀的電子管計算機,但同時它也是IBM最後一款電子管計算機。

[集成電路時代:1959——1970]
1959年:2月6日, 來自曾開發出第一台晶體管收音機的TI公司的基爾比(J.Kilby) 向美國專利局申報專利「半導體集成電路」。
7月30日,仙童公司向美國專利局申請專利「半導體集成電路」
1960年:麻省理工學院教授約瑟夫•立克里德(J.Licklider)發表了著名的計算機研究論文《人機共生關系》,從而提出了分時操作系統的構想,並第一次實現了計算機網路的設想。
1962年:供職於藍德公司的保羅•巴蘭發表了一篇具有里程碑式意義的學術報告《論分布式通信》,在文中他首次提出了「分布式自適應信息塊交換」,這就是我們現在稱之為「分組交換」的通訊技術。
1963年:8月,控制數據公司(CDC)的西蒙•克雷(S. Cray)博士帶領自己的研發小組研製成功CDC6600巨型機,CDC6600仍屬於第二代電腦,共安裝了35萬個晶體管。
1964年: 4月7日,在IBM成立50周年之際,由年僅40歲的吉恩•阿姆達爾(G. Amdahl)擔任主設計師,歷時四年研發的IBM360計算機問世,標志著第三代計算機的全面登場,這也是IBM歷史上最為成功的機型。
1965年:DEC公司推出了PDP-8型計算機,標志著小型機時代的到來。
當時尚在仙童公司的摩爾發表了一篇僅有三頁篇幅的論文,這就是對今後半導體發展有著深遠意義的「摩爾定律」。
1966年:時任美國國防部高級研究規劃屬(ARPA)信息處理技術辦公室(IPTO)主管的鮑伯•泰勒啟動了「阿帕」(ARPA)網的研究計劃。雖然他本人在事後一直強調「阿帕」網本身不是用於軍事目的,但是他所在的部門卻是冷戰時期的產物。
1968年:IBM公司首次提出「溫徹斯特/Winchester」技術,探討對硬碟技術做重大改造的可能性。
4月,「通用數據公司」(簡稱DGC)成立,創辦人為從DEC離職的PDP-8設計師卡斯特羅。
7月18日,從仙童公司辭職的戈登.摩爾(Gordon.Moore),羅伯特.諾伊斯(Robert.Noyce),威廉.肖克利(William.Shockley)共同創立了Intel公司,從此為計算機的發展和普及做出了不可磨滅的貢獻。
12月9日,美國加利福尼亞大學的恩格巴特(Douglas Englebart)博士發明了世界上第一隻滑鼠。它的工作原理即通過底部小球的滾動帶動樞軸轉動,並帶動變阻器改變阻值來產生位移信號,信號經計算機處理,屏幕上的游標就可以移動。恩格巴特博士設計滑鼠的初衷就是想通過這種簡便的操作方式來代替繁瑣的鍵盤操作,但是在滑鼠誕生最初的十多年中人們並沒有認識到這種操作方式的簡便性,直到1984年蘋果Macintosh的誕生才改變了人們的陳舊觀念。
(另有一種說法為恩格巴特博士於1964年發明了世界上第一隻滑鼠,並於1968年的IEEE會議上正式對外公布了其發明。)
1969年:DGC公司推出了自己的小型機Nova,成功的打入了一直被DEC把持的小型機市場,並成為當年最為紅火的新興企業。
貝爾實驗室的ken Thompson,Dennis Ritchie在一部PDP-7上開發了Unix操作系統。
5月1日,桑德斯(Jerry Sanders)從仙童公司辭職,並利用十萬美元創立了AMD公司。
10月29日,阿帕網美國加州大學洛杉磯分校(UCLA)節點與斯坦福研究院(SRI)節點實現了第一次分組交換技術的遠程通訊,這也標志著互聯網的正式誕生。
1970年:首次提出「兼容性」概念的IBM360之父吉恩•阿姆達爾(G. Amdahl)由於IBM否決了繼續開發大型機的計劃而離開了IBM公司,並創立了Amdahl公司,開始在大型機領域向IBM發出挑戰。雖然在此後不久他就喪失了對公司的控制權,但是他又接連創辦了三步曲、Grid公司和CDS公司,可是均宣告失敗。阿姆達爾本人最終病逝於1996年。
10月,美國施樂(Xerox)公司在今天矽谷的帕洛阿托成立了Palo Alto Research Center(PARC)研究中心,更為重要的是施樂並沒有為來到這里的科學家制定任何地研究計劃,而是讓他們自由得發揮。在此後的幾年中,PARC誕生了乙太網、滑鼠、面相對象、圖標、菜單、視窗等等一系列改變今後計算機發展方向的全新概念,並間接孵化了Windows、Office、Macintosh等劃時代的軟體作品,從其間走出的科學家還創立了Adobe、3Com、Novell等等改變IT世界格局的企業。

[微處理器時代:1971——1979]
1971年:來自《電子新聞》的記者唐·赫夫勒(Don Hoefler)依據半導體中的主要成分硅命名了當時帕洛阿托地區,矽谷由此得名
1月,INTEL的特德.霍夫研製成功了第一枚能夠實際工作的微處理器4004,該處理器在面積約12平方毫米的晶元上集成了2250個晶體管,運算能力足以超過ENICA。Intel於同年11月15日正式對外公布了這款處理器。
1972年:曾經開發了Unix操作系統的Dennis Ritchie領導開發出C語言。
原CDC公司的西蒙•克雷(S. Cray)博士獨自創立「克雷研究公司」,專注於巨型機領域。
1973年:5月22日,由施樂PARC研究中心的鮑伯·梅特卡夫(Bob Metcalfe)組建的世界上第一個個人計算機區域網絡--ALTO ALOHA網路開始正式運轉,梅特卡夫將該網路改名為「乙太網」。
1974年:
4月1日,Intel推出了自己的第一款8位微處理晶元8080。
12月,電腦愛好者愛德華•羅伯茨(E.Roberts)發布了自己製作的裝配有8080處理器的計算機「牛郎星」,這也是世界上第一台裝配有微處理器的計算機,從此掀開了個人電腦的序幕。
1975年:克雷完成了自己的第一個超級計算機「克雷一號」(CARY-1),實現了每秒一億次的運算速度。該機佔地不到7平方米,重量不超過5噸,共安裝了約35萬塊集成電路,同時這也標志著巨型機跨進了第三代電腦的行列。
7月,比爾•蓋茨(B.Gates)在成功為牛郎星配上了BASIC語言之後從哈佛大學退學,與好友保羅.艾倫(Paul Allen)一同創辦了微軟公司,並為公司制定了奮斗目標:「每一個家庭每一張桌上都有一部微型電腦運行著微軟的程序!」
1976年:4月1日,斯蒂夫.沃茲尼亞克(Stephen Wozinak)和斯蒂夫.喬布斯(Stephen Jobs)共同創立了蘋果公司,並推出了自己的第一款計算機:Apple-Ⅰ。
6月,美國伊利諾斯大學的兩位數學家沃爾夫岡•哈肯(W.Haken)和肯尼斯•阿佩爾(K. Apple)利用計算機成功的證明了困擾世界數學界長達100多年的「四色定理」
(註:四色定理在1852年被提出,即任何地圖均可由四種顏色組成就能區分所有兩相鄰的國家和地區)
9月,施振容創立宏基公司。
10月,雅達利公司推出了世界上第一款3D電子游戲《夜行車手》(Night Driver),游戲只有黑白兩色,採用第一人稱視角。
1977年:6月,拉里.埃里森(Larry Ellison)與自己的好友Bob Miner和Edward Oates一起創立了甲骨文公司(Oracle Corporation)。
1979年:6月,鮑伯·梅特卡夫離開了PARC,並同Howard Charney、Ron Crane、Greg Shaw和 Bill Kraus組成一個計算機通信和兼容性公司,這就是現在著名的3Com公司。

[PC時代一 :1980——1985]
1980年:年初,當時尚不知名的Novell公司推出了NetWare網路操作系統。
9月30日,DEC、Intel和Xerox共同發布了「乙太網」技術規范,這就是現在著名的乙太網藍皮書。
1981年:7月,沈望傅創立了創新科技公司。
8月12日,經過了一年的艱苦開發,由後來被IBM內部尊稱為PC機之父的唐•埃斯特奇(D.Estridge)領導的開發團隊完成了IBM個人電腦的研發,IBM宣布了IBM PC的誕生,由此掀開了改變世界歷史的一頁。
8月12日,微軟推出來MS-DOS 1.0版。
1982年:一名年僅15歲的少年通過計算機網路闖入了「北美空中防務指揮系統」,這是首次發現的從外部侵襲的網路事件。這個年輕人就是後來被判入獄的世界頭號黑客,被美國聯邦法院宣判終生不得接觸計算機產品的凱文.米特尼克。他的另一件「事跡」就是在1994年的時候向聖迭戈超級計算機中心發動進攻,將整個互聯網置於危險的境地。
2月,康尼恩(R.Canion)、史蒂麥克(G.Stimac)和巴雷斯(H.Barnes)共同成立了康柏(Compaq)公司。
2月, Intel發布80286處理器。時鍾頻率提高到20MHz,並增加了保護模式,可訪問16M內存。支持1GB以上的虛擬內存。每秒執行270萬條指令,集成了134000個晶體管。
9月29日,3Com公司推出了世界上第一款網卡-EtherLink網路介面卡,這也是世界上第一款應用於IBM-PC上的ISA介面網路適配器。
11月,康柏公司推出了攜帶型PC機Portable,這也是第一台非IBM製造的PC兼容機。
1983年:1月,蘋果公司推出了研製費用高達5000萬美元的麗薩(Lisa)電腦,這也是世界上第一台商品化的圖形用戶界面的個人計算機,同時這款電腦也第一次配備了滑鼠。
5月8日,IBM推出了IBM PC的改進型號IBM PC/XT,並為其內置了硬碟。
1984年:邁克爾•戴爾創立了DELL公司。
聯想公司成立。
來自英國的Adlib Audio公司推出了第一款音效卡:魔奇音效卡,從而讓PC擁有了真正的發聲能力。
1月24日,蘋果公司推出了劃時代的Macintosh計算機,不僅首次採用了圖形界面的操作系統,並且第一次使個人計算機具有了多媒體處理能力。
8月14日,IBM推出了採用intel 80286處理器的IBM PC/AT電腦。
年底,康柏開始開發IDE介面。
1985年:Philips和Sony合作推出CD-ROM驅動器。
ATI(Array Technology Instry)成立。
7月,intel公司推出了計算機歷史上有著舉足輕重地位的80386處理器,這也是intel公司的第一枚32位處理器。
11月,在經歷了多次延期之後,微軟公司終於正式推出了Windows操作系統。
[PC時代二:1986——1994]
1986年:9月,康柏公司第一次領先於IBM推出桌上型386個人電腦Deskpro PC,這在當時引起了不小的轟動。
同月,Amstrad Announced發布便宜且功能強大、面向家庭設計的計算機Amstrad PC 1512。該機具有CGA圖形適配器、512KB內存、8086處理器20兆硬碟驅動器,並採用了滑鼠器和圖形用戶界面。
1987年:4月2日,IBM推出PS/2系統。最初基於8086處理器和老的XT匯流排。後來過渡到80386,開始使用3.5英寸1.44MB軟盤驅動器。引進了微通道技術,這一系列機型在市場中取得了巨大成功,累計出貨量達到200萬台。
11月,微軟推出了Windows 2.0版。相比於上一個版本,微軟加入了動態數據交換和覆蓋式窗口等先進技術。
1988年:11月2日,由 23歲研究生羅伯特•莫里斯(R.T.Morris)編制的「蠕蟲」病毒在互聯網上大規模發作,這也是互聯網第一次遭受病毒的侵襲,從此,計算機病毒逐漸傳播開來。
1989年:4月10 日,英特爾公司在拉斯維加斯電腦大展上首度發表集成有120萬晶體管的486處理器。
4月,華碩(ASUS)公司在台灣成立。
11月,SoundBlast Card音效卡正式發布。
1990年:蘋果公司聯合Motorola和IBM公司一同開發了基於RISC結構的微處理器PowerPC,為的就是能夠同Intel公司的X86系列處理器相抗衡。
3月24日,因患癌症,王安病逝於美國馬薩諸塞州立總醫院。
5月5日, 紐約地方法院正式開庭,判處88年「蠕蟲」病毒製造者莫里斯3年緩刑,罰款1萬美元和400小時公益勞動。
5月22日,微軟宣布推出Windows 3.0操作系統,並在年底創下銷售100萬套的紀錄。當時的Windows 3.0操作系統提供了對多媒體,網路等眾多最先進技術的支持,從而被成為軟體技術的一場革命。
。。。。。。。。。。。。。。。。。。。。。。。

Ⅳ 地圖著色演算法,該演算法中,要能證明四色定理,而不是運用

起碼需要10種顏色。

Ⅵ C語言:四色填圖


著名的四色定理是指出任何平面區域圖均可用四種顏色著色,使相鄰區域著不同的顏色。本程序對給定的區域圖找出所有可能的不超過四種顏色的著色方案。程序中用 1~4 表示四種顏色。要著色的 N 個區域用 0~N一1編號,區域相鄰關系用 adj[][] 矩陣表示,矩陣的 i 行 j 列的元素為 1 ,表示區域 i 與區域 j 相鄰;矩陣的 i 行 j 列的元素為 0 ,表示區域 i 與區域 j 不相鄰。數組 color[] 用來存儲著色結果, color[i] 的值為區域 i 所著顏色。