資源描述:
《搜索算法的優(yōu)化》由會員上傳分享,免費在線閱讀,更多相關內容在教育資源-天天文庫。
1、西南交通大學本科畢業(yè)設計(論文)第II頁安慶四中綜合實踐課程《創(chuàng)新思維-程序設計》(論文)數組簡談年級:7學號:未知姓名:朱榕添指導老師:范江文二零一七年一月摘要數組可以把一大批具有相同性質的數據進行讀取,運算,比用簡單變量處理大量數據要快速和簡單的多。所以編輯程序中數組使用的次數不會太少,和它相關的排序也不會少,靈活運用數組才是得分的訣竅。關鍵詞:數組;排序;13目錄一、一維數組和二維數組1.思想(1)何為一維與二維數組2.應用3.優(yōu)缺點二、數組排序間的轉化1.思想(1)數據排序2.應用3.優(yōu)缺點三、總結四、附錄1.致謝2.
2、參考文獻13一、一維數組和二維數組1.思想(1)何為一維和二維數組數組,顧名思義,就是相同數據類型的元素按一定順序排列的集合。一維數組是由數字組成的結構單一的數組,是二維數組和多維數組的基礎。二維數組則是以數組作為數組元素的數組。2.應用例1:旅館開門【問題描述】旅館里有100個房間,以1至100編號,第一個服務員把所有的房間門都打開了,第二個服務員把所有編號是2的倍數的房間進行“相反處理”……,以后每個服務員都是如此,問當第n個服務員來過后,哪幾扇門是開的?!据斎敫袷健坑晌募oor.in給出輸入數據。第一行有1個正整數n(
3、1≤n≤100)。表示來過幾個服務員?!据敵龈袷健繉㈤_著的門輸出到文件door.out。【輸入樣例】10013【輸出樣例】149162536496481100【分析】本題如果運用整型數組則難以辨別門是否開關,因為一扇門只有倆種狀態(tài),所以采用布爾型可更加快捷簡單程序1:(整型)programdoor;vara:array[1..100]oflongint;i,j,n:longint;beginassign(input,'door.in');reset(input);assign(output,'door.out');rewrit
4、e(output);read(n);fori:=1tondobeginforj:=1tondoifjmodi=0theninc(a{j});end;fori:=1tondoifa{i}mod2=1thenwrite(i,’’);13close(input);close(output);end.那么,能不能采用布爾型以提高時間效率呢?可以發(fā)現,一扇門只有倆種狀態(tài)。于是,我們采用布爾型更加快捷簡單.程序2:(布爾型)programdoor;vara:array[1..100]ofBoolean;i,j,n:longint;begi
5、nassign(input,'door.in');reset(input);assign(output,'door.out');rewrite(output);read(n);fori:=1tondoforj:=itondoifjmodi=0thena{j}:=not(a{j});fori:=1tondoifa{i}thenwrite(i,’’);close(input);13close(output);end.例2:楊輝三角【問題描述】打印n行楊輝三角。【輸入格式】由文件yanghuisanjiao.in給出輸入數據。第一行
6、有1個正整數n(3≤n≤100),表示打印楊輝三角的行數?!据敵龈袷健繉钶x三角輸出到文件yanghuisanjiao.out?!据斎霕永?【輸出樣例】11112113【分析】本題如果運用一維數組則難以打印,因為楊輝三角有很多行,用一維數組推過于緩慢,所以采二維數組可更加快捷簡單程序:programyanghuisanjiao;vara:array[1..10000,1..10000]ofqword;i,j,n:longint;beginassign(input,'yanghuisanjiao.in');reset(inpu
7、t);assign(output,'yanghuisanjiao.out');rewrite(output);readln(n);a[1,1]:=1;a[2,1]:=1;a[2,2]:=1;//單獨處理前兩行writeln('1');writeln('11');fori:=3tondoforj:=1toidobegin13if(j=i)or(j=1)thena[i,j]:=1elsea[i,j]:=a[i-1,j-1]+a[i-1,j];ifj=ithenwriteln(a[i,j])elsewrite(a[i,j],'');
8、end;//一行一行推,同時輸出close(input);close(output);end.3.優(yōu)缺點優(yōu)點:編程復雜度低缺點:有些題目用二維數組過于多余,思維復雜度較高二.數組排序間的轉化1.思想(1)數組間經常有排序題,排序方法有很多種,靈活運用才是得分的關鍵132.應用