(這個筆記大致取材於AP325第一章,但包含了一些關於遞迴更基礎與更詳盡的解說) 「遞迴是大事化小,要記得小事化無。」 「暴力或許可以解決一切,但是可能必須等到地球毀滅。」 「遞迴搜尋如同末日世界,心中有樹而程式(城市)中無樹。」 本章介紹遞迴函數的基本方法與運用,也介紹使用窮舉暴搜的方法。
5/6/2024這是一份針對程式上機考試與競賽的教材,特別是APCS實作考試,325是3-to-5的意思,這份教材主要目標是協助已經具有APCS實作三級分程度的人能夠進步到5級分。AP325先有C++版本,此為Python版本。APCS實作考試每次出4題,每題100分,三級分是150 ~ 249分,四級分250 ~ 349分,而350分以上是五級分。由於題目的難度排列幾乎都是從簡單到難,因此,三級分程度大概是會做前兩題,而要達到五級分大概是最多只能錯半題,所以可以簡單的說,要達到四五級就是要答對第三第四題。根據過去的考題以及官網公告的成績說明,前兩題只需要基本指令的運用,包括:輸入輸出、運算、判斷式、迴圈、以及簡單的陣列運用,而第三與第四題則涉及常見的資料結構與演算法。以往程式設計的課程大多只在大學,以一般大學程式設計教科書以及大學資訊科系的課程來看,第三四題所需要的技術大概包含程式設計課的後半段以及資料結構與演算法的一部份,這就造成學習者在尋找教材時的困難,因為要把資料結構與演算法的教科書內容都學完要花很多時間。另外一方面,APCS實作考試的形式與題型與程式競賽相似,程式競賽雖然網路上可以找到很多教材與資源,但是範圍太廣而且難度太深,而且多半是以英文撰寫的,對三級分的程式初學者來說,很難自己裁剪。這份教材就是以具有APCS實作題三級分的人為對象,來講解說明四五級分所需要的解題技術與技巧,涵蓋基礎的資料結構與演算法,它適合想要在APCS實作考試拿到好成績的人,也適合競賽程式的初學者,以及對程式解題有興趣的人。如果你是剛開始學習程式,這份教材應該不適合,建議先找一本基礎程式設計的教科書或是教材,從頭開始一步一步紮實的學習與做練習。也可參考筆者為初學者寫的影片與講義PythAPCS123 的YouTube撥放清單 以及 PythAPCS123講義所在位置。APCS相關教學資源也可以到臉書 APCS實作題檢測社團 中尋找。
4/22/2024「前綴和應該怎麼做呀?我煩到好像要死掉了!」 「錢墜河跟鑰匙掉了都一樣,撿起來就好了呀!」 同場加映「單調隊列」: 「小明很喜歡程式比賽,如果有學長姐厲害到小明難以超越,那沒關係,小明在學校還是有出頭之日,因為學長姐會比他先畢業。但如果在小明之後新進來一位他無法超越的學弟妹,那完蛋了,小明在該校沒有什麼機會獨領風騷了,因為他會先畢業。」
4/7/2024我們以1. Two Sum來說明示範Python常用的搜尋技巧,題目非常簡單:給一個整數陣列nums以及一個整數target,請找出兩個元素nums[i]與nums[j],滿足nums[i]+nums[j]=target。
1/25/2024or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up