編程之美讀書筆記_1.3 一摞烙餅的排序 (補充)

來源:互聯網
上載者:User

 幾個月前寫了 編程之美讀書筆記_1.3 一摞烙餅的排序 , 對書上的例子{3,2,1,6,5,4,9,8,7,0},將搜尋次數由原來的172126次降到29次,本以為要進一步降低搜尋次數,要強化剪枝條件,要添加大量的代碼,而實際上只要改動一處,就能將搜尋次數降到11次。遍曆所有可能的排列求第1個……第10個烙餅數所用的總時間,也由原來的38秒降到21秒。

 

 

改動:

1.3_pancake_final第148行

  for (int pos=1, last_swap=cake_swap[step++]; pos<size; ++pos){   

改為:

  for (int pos=size-1, last_swap=cake_swap[step++]; pos>0; ++pos){ 

很簡單的改動,只是改變了搜尋順序,但卻極大提升了搜尋效率。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.