合並排序時間為什麼On是n
1. 澶у﹀叚縐嶇▼搴忓憳瀹炵敤綆楁硶鎺ㄨ崘
紼嬪簭鍛樺疄鐢ㄧ畻娉曟湁鐢ㄦ帹鑽
綆楁硶涓: 蹇閫熸帓搴忕畻娉
蹇閫熸帓搴忔槸鐢變笢灝悸烽湇灝旀墍鍙戝睍鐨勪竴縐嶆帓搴忕畻娉曘傚湪騫沖潎鐘跺喌涓嬶紝鎺掑簭 n 涓欏圭洰瑕丱(nlog n)嬈℃瘮杈冦傚湪鏈鍧忕姸鍐典笅鍒欓渶瑕丱(n2)嬈℃瘮杈冿紝浣嗚繖縐嶇姸鍐靛苟涓嶅父瑙併備簨瀹炰笂錛屽揩閫熸帓搴忛氬父鏄庢樉姣斿叾浠朞(n log n) 綆楁硶鏇村揩錛屽洜涓哄畠鐨勫唴閮ㄥ驚鐜 (inner loop)鍙浠ュ湪澶ч儴鍒嗙殑鏋舵瀯涓婂緢鏈夋晥鐜囧湴琚瀹炵幇鍑烘潵銆
蹇閫熸帓搴忎嬌鐢ㄥ垎娌繪硶絳栫暐鏉ユ妸涓涓涓茶(list)鍒嗕負涓や釜瀛愪覆琛(sub-lists)銆
綆楁硶浜: 鍫嗘帓搴忕畻娉
鍫嗘帓搴(Heapsort)鏄鎸囧埄鐢ㄥ爢榪欑嶆暟鎹緇撴瀯鎵璁捐$殑涓縐嶆帓搴忕畻娉曘傚爢縐鏄涓涓榪戜技瀹屽叏浜屽弶鏍戠殑緇撴瀯錛屽苟鍚屾椂婊¤凍鍫嗙Н鐨勬ц川:鍗沖瓙緇撶偣鐨勯敭鍊兼垨緔㈠紩鎬繪槸灝忎簬(鎴栬呭ぇ浜)瀹冪殑鐖惰妭鐐廣
鍫嗘帓搴忕殑騫沖潎鏃墮棿澶嶆潅搴︿負O(nlogn)
綆楁硶涓: 褰掑苟鎺掑簭
褰掑苟鎺掑簭(Merge sort錛屽彴婀捐瘧浣:鍚堝苟鎺掑簭)鏄寤虹珛鍦ㄥ綊婢′綔涓婄殑涓縐嶆湁鏁堢殑鎺掑簭綆楁硶銆傝ョ畻娉曟槸閲囩敤鍒嗘不娉(Divide andConquer)鐨勪竴涓闈炲父鍏稿瀷鐨勫簲鐢ㄣ
綆楁硶鍥:浜屽垎鏌ユ壘綆楁硶
浜屽垎鏌ユ壘綆楁硶鏄涓縐嶅湪鏈夊簭鏁扮粍涓鏌ユ壘鏌愪竴鐗瑰畾鍏冪礌鐨勬悳緔㈢畻娉曘傛悳緔犺繃紼嬩粠鏁扮粍鐨勪腑闂村厓緔犲紑濮嬶紝濡傛灉涓闂村厓緔犳eソ鏄瑕佹煡鎵劇殑鍏冪礌錛屽垯鎼滅礌榪囩▼緇撴潫:濡傛灉鏌愪竴鐗 瀹氬厓緔犲ぇ騫叉垨鑰呭皬騫蹭腑闂村厓緔狅紝鍒欏湪鏁扮粍澶т簬鎴栧皬騫蹭腑闂村厓緔犵殑閭d竴鍗婁腑鏌ユ壘錛岃屼笖璺熷紑濮嬩竴鏍蜂粠涓闂村厓緔犲紑濮嬫瘮杈冦傚傛灉鍦ㄦ煇涓姝ラゆ暟緇勪負絀猴紝鍒欎唬琛ㄦ壘涓嶅埌銆傝繖 縐嶆悳緔㈢畻娉曟瘡涓嬈℃瘮杈冮兘浣挎悳緔㈣寖鍥寸緝灝忎竴鍗娿傛姌鍗婃悳緔㈡瘡嬈℃妸鎼滅儲鍖哄煙鍑忓皯涓鍗婏紝鏃墮棿澶嶆潅搴︿負O(logn) 銆
綆楁硶浜: BFPRT(綰挎ф煡鎵劇畻娉)
BFPRT綆楁硶瑙e喅鐨勯棶棰樺嶮鍒嗙粡鍏革紝鍗充粠鏌恘涓鍏冪礌鐨勫簭鍒椾腑閫夊嚭絎琸澶(絎琸灝)鐨勫厓緔狅紝閫氳繃宸у欑殑鍒嗘瀽錛孊FPRT鍙浠ヤ繚璇佸湪鏈鍧忔儏鍐典笅浠嶄負綰挎ф椂闂村嶆潅搴︺傝ョ畻 娉曠殑鎬濇兂涓庡揩閫熸帓搴忔濇兂鐩鎬技錛屽綋鐒訛紝涓轟嬌寰楃畻娉曞湪鏈鍧忔儏鍐典笅錛屼緷鐒惰兘杈懼埌o(n)鐨勬椂闂村嶆潅搴︼紝浜斾綅綆楁硶浣滆呭仛浜嗙簿濡欑殑澶勭悊銆
綆楁硶鍏: BFS(騫垮害浼樺厛鎼滅儲)
騫垮害浼樺厛鎼滅儲綆楁硶(Breadth-First-Search)錛屾槸涓縐嶅浘褰㈡悳緔㈢畻娉曘傜畝鍗曠殑璇碆FS鏄浠庢牴鑺傜偣寮濮嬶紝媧葷潃鏍(鍥)鐨勫藉害閬嶅巻鏍(鍥)鐨勮妭鐐廣傚傛灉鎵鏈夎妭鐐瑰潎琚璁塊棶錛屽垯綆楁硶涓姝銆侭FS鍚屾牱灞炰簬鐩茬洰鎼滅儲銆備竴鑸鐢ㄩ槦鍒楁暟鎹緇撴瀯鏉ヨ緟鍔╁疄鐜癇FS綆楁硶銆
2. 英語在日期之前加in 還是on 如何區分
日期前加in還是on的區分方法是:in後面加季節,年份,早中晚,on後面加具體的某一天。
一、具體日期時的用法:
1.in時間范圍大(一天以上),泛指在上午,下午,晚上,習慣用法:in the daytime 在白天,表示在某年、某季節、某月、某周、某天和某段時間。
2.on指在某一天或某一天的上午,下午,晚上:on Monday,表示某一天或某一天的某段時間。
二、含義不同
1.in英 [ɪn];美[ɪn]
釋義:
prep. 按照(表示方式);從事於;在…之內。
adv. 進入;當選;(服裝等)時髦;在屋裡。
adj. 在裡面的;時髦的。
n. 執政者;門路;知情者。
n. (In)人名;(中)演(廣東話·威妥瑪);(柬)殷(用於名字第一節), 因;(日)寅 (名)。
2.on英[ɒn];美[ɑn]
釋義:
adv. 向前地;作用中,行動中;繼續著。
prep. 向,朝……;關於;在……之上;在……時候。
adj. 開著的;發生著的,正在進行中。
n. (On)人名;(日)溫(姓、名);(緬、柬、印)翁。
三、用法不同
1.in
用法:用作介詞 (prep.)
例句:The telephone was in the little study on the ground floor.電話在底樓的小書房裡。
2.on
用法:用作介詞(表示支承)在…上 。
例句:Heissittingbesideheronthesofa.他挨著她坐在沙發上。
(2)合並排序時間為什麼On是n擴展閱讀
日期的讀法:
1.一般情況下,將表示年份的四個數字按前後分為兩組,每一組的數字都按基數詞來讀。1865年讀作eighteen sixty-five。
2.如果是整百的年,後面的兩個「零」讀為 hundred。
3.十位數字上為「零」,該「零」讀為字母 O 的發音。
4.關於千年的一些讀法。2000年讀作 two thousand。
5.三位以內數字的年份,一般是按照基數詞的方法來讀。531 BC 讀作 five hundred (and) thirty-one BC。
6.朗讀方面"月份"一般直接用英語讀出,日則要讀成the 序數詞,年份,一 般分為兩個單位來讀, 前兩個數為一個單位, 後兩個數為一個單位。
7.書寫方面:1986 年 10 月 23 日→October 23, 1986/October 23rd, 19862. 2002 年 1 月 17 日→January 17, 2002/January 17th, 2002。
8.英美時間表達之不同日期的表示法英國和美國稍有不同,英國通常表示為「日—月—年」,美國通常表示為「月—日—年」。如「10月10日」可表示為 October 10, 1985(美)或10(th) October, 1985(英)。