導航:首頁 > 源碼編譯 > 新編實用演算法分析與程序設計

新編實用演算法分析與程序設計

發布時間:2022-10-23 16:23:13

① 參加ACM競賽需要用的參考書

ACM國際大學生程序設計競賽:知識與入門.pdf

鏈接: https://pan..com/s/19OY2FJUkk4RhW5WTsPkwfQ

?pwd=rusj 提取碼: rusj

《ACM國際大學生程序設計競賽:知識與入門》適用於參加ACM國際大學生程序設計競賽的本科生和研究生,對參加青少年信息學奧林匹克競賽的中學生也很有指導價值。


演算法設計與程序實現:java,100元的具體劃分方案,可選面值有1元,10元,20元,50元,100元.

for( int a=0,loopCountA=100/100; a<=loopCountA; a++ )
for( int b=0,loopCountB=(100-a*100)/50; b<=loopCountB; b++ )
for( int c=0,loopCountC=(100-a*100-b*50)/20; c<=loopCountC; c++ )
for( int d=0,loopCountD=(100-a*100-b*50-c*20)/10; d<=loopCountD; d++ )
for( int e=0,loopCountE=(100-a*100-b*50-c*20-d*10)/1; e<=loopCountE; e+=10 )
if( (a*100+b*50+c*20+d*10+e)==100 )
System.out.println("1元:"+e+"張;10元:"+d+"張;20元:"+c+"張;50元:"+b+"張;100元:"+a+"張。");

改進了下,速度快了一些。

③ 誰能推薦一些關於VC++和Matlab的原版書

[精華] 提供一些c書下載地址! 需要的朋友來~~

--------------------------------------------------------------------------------

http://www.chinaunix.net 作者:hancang 發表於:2006-03-16 22:35:15
【發表評論】【查看原文】【C/C++討論區】【關閉】

C++編程思想——C++的神奇書籍 13.82 MB
·本書作者根據自己學習C++的親身體會及多年教學經驗,用簡單的例子和簡練的敘述講解C++編程,別具特色。 全書共分十八章,內容涉及對象的演化、數據抽象、隱藏實現、初始化與清除、函數重載與預設參數、輸入輸出流介紹、常量、內聯函數、命...

錢能C++程序設計教程 6.8 MB
·錢能C++程序設計教程雖然是很老的書,不過總算是國產書中質量不錯中的一本,適合C++初學者....

The C++ Standard Library 4.24 MB
·雖然也是老書,但是夠經典,:-) Programming with the C++ Standard Library can certainly be difficult, but Nicolai Josuttiss The...

C++PrimerPlus 4thEdition 4.34 MB
·The fourth edition presents the ANSI C++ standard beginning with a discussion of the essential elements of C++ program...

C++ Primer 中文版(第三版)完全版 3.81 MB
·C++ Primer的第三版結合了Stanley Lippman的實踐經驗和Josée Lajoie對於ANSI/ISO標准C++的深入理解。這本指導書的第三版已經被重新改寫過,以便更加精確地講述標准C++的特性和用法。在本書中,對於C...

Exceptional C++ 351 KB
·本書詳細地討論了如何編寫健壯高效的代碼以及模塊設計技術。本書採用了自問自答的語言風格,它討論了實際程序設計中普遍存在的,又非常不易察覺的問題,並且進行了深刻的分析,提出了具有廣泛意義的解決方案。本書值得每個想成為優秀c++程序員的人閱讀...

Inside the C++ Object Model 2003-12-17 741 KB 378
·Bestselling author Stanley B. Lippmans Inside the C++ Model provides valuable insight into some of the internal...

Secure Programming Cookbook for C and C++ 1.34 MB
·Secure Programming Cookbook for C and C++...

The C++ Programming Language 3rdEdition 3.99 MB
·In this brand-new third edition of The C++ Programming Language, author Bjarne Stroustrup, the creator of C++, ...

C-C++ 最佳編程指南 41.28 MB
·C-C++ 最佳編程指南...

上述書籍下載地址是
http://newzone.vicp.net/softdown/SoftList/Catalog_36_SoftTime_Desc_1.html

深度探索C++對象模型 7.86 MB

高質量C++編程指南 326 KB

C與C++中的異常處理 53 KB

C++ Primer 題解 6.57 MB 0

Effective C++中文版 255 KB

Essential C++中文版(全) 7.88 MB

C++視頻學習(RM) 1200 MB

C++沉思錄 PDF版 7.46 MB

Visual C++ 運行庫參考手冊 8.43 MB

Visual C++ 6.0 資料庫編程大全 6 10.86 MB

Visual C++經典 13.53 MB

Visual C++編程技巧 241 KB 896

Optimizing C++ 370 KB 9976

數據結構 C++ 語言描述 20.88 MB

C++ In Action 1.51 MB

Visual.C++技術內幕 78.57 MB

C++.Primer.3rd.Edition 中文完美版 4.5 MB

上述書籍去
http://www.sron.net裡面找吧~~
:em17: :em17: :em17: :em11: :em11: :em11:
找到好電子書也告訴我啊~~

--------------------------------------------------------------------------------
1.vc++技術內幕第四版 (潘愛民)
ftp://210.32.157.56/課件/c++primer/vc++技術內幕IV(潘愛民).rar

2.C++經典對話系列
中文:http://www.jka77.com/book/cvst_cn.chm

3.MFC Windows 程序設計(第二版)
英文版:http://www.jka77.com/book/progmfc2.chm
中文版:暫無,製作中...

4.Effective C++中文版:
http://dlb.pchome.net/development/reference/effectiveCplus.zip

5.More Effective C++中文版-zhc譯
http://cable.pchome.net/development/reference/MEC0410.zip

6.More Effective C++中文版-候捷譯
http://www.nethovel.com/resources/MoreEffectiveC++(WQ).zip

7.Essential C++中文版(全)-候捷譯
http://www.nethovel.com/resources/Essential%20C++中文版(全).rar

8.深入淺出MFC 2/e
http://218.30.21.125:8084/ebook/programme/mfc2e.zip

9.代碼大全中文版
http://www.delphidevelopers.com/docs/tecsubject/cc/CodeComplet110.zip

11.C++經典對話系列
中文:http://www.jka77.com/book/cvst_cn.chm

12.MFC Windows 程序設計(第二版)
英文版:http://www.jka77.com/book/progmfc2.chm
中文版:暫無,製作中...

13.數據結構 C++ 語言描述(中文版)
http://www.code-labs.com/manual/c_c015.zip

14.Java編程思想中文版
ftp://202.118.72.12/pub/doc-book/Java/Java編程思想.zip

15.C++標准庫英文版
ftp://166.111.64.4/incoming/新文件夾/f/The%20C++%20Standard%20Library(with%20TOC).pdf

16.Windows核心編程
英文:http://www.fmdstudio.net/book/prgapps4.zip

17.TCP-IP詳解卷1:協議
ftp://202.204.4.161/學習資料/TCPIP/TCP-IP詳解卷1:協議.pdf

18.TCP-IP詳解卷2:實現
ftp://202.204.4.161/學習資料/TCPIP/TCP-IP詳解卷3:TCP事務協議,HTTP,NNTP.pdf

19.TCP-IP詳解卷3:TCP事務協議
ftp://202.204.4.161/學習資料/TCPIP/TCP-IP詳解卷2:實現.pdf

20.實用演算法的分析與程序設計
ftp://202.204.8.10/[4]%20編程資源/[%20書籍資料%20]/[演算法與數據結構]/實用演算法的分析與程序設計.rar

21.vc++技術內幕第四版 (潘愛民)
ftp://210.32.157.56/課件/c++primer/vc++技術內幕IV(潘愛民).rar

22.C++ Primer英文版:
http://computerstep.w18.net/C/C++%20Primer.zip

23.Effective C++中文版:
http://dlb.pchome.net/development/reference/effectiveCplus.zip

24.More Effective C++中文版-zhc譯
http://cable.pchome.net/development/reference/MEC0410.zip

25.More Effective C++中文版-候捷譯
http://www.nethovel.com/resources/MoreEffectiveC++(WQ).zip

26.Essential C++中文版(全)-候捷譯
http://www.nethovel.com/resources/Essential%20C++中文版(全).rar

27.Programming Windows程式開發設計指南-Petzoldi著 余孟學 譯
中文版:http://www.nethovel.com/resources/ProgrammingWindows_tw.chm
英文版:http://www.nethovel.com/resources/Petzoldi.chm

28.WinAsm32匯編教程- Iczelion
http://www.nethovel.com/resources/winasm.chm

29.Windows 95 程序設計指南-候捷譯
http://www.nethovel.com/resources/win95adg.zip

30.Thinking in C++ 2nd Edition(C++編程思想)
英文版:http://www.nethovel.com/resources/ThinkinginC++.zip
中文版:http://www.dingbing.com/book/thinkc.zip

31.人月神話-中文版
http://www.goodassister.com/book/rysh.pdf

32.The C++ Programming Language英文
http://computerstep.w18.net/C/The%20C++%20Programming%20Language.rar

33.VC技術內幕第五版 http://www.helpwork.com/downdata/book/programming/vc/book/vc++2/invcpp5.chm

34.com技術內幕
http://www.helpwork.com/book/html/user/download.asp?id=1123

35.com+技術內幕
http://www.helpwork.com/book/html/user/download.asp?id=952

36.新編 Windows API參考大全
http://www.4046.com/nnsrc/down/WindowsAPIdq.rar

37.The C programming Language // By Brian W. Kernighan and Dennis M. Ritchie
下載地址:http://www.jka77.com/book/The_C_programmin.chm

38.C語言編程手冊
下載地址:http://www.jka77.com/book/CL.chm

39.Delphi 7高效資料庫程序設計
By 李維
下載地址:http://www.codestudy.net/book/download.asp?id=1163&;sort=5

40.Windows網路編程(第2版)
By Anthony Jones,Jim Ohlund 清華大學出版社
下載地址:英文版:http://www.guxiang.com/epubcn/readings/diannaotushu/500/download/1107/network_prog_for_win_2nd.zip

41.Windows2000編程技術內幕
By Mickey Williams 機械工業出版社
下載地址:ftp://ftp.frontfree.net/Pub/Books/C&;C++/VC/Windows2000編程技術內幕.rar

42.數據倉庫
By W.H.Inmon 清華大學出版社
下載地址1:http://tips.9hao.com/vvbksd/20011120/數據倉庫.zip
下載地址2: ftp://ftp.math.nankai.e.cn/Ebook/China-pub/chinapub_computerscience_multimedia/ComputerScience/%CA%FD%BE%DD%B2%D6%BF%E2/

43.編碼的奧秘
By Charles Petzold 機械工業出版社
下載地址:ftp://ftp.math.nankai.e.cn/Ebook/China-pub/chinapub_computerscience_multimedia/ComputerScience/%B1%E0%C2%EB%B5%C4%B0%C2%C3%D8/

44.編譯原理及實踐
By Louden, K.C 機械工業出版社
下載地址:ftp://ftp.math.nankai.e.cn/Ebook/China-pub/chinapub_computerscience_multimedia/ComputerScience/%B1%E0%D2%EB%D4%AD%C0%ED%BC%B0%CA%B5%BC%F9/

45.Inside C++ Object Model(深度探索C++對象模型)
By Lippman 候捷譯
下載地址:http://www.jka77.com/book/inside-the-cpp-object-model.pdf

46.C++標准程序庫
By Josuttis
下載地址1:http://www.codestudy.net/book/download.asp?id=1205&;sort=5
下載地址2: ftp://ftp.math.nankai.e.cn/Ebook/C_C++/The Cpp Standard Library.pdf

47.STL源碼剖析
By 候捷
下載地址:ftp://ftp.math.nankai.e.cn/Ebook/C_C++/STL源碼剖析--侯捷.pdf

48.C++批判(第三版) -看看C++的壞話!
By I don't know
下載地址:http://www.jka77.com/book/CPPPP.pdf

49.程序設計實踐
下載地址:ftp://ftp.math.nankai.e.cn/Ebook/China-pub/chinapub_computerscience_multimedia/%B3%CC%D0%F2%C9%E8%BC%C6%CA%B5%BC%F9/

50.c++沉思錄
By Andrew Koenig Barbara Moo 人民郵電出版社
下載地址:http://www.codestudy.net/book/download.asp?id=1261&;sort=5

51.C++Builder4技術內幕 (這本書俺不知道好不好)
By I don't Know
下載地址:http://www.codestudy.net/book/download.asp?id=1254&;sort=5

52.下面兩本書一般大家硬碟里都有的吧,而且很老了,但是為了全面,就提上來吧
(1)Windows 95 程式設計指南 - 候捷
下載地址:http://jjhou.csdn.net/win95-a-developers-guide.pdf
(2)Windows 95 系統程式設計大奧秘 - 候捷
下載地址:http://jjhou.csdn.net/windows95-system-programming-secrets.pdf

53. 中國大網路全書·數學
下載地址:ftp://ftp.math.nankai.e.cn/Ebook/中國大網路全書/中國大網路全書·數學.pdf

54、4.0M Bjarne Stroustrup - The C++ Programming Language
http://www.u-n-f.com/books/archive/The%20C++%20Programming%20Language.tar.gz

55、1.0M Richard Stevens - TCP-IP Illustrated
http://www.u-n-f.com/books/archive/TCP-IP%20Illustrated.tar.gz

56、4.5M Randall Hyde - Art Of Assembly
http://www.u-n-f.com/books/archive/Randall%20Hyde%20-%20Art%20Of%20Assembly.tar.gz

57、2.1M M. Abrash - Zen of Graphics Programming
http://www.u-n-f.com/books/archive/M.%20Abrash%20-%20Zen%20of%20Graphics%20Programming.zip

58、249k Kernighan and Ritche - The C Programming Language
http://www.u-n-f.com/books/archive/Kernighan%20and%20Ritchie%20-%20The%20C%20Programming%20Language.zip

59、3.3M Bruce Schneier - Applied Cryptography
http://www.u-n-f.com/books/archive/Bruce%20Schneier%20-%20Applied%20Cryptography.zip

60、php4_Grundlagen_und_Profiwissen
http://www.u-n-f.com/books/archive/lamp/PHP4_Grundlagen_und_Profiwissen.pdf

61.《C++ Builder高級編程技術》
http://www.dingbing.com/book/builder.zip

62.《VC++ 6.0 TLR 模板庫參考手冊》
http://www.easysea.com/diannao/download/prog/c/mbkc.zip

63.《BORLAND C++ BUILDER 實用培訓教程》
http://202.101.232.120/book/openfile.asp?id=223&;filename=BC98_CB526.zip

64.《Delphi高級開發指南》
http://www.pcbookcn.com/s10899book/program/delphi/Delphi_gjkfzn_for3.rar

65.《新編 Windows API參考大全》
ftp://book:[email protected]/pro/delphi/新編Windows_API_參考大全.rar

66.《Delphi深度歷險-附書源碼》
http://www.pcbookcn.com/s10899book/program/delphi/Delphi_sdlx_code.rar

67.《Delphi 7高效資料庫程序設計》
ftp://book:[email protected]/pro/delphi/李維的新書《Delphi7高效資料庫程序設計》.rar

68.《Delphi7開發指南》
ftp://book:[email protected]/pro/delphi/delphi7開發指南.rar

69.《Delphi6集成開發環境》
ftp://book:[email protected]/pro/delphi/Delphi6集成開發環境.rar

70.《Delphi6資料庫編程》
ftp://book:[email protected]/pro/delphi/Delphi6資料庫編程.rar

72.《Delphi5.xADO_MTS_COM+高級程序設計篇》
ftp://book:[email protected]/pro/delphi/Delphi5.xADO_MTS_COM+高級程序設計篇.rar

73.《VISUAL BASIC 編程標准》
http://www.dingbing.com/book/vb.zip

74.《Visual Basic6.0中文版程序員指南》
http://www.easysea.com/diannao/download/prog/vb/zwbc.zip

75.《Visual Basic 6.0 控制項參考手冊》
http://www.easysea.com/diannao/download/prog/vb/kjck.zip

76.《Visual Basic 6.0中文版語言參考手冊》
http://www.easysea.com/diannao/download/prog/vb/zwby.zip

77.《Visual Basic 6.0 開發寶典》
http://www.easysea.com/diannao/download/prog/vb/kfbd.zip

78.《Visual Basic 6.0 實例教程》
http://www.easysea.com/diannao/download/prog/vb/sljc.zip

79.《VB 6.0 中文版實用參考手冊》
http://www.easysea.com/diannao/download/prog/vb/syck.zip

80.《Visual Basic 6開發人員指南》
http://www.easysea.com/diannao/download/prog/vb/kfzn.zip

81.《VB 和 SQL Server 編程指南(第五版)》
http://www.easysea.com/diannao/download/prog/vb/bczn.zip

82.《Jbuilder 5 中文幫助》
http://www.pdown.net/download.asp?downid=2&;id=991

83.《JBuilder開發人員指南》
http://youth.dlmu.e.cn/book/list_down.php?bkid=224

84.《Win32的Internet函數說明》
檔案大小: 245248K
http://www.easysea.com/diannao/download/prog/windows/win32int.zip

85.《Visual InterDev 從入門到精通》
http://www.easysea.com/diannao/download/prog/interdev/crmd.wdl

86.《Visual InterDev 6.0 Web 參考手冊 》
http://www.easysea.com/diannao/download/prog/interdev/jsck.zip

87.《Visual InterDev 6.0 Guide 程序員》
http://www.easysea.com/diannao/download/prog/interdev/cxyz.zip

88.《javascript 程序開發手冊》
http://www.cty99.com/Templet/bookdownmore.asp?booktype=script#

89.《JAVA 大全》
http://www.easysea.com/diannao/download/prog/java/cxkf.zip

90.《Visual J++ 6.0 WFC 類庫參考手冊》
http://www.easysea.com/diannao/download/prog/java/lkck.zip

91.《Java聯想(中文)》
http://www.easysea.com/diannao/download/prog/java/lkck.zip

92.《Oracle 8 實用大全》
http://www.easysea.com/diannao/download/prog/oracle/sydq.zip

93.《Microsoft SQL Server 管理員手冊》
http://www.easysea.com/diannao/download/prog/sql/glys.zip

94.《掌握ACCESS開發》
http://www.easysea.com/diannao/download/prog/sql/glys.zip

95.《Oracle Performance Tuning and Optimization》
http://www.oradb.net/book/oracle_pt.zip

96.《Oracle ProC 程序設計》
http://www.oradb.net/book/oracleproc.zip

97.《Oracle8初學者指南》
http://www.easysea.com/diannao/download/prog/oracle/cxzz.zip

98.《RED HAT LINUX 6大全》
http://www.dingbing.com/book/redhatall.zip

99.《RED HAT LINUX 6管理工具》
http://www.dingbing.com/book/redhatman.zip

100.《VC++高級編程》
http://www.easysea.com/diannao/download/prog/c/vcgj.zip

④ 淺談如何在面上中學開展《演算法與程序設計》教學

高中信息技術學科選修模塊《演算法與程序設計》內容枯燥、嚴謹,對於我們學生來說缺乏相關的知識背景,在高中階段才開始學習信息技術課難度大,也容易產生畏難情緒。那麼對於學生來說怎樣才能上好這門課呢?
一、首先教師應根據學生的實際情況,處理教材,分散難點
新課標指出:「學習本模塊旨在使學生進一步體驗演算法思想,了解演算法和程序設計在解決問題過程中的地位和作用;能從簡單問題出發,設計解決問題的演算法,並能初步使用一種程序設計語言編製程序實現演算法解決問題。」演算法是程序設計的靈魂,演算法教學是程序設計語言教學的基礎,程序設計語言教學是演算法教學的必要的延續。
教科版的《演算法與程序設計》,使用的編程語言是VisualBasic6.0。它和大多數程序設計語言書籍一樣,先花大量的篇幅介紹與VB語言開發環境及語法相關的基礎知識和基本概念,而後才開始程序三種基本結構的教學。教師根據學生的實際情況,對教材進行了處理、對內容進行調整,改變了教材中原有知識的邏輯結構順序。這樣學生可以邊用邊學,以用促學。
教師在每節課教學過程中都以簡單有趣的小問題為切入點,通過分析問題、設計演算法、編寫程序、調試運行,讓學生對演算法和程序設計有一個感性的認識,以降低學生的學習難度,並激發學生的學習興趣,觀摩、模仿、嘗試等階段逐漸到學生能獨立操作。開始選擇的例子比較簡單,如「在屏幕上輸出『studyVB』」、「已知三邊之長求三角形面積」、「計算前100個自然數之和」等。在此過程中適當忽略VB的可視化開發環境,其中數據的輸入只要求用inputbox()函數完成,數據的輸出直接用print語句在窗體完成,整個事件只要求由命令按鈕command1_click()來觸發,這樣的目的一方面是減少太多新知識對學生學習演算法思想的干擾,將難點分散,另一方面控制項少的程序也更容易上機調試通過,讓學生體驗成功的喜悅。
二、其次教師應聯系學生的數學知識,進行演算法與程序設計練習
演算法是解決問題的方法和步驟,計算機解決問題,必須嚴格地按步驟進行,這和我們平時解決問題是有區別的。因此在演算法設計中,應將解題的每一步都想清楚,對學生邏輯思維能力要求較高,許多同學剛開始不太適應。因此教師在教學過程中,精選教學案例,聯系學生的數學知識,從學生熟悉的或感興趣的數學問題出發,進行演算法與程序設計的練習。學生剛剛學習過海倫公式,在順序結構和選擇結構的教學中可採用「已知三邊長利用該公式來求三角形的面積」這個例子。因為學生有數學基礎,只要將解題步驟稍加修改就寫出如下演算法:
1.輸入三邊長;
2.求面積;
3.利用海倫公式s=p(p-a)(p-b)(p-c),p=a+b+c2,求出面積s;
4.輸出面積s;
5.結束程序。
根據此演算法編寫好程序,在調試運行中發現如果三邊長為10,10,30時就不會輸出結果。那麼是為什麼呢?學生很快就想到這樣的三條邊是組不成三角形的,怎麼改?自然是輸入的a、b、c要先滿足兩邊之和大於第三邊才能組成三角形的,所以要在第二步之前添加一句,「如果不能同時滿足,就輸出『輸入數據錯誤』,轉5;否則轉2」。通過以上的例子,既體會到了演算法的嚴謹性,學生也學會了順序和選擇兩種結構的演算法描述。
教師還用趣味數學題來激發學生的興趣,如在學習過程中老師通過講解「水仙花數」、「百雞百錢」、「韓信點兵」、「棋盤上的麥粒」、「雞兔同籠」等問題來激發學生的學習興趣,以使大家的積極性得到提高。
三、一題多變,提高學生對知識的理解能力和編程能力
學生固有的認識框框和習慣的思維方式是學好演算法與程序設計的一大障礙。只有多實踐才能體會和認識到計算機解決問題的過程。然而由於課時限制,不可能有太多的時間來進行這方面的訓練。教師如能恰當地運用「一題多變」和「一題多解」等方法,精心選擇一道例題,讓它由淺入深循序變化,引導學生分析和比較,總結解決問題的一般規律,對弄清基本概念,提高解題能力以及培養思維的靈活性都是有益的。例如,對於「求s=1+2+3+4+5+6的一個演算法」就可以拓展以解決一類問題,如s=12+22+32+42+52+62,s=1+12+13+14+15+16,s=1-2+3-4+5-6,s=1×2×3×4×5×6等許多問題。這樣引導學生對比for-next以及do-loop循環的語法及適用情況。通過「一題多變」和「一題多解」的教學手段,使課堂效率得到了大大地提高。
四、教師應授之以漁,教會學生自己調試程序
《演算法與程序設計》模塊是作為計算機應用的技術基礎設置的,不能忽視技術,但我們強調的技術不再是以前那種「軟體說明書」式的操作。實際上對學生來說,犯的錯誤具有共性,主要是標點符號錯誤,比如「:」和「;」,關鍵詞與變數名之間沒有空格,語句書寫不完整,有if沒有endif,有for沒有next,變數名、對象名引用時出現拼寫錯誤等,其實學生只要掌握一點調試、運行程序的方法就能大大提高上機效率。通過訓練學生不但能自己調試程序,更能加深對程序的理解,尤其是到循環結構以後,這種作用就更明顯了,而且這種能力完全可以遷移到今後的學習和生活中去。
新課程目前還處在實驗階段,存在著很大的探索空間。對學生來說,激發他們的學習興趣、提高他們的積極性、不斷進行創新的同時提高教師自身的信息素養水平。教師不再只是教學者,更應該成為研究者和學習者,教師應加強教學反思,才能提高教學水平。

⑤ 奧林匹克信息技術那些基本資料


《全國青少年信息學奧林匹克聯賽培訓教材(中學高級本)》
《全國信息學奧林匹克聯賽 培訓教程》
《演算法藝術與信息學奧賽>
《演算法設計與分析》
.<<實用演算法的分析與程序設計>>

大概著手的一些內容有以下:
程序設計基礎
PASCAL程序基本結構,簡單語句、表達式
read輸入語句,write輸出語句,輸出格式
關系式、邏輯式與布爾數據,選擇結構語句
for循環語句,while循環語句,循環控制
函數和過程
標准函數和過程與自定義函數和過程
函數和過程中的參數及變數作用范圍

數據結構
線性表、隊列和棧的基礎知識
線性表、隊列和棧的程序實現
計算機知識基礎
計算機軟體和硬體基礎知識
計算機中的數、進制的轉化

⑥ 高級演算法設計與分析難嗎

高級演算法設計與分析是難的。演算法設計是計算機專業的范疇,由於面對大量數學符號,需要比較抽象的思維能力,同時需要學好離散數學、數據結構、編譯原理等幾門課。

⑦ 計算方法與程序設計學什麼的

計算機科學與技術專業培養和造就適應會主義現代化建設需要,德智體全面發展、基礎扎實、知識面寬、能力強、素質高具有創新精神,系統掌握計算機硬體、軟體的基本理論與應用基本技能,具有較強的實踐能力,能在企事業單位、政府機關、行政管理部門從事計算機技術研究和應用,硬體、軟體和網路技術的開發,計算機管理和維護的應用型專門技術人才。
本專業學生主要學習計算機科學與技術方面的基本理論和基本知識,接受從事研究與應用計算機的基本訓練,具有研究和開發計算機系統的基本能力。
本科畢業生應獲得以下幾方面的知識和能力:
1.掌握計算機科學與技術的基本理論、基本知識;
2.掌握計算機系統的分析和設計的基本方法;
3.具有研究開發計算機軟、硬體的基本能力;
4.了解與計算機有關的法規;
5.了解計算機科學與技術的發展動態;
6.掌握文獻檢索、資料查詢的基本方法,具有獲取信息的能力。
主要課程:電路原理、模擬電子技術、數字邏輯、數值分析、計算機原理、微型計算機技術、計算機系統結構、計算機網路、高級語言、匯編語言、數據結構、操作系統、資料庫原理、編譯原理、圖形學、人工智慧、計算方法、離散數學、概率統計、線性代數以及演算法設計與分析、人機交互、面向對象方法、計算機英語等。
主要實踐性教學環節:包括電子工藝實習、硬體部件設計及調試、計算機基礎訓練、課程設計、計算機工程實踐、生產實習、畢業設計(論文)。

⑧ 信息學如何備戰省賽

一:知識點
數據結構:
1,單,雙鏈表及循環鏈表
2,樹的表示與存儲,二叉樹(概念,遍歷)二叉樹的
應用(二叉排序樹,判定樹,博弈樹,解答樹等)
3,文件操作(從文本文件中讀入數據並輸出到文本文
件中)
4,圖(基本概念,存儲結構,圖的運算)
數學知識
1,離散數學知識的應用(如排列組合、簡單的圖論,數
理邏輯)
2,數論知識
3,線性代數
4,組合代數
5,計算幾何
二 演算法
1,排序演算法(冒拋法,插入排序,合並排序,快速排
序,堆排序)
2,查找(順序查找,二分發)
3,回溯演算法
4,遞歸演算法
5,分治演算法
6,模擬法
7,貪心法
8,簡單搜索演算法(深度優先,廣度優先),搜索中的
剪枝,A*演算法
9,動態規劃的思想及基本演算法
10,高精度運算
三、ACM競賽的題型分析
競賽的程序設計一般只有16種類型,它們分別是:
Dynamic Programming (動態規劃)
Greedy (貪心演算法)
Complete Search (窮舉搜索)
Flood Fill (不知該如何翻譯)
Shortest Path (最短路徑)
Recursive Search Techniques (回溯搜索技術)
Minimum Spanning Tree (最小生成樹)
Knapsack (背包問題)
Computational Geometry (計算幾何學)
Network Flow (網路流)
Eulerian Path (歐拉迴路)
Two-Dimensional Convex Hull (不知如何翻譯)
BigNums (大數問題)
Heuristic Search (啟發式搜索)
Approximate Search (近似搜索)
Ad Hoc Problems (雜題)
四 ACM競賽參考書
《實用演算法的分析與程序設計》 (吳文虎,王建德著,電子工業出版社,競賽類的黑寶書)
《青少年國際和全國信息學(計算機)奧林匹克競賽指導)――組合數學的演算法
和程序設計》 (吳文虎,王建德著,清華大學出版社,參加競賽組合數學必學)
《計算機演算法設計與分析》 (王曉東編著,最好的數據結構教材)
《數據結構與演算法》 (傅清祥,王曉東編著,我所見過的最好的演算法教材)
《信息學奧林匹克競賽指導――1997-1998競賽試題解析》(吳文虎,王建德著,清華大學出版社,
內容極佳)
《計算機程序設計技巧》 D.E.Kruth著,演算法書中最著名的《葵花寶典》,大師的作品,難度大)
《計算幾何》 (周陪德著,全面介紹了計算幾何)
《ACM國際大學生程序設計競賽試題與解析(一)》 (吳文虎著,清華大學出版社)
數學建模競賽培訓教材 共三本 葉其孝主編
數學模型 第二版 姜啟源
隨機規劃
模糊數學
數據結構
數學建模入門 徐全智
計算機演算法設計與分析 國防科大
五 常見的幾個網上題庫
常用網站:
1)信息學初學者之家:
(2)大榕樹編程世界:~drs/program/default.asp
(3)中國教育曙光網:
(4)福建信息學奧林匹克:
(5)第20屆全國青少年信息學奧林匹克競賽:
(6)第15屆國際青少年信息學奧林匹克競賽:
(7)全美計算機奧林匹克競賽:
(8)美國信息學奧林匹克競賽官方網站:
(9)俄羅斯Ural州立大學:
(10)西班牙Valladolid大學:
(11)ACM-ICPC:
(12)北京大學:
(13)浙江大學:
(14)IOI:
(15)2003年江蘇省信息學奧林匹克競賽夏令營:
(16)
(17)
(18)
(19)
(20) colin_fox/colin_fox

⑨ 參加程序設計競賽應該看哪些書

新編實用演算法分析與程序設計(計算機程序設計競賽權威指導書)

⑩ acm初學者要准備什麼 看什麼書啊

剛剛接觸信息學領域的同學往往存在很多困惑,不知道從何入手學習,在這篇文章里,我希望能將自己不多的經驗與大家分享,希望對各位有所幫助。
一、語言是最重要的基本功

無論側重於什麼方面,只要是通過計算機程序去最終實現的競賽,語言都是大家要過的第一道關。亞洲賽區的比賽支持的語言包括C/C++與JAVA。筆者首先說說JAVA,眾所周知,作為面向對象的王牌語言,JAVA在大型工程的組織與安全性方面有著自己獨特的優勢,但是對於信息學比賽的具體場合,JAVA則顯得不那麼合適,它對於輸入輸出流的操作相比於C++要繁雜很多,更為重要的是JAVA程序的運行速度要比C++慢10倍以上,而競賽中對於JAVA程序的運行時限卻往往得不到同等比例的放寬,這無疑對演算法設計提出了更高的要求,是相當不利的。其實,筆者並不主張大家在這種場合過多地運用面向對象的程序設計思維,因為對於小程序來說這不旦需要花費更多的時間去編寫代碼,也會降低程序的執行效率。

接著說C和C++。許多現在參加講座的同學還在上大一,C的基礎知識剛剛學完,還沒有接觸過C++,其實在賽場上使用純C的選手還是大有人在的,它們主要是看重了純C在效率上的優勢,所以這部分同學如果時間有限,並不需要急著去學習新的語言,只要提高了自己在演算法設計上的造詣,純C一樣能發揮巨大的威力。

而C++相對於C,在輸入輸出流上的封裝大大方便了我們的操作,同時降低了出錯的可能性,並且能夠很好地實現標准流與文件流的切換,方便了調試的工作。如果有些同學比較在意這點,可以嘗試C和C++的混編,畢竟僅僅學習C++的流操作還是不花什麼時間的。

C++的另一個支持來源於標准模版庫(STL),庫中提供的對於基本數據結構的統一介面操作和基本演算法的實現可以縮減我們編寫代碼的長度,這可以節省一些時間。但是,與此相對的,使用STL要在效率上做出一些犧牲,對於輸入規模很大的題目,有時候必須放棄STL,這意味著我們不能存在「有了STL就可以不去管基本演算法的實現」的想法;另外,熟練和恰當地使用STL必須經過一定時間的積累,准確地了解各種操作的時間復雜度,切忌對STL中不熟悉的部分濫用,因為這其中蘊涵著許多初學者不易發現的陷阱。

通過以上的分析,我們可以看出僅就信息學競賽而言,對語言的掌握並不要求十分全面,但是對於經常用到的部分,必須十分熟練,不允許有半點不清楚的地方,下面我舉個真實的例子來說明這個道理——即使是一點很細微的語言障礙,都有可能釀成錯誤:

在去年清華的賽區上,有一個隊在做F題的時候使用了cout和printf的混合輸出,由於一個帶緩沖一個不帶,所以輸出一長就混亂了。只是因為當時judge team中負責F題的人眼睛尖,看出答案沒錯只是順序不對(答案有一頁多,是所有題目中最長的一個輸出),又看了看程序發現只是輸出問題就給了個Presentation error(格式錯)。如果審題的人不是這樣而是直接給一個 Wrong Answer,相信這個隊是很難查到自己錯在什麼地方的。

現在我們轉入第二個方面的討論,基礎學科知識的積累。

二、以數學為主的基礎知識十分重要

雖然被定性為程序設計競賽,但是參賽選手所遇到的問題更多的是沒有解決問題的思路,而不是有了思路卻死活不能實現,這就是平時積累的基礎知識不夠。今年World Final的總冠軍是波蘭華沙大學,其成員出自於數學系而非計算機系,這就是一個鮮活的例子。競賽中對於基礎學科的涉及主要集中於數學,此外對於物理、電路等等也可能有一定應用,但是不多。因此,大一的同學也不必為自己還沒學數據結構而感到不知從何入手提高,把數學撿起來吧!下面我來談談在競賽中應用的數學的主要分支。

1、離散數學——作為計算機學科的基礎,離散數學是競賽中涉及最多的數學分支,其重中之重又在於圖論和組合數學,尤其是圖論。

圖論之所以運用最多是因為它的變化最多,而且可以輕易地結合基本數據結構和許多演算法的基本思想,較多用到的知識包括連通性判斷、DFS和BFS,關節點和關鍵路徑、歐拉迴路、最小生成樹、最短路徑、二部圖匹配和網路流等等。雖然這部分的比重很大,但是往往也是競賽中的難題所在,如果有初學者對於這部分的某些具體內容暫時感到力不從心,也不必著急,可以慢慢積累。

競賽中設計的組合計數問題大都需要用組合數學來解決,組合數學中的知識相比於圖論要簡單一些,很多知識對於小學上過奧校的同學來說已經十分熟悉,但是也有一些部分需要先對代數結構中的群論有初步了解才能進行學習。組合數學在競賽中很少以難題的形式出現,但是如果積累不夠,任何一道這方面的題目卻都有可能成為難題。

2、數論——以素數判斷和同餘為模型構造出來的題目往往需要較多的數論知識來解決,這部分在競賽中的比重並不大,但只要來上一道,也足以使知識不足的人冥思苦想上一陣時間。素數判斷和同餘最常見的是在以密碼學為背景的題目中出現,在運用密碼學常識確定大概的過程之後,核心演算法往往要涉及數論的內容。

3、計算幾何——計算幾何相比於其它部分來說是比較獨立的,就是說它和其它的知識點很少有過多的結合,較常用到的部分包括——線段相交的判斷、多邊形面積的計算、內點外點的判斷、凸包等等。計算幾何的題目難度不會很大,但也永遠不會成為最弱的題。

4、線性代數——對線性代數的應用都是圍繞矩陣展開的,一些表面上是模擬的題目往往可以藉助於矩陣來找到更好的演算法。

5、概率論——競賽是以黑箱來判卷的,這就是說你幾乎不能動使用概率演算法的念頭,但這也並不是說概率就沒有用。關於這一點,只有通過一定的練習才能體會。

6、初等數學與解析幾何——這主要就是中學的知識了,用的不多,但是至少比高等數學多,我覺得熟悉一下數學手冊上的相關內容,至少要知道在哪兒能查到,還是必要的。

7、高等數學——純粹運用高等數學來解決的題目我接觸的只有一道,但是一些題目的敘述背景往往需要和這部分有一定聯系,掌握得牢固一些總歸沒有壞處。

以上就是競賽所涉及的數學領域,可以說范圍是相當廣的。我認識的許多人去搞信息學的競賽就是為了逼著自己多學一點數學,因為數學是一切一切的基礎。

三、數據結構與演算法是真正的核心

雖然數學十分十分重要,但是如果讓三個只會數學的人參加比賽,我相信多數情況下會比三個只會數據結構與演算法的人得到更為悲慘的結局。

先說說數據結構。掌握隊列、堆棧和圖的基本表達與操作是必需的,至於樹,我個人覺得需要建樹的問題有但是並不多。(但是樹往往是很重要的分析工具)除此之外,排序和查找並不需要對所有方式都能很熟練的掌握,但你必須保證自己對於各種情況都有一個在時間復雜度上滿足最低要求的解決方案。說到時間復雜度,就又該說說哈希表了,競賽時對時間的限制遠遠多於對空間的限制,這要求大家盡快掌握「以空間換時間」的原則策略,能用哈希表來存儲的數據一定不要到時候再去查找,如果實在不能建哈希表,再看看能否建二叉查找樹等等——這都是爭取時間的策略,掌握這些技巧需要大家對數據結構尤其是演算法復雜度有比較全面的理性和感性認識。

接著說說演算法。演算法中最基本和常用的是搜索,主要是回溯和分支限界法的使用。這里要說的是,有些初學者在學習這些搜索基本演算法是不太注意剪枝,這是十分不可取的,因為所有搜索的題目給你的測試用例都不會有很大的規模,你往往察覺不出程序運行的時間問題,但是真正的測試數據一定能過濾出那些沒有剪枝的演算法。實際上參賽選手基本上都會使用常用的搜索演算法,題目的區分度往往就是建立在諸如剪枝之類的優化上了。

常用演算法中的另一類是以「相似或相同子問題」為核心的,包括遞推、遞歸、貪心法和動態規劃。這其中比較難於掌握的就是動態規劃,如何抽象出重復的子問題是很多題目的難點所在,筆者建議初學者仔細理解圖論中一些以動態規劃為基本思想所建立起來的基本演算法(比如Floyd-Warshall演算法),並且多閱讀一些定理的證明,這雖然不能有什麼直接的幫助,但是長期堅持就會對思維很有幫助。

四、團隊配合

通過以上的介紹大家也可以看出,信息學競賽對於知識面覆蓋的非常廣,想憑一己之力全部消化這些東西實在是相當困難的,這就要求我們盡可能地發揮團隊協作的精神。同組成員之間的熟練配合和默契的形成需要時間,具體的情況因成員的組成不同而不同,這里我就不再多說了。

五、練習、練習、再練習

知識的積累固然重要,但是信息學終究不是看出來的,而是練出來的,這是多少前人最深的一點體會,只有通過具體題目的分析和實踐,才能真正掌握數學的使用和演算法的應用,並在不斷的練習中增加編程經驗和技巧,提高對時間復雜度的感性認識,優化時間的分配,加強團隊的配合。總之,在這里光有紙上談兵是絕對不行的,必須要通過實戰來鍛煉自己。

大家一定要問,我們去哪裡找題做,又如何檢驗程序是否正確呢?這大可不必擔心,現在已經有了很多網上做題的站點,這些站點提供了大量的題庫並支持在線判卷,你只需要把程序源碼提交上去,馬上就可以知道自己的程序是否正確,運行所使用的時間以及消耗的內存等等狀況。下面我給大家推薦幾個站點,筆者不建議大家在所有這些站點上做題,選擇一個就可以了,因為每個站點的題都有一定的難易比例,系統地做一套題庫可以使你對各種難度、各種類型的題都有所認識。

1、Ural:

Ural是中國學生對俄羅斯的Ural州立大學的簡稱 ,那裡設立了一個Ural Online Problem Set,並且支持Online Judge。Ural的不少題目演算法性和趣聞性都很強,得到了國內廣大學生的厚愛。根據「信息學初學者之家」網站的統計,Ural的題目類型大概呈如下的分布:

題型
搜索
動態規劃
貪心
構造
圖論
計算幾何
純數學問題
數據結構
其它

所佔比例
約10%
約15%
約5%
約5%
約10%
約5%
約20%
約5%
約25%

這和實際比賽中的題型分布也是大體相當的。有興趣的朋友可以去看看。

2、UVA:

UVA代表西班牙Valladolid大學(University de Valladolid)。該大學有一個那裡設立了一個PROBLEM SET ARCHIVE with ONLINE JUDGE ,並且支持ONLINE JUDGE,形式和Ural大學的題庫類似。不過和Ural不同的是,UVA題目多的多,而且比較雜,而且有些題目的測試數據比較刁鑽。這使得剛到那裡做題的朋友往往感覺到無所適從,要麼難以找到合適的題目,要麼Wrong Answer了很多次以後仍然不知道錯在那裡。 如果說做Ural題目主要是為了訓練演算法,那麼UVA題目可以訓練全方位的基本功和一些必要的編程素質。UVA和許多世界知名大學聯合辦有同步網上比賽,因此那裡強人無數,不過你先要使自己具有聽懂他們在說什麼的素質:)

3、ZOJ:

ZOJ是浙江大學建立的ONLINE JUDGE,是中國大學建立的第一個同類站點,也是最好和人氣最高的一個,筆者和許多班裡的同學就是在這里練習。ZOJ雖然也定位為一個英文網站,但是這里的中國學生比較多,因此讓人覺得很親切。這里目前有500多道題目,難易分配適中,且涵蓋了各大洲的題目類型並配有索引,除此之外,ZOJ的JUDGE系統是幾個網站中表現得比較好的一個,很少出現Wrong Answer和Presentation error混淆的情況。這里每月也辦有一次網上比賽,只要是注冊的用戶都可以參加。

說起中國的ONLINE JUDGE,去年才開始參加ACM競賽的北京大學現在也建立了自己的提交系統;而我們學校也是去年開始參加比賽,現在也有可能推出自己的提交系統,如果能夠做成,到時候大家就可以去上面做題了。同類網站的飛速發展標志著有越來越多的同學有興趣進入信息學的領域探索,這是一件好事,同時也意味著更激烈的競爭。

看看這篇文章對你有什麼幫助!我也是ACM初學者!

閱讀全文

與新編實用演算法分析與程序設計相關的資料

熱點內容
自己購買雲主伺服器推薦 瀏覽:419
個人所得稅java 瀏覽:761
多餘的伺服器滑道還有什麼用 瀏覽:189
pdf劈開合並 瀏覽:27
不能修改的pdf 瀏覽:751
同城公眾源碼 瀏覽:488
一個伺服器2個埠怎麼映射 瀏覽:297
java字元串ascii碼 瀏覽:78
台灣雲伺服器怎麼租伺服器 瀏覽:475
旅遊手機網站源碼 瀏覽:332
android關聯表 瀏覽:945
安卓導航無聲音怎麼維修 瀏覽:332
app怎麼裝視頻 瀏覽:430
安卓系統下的軟體怎麼移到桌面 瀏覽:96
windows拷貝到linux 瀏覽:772
mdr軟體解壓和別人不一樣 瀏覽:904
單片機串列通信有什麼好處 瀏覽:340
游戲開發程序員書籍 瀏覽:860
pdf中圖片修改 瀏覽:288
匯編編譯後 瀏覽:491