分治算法几个经典例子

分治法,字面意思是“分而治之”,就是把一个复杂的1问题分成两个或多个相同或相似的子问题,再把子问题分成更小的子问题直到最后子问题可以简单地直接求解,原问题的解即子问题的解的合并,这个思想是很多高效算法的基础。

图一

例如排序算法(快速排序,归并排序),傅里叶变换(快速傅里叶变换)等。

分治法的基本思想:将一个难以直接解决的大问题,分割成一些规模较小的相同问题,以便各个击破,分而治之。

可以使用分治法求解的一些经典问题

二分搜索

图二

大整数乘法

Strassen矩阵乘法

棋盘覆盖

合并排序

快速排序

线性时间选择

最接近点对问题

循环赛日程表

汉诺塔



  • 浠涔堟槸鍒嗘不绠楁硶?
    绛旓細鍒嗘不娉曞氨鏄皢涓涓鏉傜殑闂鍒嗘垚澶氫釜鐩稿绠鍗曠殑鐙珛闂杩涜姹傝В锛屽苟涓旂患鍚堟墍鏈夌畝鍗曢棶棰樼殑瑙e彲浠ョ粍鎴愯繖涓鏉傞棶棰樼殑瑙c備緥濡傚揩閫熸帓搴绠楁硶灏辨槸涓涓垎娌绘硶鐨渚嬪瓙銆傚嵆灏嗕竴涓ぇ鐨勬棤搴忓簭鍒楁帓搴忔垚鏈夊簭搴忓垪锛岀瓑浜庡皢涓や釜鏃犲簭鐨勫瓙搴忓垪鎺掑簭鎴愭湁搴忥紝涓斾袱涓瓙搴忓垪涔嬮棿婊¤冻涓涓簭鍒楃殑鍏冪礌鏅亶澶т簬鍙︿竴涓簭鍒椾腑鐨勫厓绱犮
  • 鍒嗘不娉曡兘鐪熸鎻愰珮绠楁硶鏁堢巼涔
    绛旓細妤间富鍙互鍘诲姣斾竴涓嬪啋娉℃帓搴忓拰蹇熸帓搴忥紙骞冲潎鎬ц兘锛夛紝杩欐槸姣旇緝鍏稿瀷鐨勭敤鍒嗘不娉曟妸澶嶆潅搴︿粠n^2闄嶄綆鍒皀logn鐨渚嬪瓙銆傘傘傛湰鏉ユ槸n*n鐨勫鏉傚害锛屽垎娌诲悗锛屼竴鍏辨湁logn灞傦紙鎯宠薄涓涓嬫爲鐨勭粨鏋勶紝瀛愯妭鐐规暟n鐨勪簩鍙夋爲鏈夊嚑灞傦紵锛夛紝姣忎竴灞傚唴鐨勫鏉傚害杩樻槸n锛岃繖鏍锋诲鏉傚害灏卞彉鎴愪簡nlogn銆傚ぇ鑷存濊矾濡傛銆
  • 鍑忔不绠楁硶鍙婁笌鍒嗘不銆佸彉娌诲姣
    绛旓細閭d箞濡傛灉姣忎釜浜洪兘浼氳鎵斿埌閭d箞浠栦滑鐨勮窛绂诲叧绯诲簲褰撴弧瓒 锛 鏄剧劧鎴戜滑鍙戠幇杩欐槸瀛樺湪鍓嶅悗鐭涚浘鐨勫洜姝ゆ垜浠彲浠ユ柇瀹氭瘡娆¤嚦灏戞湁涓涓汉涓嶄細琚ザ娌规淳鍑讳腑鏄纭殑銆傝繖鏄皢瀹為檯闂鎶借薄鐨勪竴涓渚嬪瓙锛屽皢浜烘娊璞℃垚鐐癸紝灏嗚窛绂绘娊璞℃垚绾跨殑闀垮害锛屽苟涓斿埄鐢ㄥ弽璇佹硶鏉ヨ瘉鏄庤繖涓亣璁俱傚熀浜庤繖绉嶆濇兂鐨绠楁硶涔熸湁寰堝锛屽锛
  • divide and conquer 鏄粈涔绠楁硶
    绛旓細鍒嗚屾不涔嬬殑鎰忔濓紝鎸囩殑鏄鍒嗘不绠楁硶銆傚垎娌荤畻娉曟槸鍩轰簬澶氬垎鏋濋掑綊鐨勪竴绉嶇畻娉曡璁℃ā寮忋傚垎娌荤畻娉曢掑綊鍦版妸涓涓ぇ闂鍒嗚В涓哄涓被鍨嬬浉鍚岀殑瀛愰棶棰橈紝鐩村埌杩欎簺瀛愰棶棰樿冻澶熺殑绠鍗曡兘琚洿鎺ヨВ鍐炽傛渶鍚庢妸杩欎簺瀛愰棶棰樼殑瑙g粨鍚堣捣鏉ュ氨鑳藉緱鍒板師濮嬮棶棰樼殑瑙c傛湜閲囩撼~
  • 绋嬪簭鍛绠楁硶瑙i鏂规硶涓庢濊矾
    绛旓細姝ゆ柟娉曢氳繃鍐欏嚭闂鐨勪竴浜涚壒瀹氱殑渚嬪瓙锛屽垎鏋愭荤粨鍏朵腑鐨勮寰嬨傚叿浣撹岃█锛屽氨鏄氳繃鍒椾妇灏戦噺鐨勭壒娈婃儏鍐碉紝缁忚繃鍒嗘瀽锛屾渶鍚庢壘鍑轰竴鑸殑鍏崇郴銆傞棶棰樹笌浠ュ墠鑾釜绠楁硶瑙e喅杩囩殑闂鐩镐技锛屾鏃跺氨鍙互瑙︾被鏃侀氾紝灏濊瘯鏀硅繘鍘熸湁绠楁硶鏉ヨВ鍐 姝ゆ柟娉曢鍏堝皢闂绠鍗曞寲锛屽鏀瑰彉鏁版嵁绫诲瀷銆佺┖闂村ぇ灏忕瓑锛岀劧鍚庡皾璇曠潃灏嗙畝鍖栧悗鐨勯棶棰樿В鍐炽備负...
  • 10涓父鐢绠楁硶
    绛旓細鍏稿瀷渚嬪瓙锛 0/1鑳屽寘闂 椹笍妫嬬洏 鍧囧垎绾哥墝 渚嬮锛 https://www.cnblogs.com/hust-chen/p/8646009.html 姒傚康锛 鍒嗘不绠楁硶鐨勫熀鏈濇兂鏄皢涓涓妯′负N鐨勯棶棰樺垎瑙d负K涓妯¤緝灏忕殑瀛愰棶棰橈紝杩欎簺瀛愰棶棰樼浉浜掔嫭绔嬩笖涓庡師闂鎬ц川鐩稿悓銆傛眰鍑哄瓙闂鐨勮В锛屽氨鍙緱鍒板師闂鐨勮В銆傚嵆涓绉嶅垎鐩爣瀹屾垚...
  • ...瀹炵幇鍒嗘不娉曞拰鍑忔不娉曠殑渚嬪瓙鏈濂借兘浣撶幇鍑鸿繖涓ょ绠楁硶鐨勭壒鐐广傝阿浜...
    绛旓細閫掑綊姹傞樁涔橈紝浜屽垎鏌ユ壘灏辨槸鍏稿瀷鐨勫噺娌绘硶銆傞掑綊鐨勫綊骞舵帓搴忥紝蹇熸帓搴忓氨鏄吀鍨嬬殑鍒嗘不娉曘傚噺娌绘硶鍙槸灏嗛棶棰樿妯$缉灏忥紝鑰屽垎娌绘硶鏄皢鍘熼棶棰樺垎鎴愬涓妯℃洿灏忕殑鍚岀被闂銆
  • 鎬:涓や釜2涓绠楁硶棰
    绛旓細璁捐涓涓湁鏁堢殑绠楁硶锛屽彲浠ヨ繘琛屼袱涓猲浣嶅ぇ鏁存暟鐨勪箻娉曡繍绠 灏忓鐨勬柟娉曪細O(n2) 鏁堢巼澶綆 鍒嗘不娉:X=a2n/2+b Y=c2n/2+d XY=ac2n+(ad+bc)2n/2+bd 澶嶆潅搴﹀垎鏋 T(n)=O(n2) 娌℃湁鏀硅繘涓轰簡闄嶄綆鏃堕棿澶嶆潅搴︼紝蹇呴』鍑忓皯涔樻硶鐨勬鏁般備负姝わ紝鎴戜滑鎶奨Y鍐欐垚鍙﹀鐨勫舰寮忥細XY =...
  • 鍥捐В!涓鏂囧甫浣犵帺杞椽蹇绠楁硶!
    绛旓細褰撶劧杩欓噷鎴戣鐨勬槸鈥滈潬璋扁濓紝灏辨槸涓浜涚壒渚嬶紝涓嶇劧浣犻殢渚挎暣浜鍑犱釜渚嬪瓙锛屽彂鐜伴兘瀵癸紝杩欎釜鏃跺欎綘灏辫寰椾綘鍋氱殑灏辨槸瀵圭殑锛屾伆鎭颁篃鍙兘浣犱妇鐨勮繖鍑犱釜渚嬪瓙姝eソ宸т簡銆傝繖閲屾垜杩樻兂澶氳鍑犲彞锛氬叾瀹炴寜鐓ф甯告潵璇村憿锛屽儚杩欑楠岃瘉璐績绠楁硶鐨勬纭э紝鏈闈犺氨鐨勫氨鏄氳繃鏁板鎺ㄥ鏉ュ紕锛屼竴鑸儚浠涔堟暟瀛﹀綊绾虫硶銆佸弽姝f硶杩欑鏂规硶銆
  • 濡備綍鐞嗚В绠楁硶鏃堕棿澶嶆潅搴︾殑琛ㄧず娉,渚嬪 O(n²)銆丱(n)銆丱(1)銆丱(nlo...
    绛旓細娣卞叆瑙f瀽绠楁硶鏃堕棿澶嶆潅搴︼細O(n²)銆丱(n)銆丱(1)銆丱(nlogn)鐨勭瀵 鍦ㄧ悊瑙g畻娉曟ц兘鐨勫叧閿寚鏍団斺旀椂闂村鏉傚害鏃讹紝鍝堝笇琛ㄤ负鎴戜滑鎻愪緵浜嗕竴涓洿瑙傜殑璧风偣銆傚畠浠(1)鐨勬晥鐜囪憲绉帮紝灏卞儚浣犺闂垜韬悗鏌滃瓙閲岀殑姘存灉锛屾棤璁烘煖瀛愬唴鏈夊灏戠绫伙紝鎴戦兘鑳界灛鏃舵壘鍒板搴旂殑浠e彿锛屽鑻规灉(A)銆侀钑(B)銆傝繖涓渚嬪瓙灞曠ず...
  • 本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网