2008年1月17日 星期四

Just For Some One

今天
2008/01/18
對全人類不是個什麼大日子

出生就是煩惱

每天早上睡醒照鏡子的時候
也會有煩惱


尤其是到了考試的時候更是...
需要一些東西來解悶



但是我們不得不承認
活著很好
看看這隻貓
如此的...
安祥XD


廢話結束



胡瑋佳生日快樂啦!!!



我們站在時間軸上的同一點
我們的距離有中壢到台中這麼遠
我們的感覺
一個往右
一個往左

或許我們已經毫無關聯

但是
卻因為
就是因為
2008/01/18
就是對全人類這麼不起眼的小日子

但這個日子專屬於妳

還有妳辛苦的家人>///<

Best wish to you

By 笨蛋(看見妳的笑 我知道妳比從前快樂^ ^)

2008年1月11日 星期五

Lab Hanoi Tower

The pseudocode for Hanoi Tower is as follows:

Solve(N, Src, Aux, Dst)
if N is 0 return
Solve(N-1, Src, Dst, Aux)
Move N from Src to Dst
Solve(N-1, Aux, Src, Dst)


Write the Java program based on the pseudocode in the above.




若有n個盤子,則移動完畢所需之次數為2^n - 1,所以當盤數為64時,則所需次數為:

264- 1 = 18446744073709551615

為5.05390248594782e+16年,也就是約5000世紀,如果對這數字沒什麼概念,就假設每秒鐘搬一個盤子好了,也要約5850億年左右。

所以建議測試不要用太大數字

否則就是幾乎陷入無窮迴圈拉~

2008年1月10日 星期四

lab recursive method

Write a recursive method to compute Fibonacci series.

Hint:

fib(n)=fib(n-1)+fib(n-2)





0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, ...


測試第九個是否為21

2008年1月9日 星期三

期末報告

書名 JAVA資料結構與演算法
作者 廖榮貴,許正憲,王龍發,蔡能聰編著
出版 文魁資訊
出版日期 2005/4
Chap6-2
請依序輸入以下資料
23 31 34 12 93 54 66 29 83
是分別用謝爾排序法來排序
請寫出運作過程

基於我大一時候C語言到了資料結構那附近就沒交的遺憾
找了個資結與演算法
礙於時間關係
只能稍做練習




參考網址
http://caterpillar.onlyfun.net/Gossip/AlgorithmGossip/ShellSort.htm

書名 JBuilder程式設計實務
作者 楊宗誌編著
出版 文魁資訊
出版日期 2001/12
Chap4-2
某百貨公司週年慶,店內商品全面八折,試寫一程式輸入貨品單價及數量並計算其應付之金額


這本書偏於實際用途
裡面多為簡單實作併用視窗跑出
由於軟體和Turbo JBuilder有些許出入
礙於時間不足
就先用本堂課的參考書中後面有關SWING部份程式去寫






書名 JBuilder X程式設計快樂上手
作者 洪國勝,張建原編著
出版 松崗
出版日期 2004/2
Chap10-1
請寫出一個"嘻八啦"的程式,其功能如下
(1)電腦執四個骰子
(2)若有兩個數字相同就取剩下兩個的和
(3)如果沒有相同就重新骰到有相同的為止
(4)若倆倆相同,取和較大者
(5)照以上規則,寫出此程式





2008年1月4日 星期五

"Lab Magic Parking Tower"

A parking tower is out of order someday. If you park a Benz, you will end up with a Torben. Write a program to simulate this scenario. First create a class called CarParked which has a static method called outOfOrder. Name an object called yourCar, which happens to be a Benz. Your program should contain a class called CarParked and a test program called CarParkedDemo which test the method by CarParked.outOfOrder(yourCar).

Hint: You may study Display 5.14 to get some ideas.




2008年1月3日 星期四

Lab Array

Study Display 6.1, and then write a program that can sort numbers in ascending order.










  • 氣泡排序法
顧名思義,就是排序時,最大的元素會如同氣泡一樣移至右端,其利用比較相鄰元素的方法,將大的元素交換至右端,所以大的元素會不斷的往右移動,直到適當的位置為止。

基本的氣泡排序法可以利用旗標的方式稍微減少一些比較的時間,當尋訪完陣列後都沒有發生任何的交換動作,表示排序已經完成,而無需再進行之後的迴圈比較與交換動作,例如:

排序前:95 27 90 49 80 58 6 9 18 50

  1. 27 90 49 80 58 6 9 18 50 [95] 95浮出
  2. 27 49 80 58 6 9 18 50 [90 95] 90浮出
  3. 27 49 58 6 9 18 50 [80 90 95] 80浮出
  4. 27 49 6 9 18 50 [58 80 90 95] ......
  5. 27 6 9 18 49 [50 58 80 90 95] ......
  6. 6 9 18 27 [49 50 58 80 90 95] ......
  7. 6 9 18 [27 49 50 58 80 90 95] 由於接下來不會再發生交換動作,排序提早結束

在上面的例子當中,還加入了一個觀念,就是當進行至i與i+1時沒有交換的動作,表示接下來的i+2至n已經排序完畢,這也增進了氣泡排序的效率。

參考網頁
http://caterpillar.onlyfun.net/Gossip/AlgorithmGossip/SelectionInsertionBubble.htm