電子兵棋開發(fā)Day270
今天學(xué)習(xí)
1:繼續(xù)學(xué)習(xí)
最后來個(gè)技術(shù)總結(jié)(0):這總結(jié)好像沒在最后。
---------------------------------------------------------------------------------------------------------------------------
最近學(xué)了點(diǎn)啥還是寫一寫吧,寫的不一定對(duì),畢竟我這水平實(shí)在不行。想到啥寫啥,寫的不詳細(xì),隨便看看就行。
首先,一大堆排序算法:冒泡排序,選擇排序,插入排序,快速排序,堆排序,歸并排序,桶排序。速度最快的是快速排序,常數(shù)項(xiàng)最低,但是,樣本量小的時(shí)候貌似前三個(gè)排序更快。這其中堆排序用到了堆結(jié)構(gòu),貌似很重要。
哈希表和有序表。哈希表查找的常數(shù)項(xiàng)較大,但是時(shí)間復(fù)雜度O(1);有序表是O(logN),有序表提供的功能更多。(說實(shí)在這兩個(gè)的內(nèi)在原理我不會(huì),還沒學(xué),就知道有這么個(gè)東西。)
二分查找,時(shí)間復(fù)雜度O(logN),挺不錯(cuò)的。
以及一些小技巧:
1:怎么把一個(gè)int變量除以二?只需要向右移動(dòng)一位。比如:00000010,除2變成00000001。
2:在不用額外空間的情況下交換兩個(gè)整形的值?假設(shè)這兩個(gè)整形是a和b,^表示異或運(yùn)算:
a=a^b
b=a^b
a=a^b
原理就不解釋了。
3:其實(shí)還有,但是到此為止吧。
---------------------------------------------------------------------------------------------------------------------------
最近在考慮要不要換成C++,選擇如下:
1:繼續(xù)用Python,但是卡頓問題得解決,有可能無法解決卡頓問題。
2:換成C++:即使換成C++,我也不知道能不能解決卡頓問題,以及我還得學(xué)C++,雖然肯定比第一次學(xué)編程簡單很多,但是也得學(xué)。以及要把那么長的代碼轉(zhuǎn)移到C++,我沒什么把握,而且還是動(dòng)態(tài)語言換靜態(tài)語言。
最后來個(gè)技術(shù)總結(jié)(1):目前的情況不容樂觀,而且我馬上上初三了,估計(jì)能用在開發(fā)兵棋上的時(shí)間會(huì)減少,(當(dāng)然也不排除時(shí)間不會(huì)減少,畢竟我從來和別人不太一樣。)前途一片黑暗。