合并排序时间为什么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(英)。