国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

面試官:說說你對貪心算法、回溯算法的理解?應(yīng)用場景?

開發(fā) 前端 算法
貪心算法,又稱貪婪算法,是算法設(shè)計中的一種思想,其期待每一個階段都是局部最優(yōu)的選擇,從而達到全局最優(yōu),但是結(jié)果并不一定是最優(yōu)的

[[429460]]

本文轉(zhuǎn)載自微信公眾號「JS每日一題」,作者灰灰。轉(zhuǎn)載本文請聯(lián)系JS每日一題公眾號。

一、貪心算法

貪心算法,又稱貪婪算法,是算法設(shè)計中的一種思想

其期待每一個階段都是局部最優(yōu)的選擇,從而達到全局最優(yōu),但是結(jié)果并不一定是最優(yōu)的

舉個零錢兌換的例子,如果你有1元、2元、5元的錢幣數(shù)張,用于兌換一定的金額,但是要求兌換的錢幣張數(shù)最少

如果現(xiàn)在你要兌換11元,按照貪心算法的思想,先選擇面額最大的5元錢幣進行兌換,那么就得到11 = 5 + 5 + 1 的選擇,這種情況是最優(yōu)的

但是如果你手上錢幣的面額為1、3、4,想要兌換6元,按照貪心算法的思路,我們會 6 = 4 + 1 + 1這樣選擇,這種情況結(jié)果就不是最優(yōu)的選擇

從上面例子可以看到,貪心算法存在一些弊端,使用到貪心算法的場景,都會存在一個特性:

一旦一個問題可以通過貪心法來解決,那么貪心法一般是解決這個問題的最好辦法

至于是否選擇貪心算法,主要看是否有如下兩大特性:

  • 貪心選擇:當(dāng)某一個問題的整體最優(yōu)解可通過一系列局部的最優(yōu)解的選擇達到,并且每次做出的選擇可以依賴以前做出的選擇,但不需要依賴后面需要做出的選擇
  • 最優(yōu)子結(jié)構(gòu):如果一個問題的最優(yōu)解包含其子問題的最優(yōu)解,則此問題具備最優(yōu)子結(jié)構(gòu)的性質(zhì)。問題的最優(yōu)子結(jié)構(gòu)性質(zhì)是該問題是否可以用貪心算法求解的關(guān)鍵所在

二、回溯算法

回溯算法,也是算法設(shè)計中的一種思想,是一種漸進式尋找并構(gòu)建問題解決方式的策略

回溯算法會先從一個可能的工作開始解決問題,如果不行,就回溯并選擇另一個動作,知道將問題解決

使用回溯算法的問題,有如下特性:

  • 有很多路,例如一個矩陣的方向或者樹的路徑
  • 在這些的路里面,有死路也有生路,思路即不符合題目要求的路,生路則符合
  • 通常使用遞歸來模擬所有的路

常見的偽代碼如下:

  1. result = [] 
  2. function backtrack(路徑, 選擇列表): 
  3.   if 滿足結(jié)束條件: 
  4.     result.add(路徑) 
  5.   return 
  6.  
  7.   for 選擇 of 選擇列表: 
  8.     做選擇 
  9.     backtrack(路徑, 選擇列表) 
  10.     撤銷選擇 

重點解決三個問題:

  • 路徑:也就是已經(jīng)做出的選擇
  • 選擇列表
  • 結(jié)束條件

例如經(jīng)典使用回溯算法為解決全排列的問題,如下:

一個不含重復(fù)數(shù)字的數(shù)組 nums ,我們要返回其所有可能的全排列,解決這個問題的思路是:

  • 用遞歸模擬所有的情況
  • 遇到包含重復(fù)元素的情況則回溯
  • 收集到所有到達遞歸終點的情況,并返回、

用代碼表示則如下:

  1. var permute = function(nums) { 
  2.     const res = [], path = []; 
  3.     backtracking(nums, nums.length, []); 
  4.     return res; 
  5.      
  6.     function backtracking(n, k, used) { 
  7.         if(path.length === k) { 
  8.             res.push(Array.from(path)); 
  9.             return
  10.         } 
  11.         for (let i = 0; i < k; i++ ) { 
  12.             if(used[i]) continue
  13.             path.push(n[i]); 
  14.             used[i] = true; // 同支 
  15.             backtracking(n, k, used); 
  16.             path.pop(); 
  17.             used[i] = false
  18.         } 
  19.     } 
  20. }; 

三、總結(jié)

前面也初步了解到分而治之、動態(tài)規(guī)劃,現(xiàn)在再了解到貪心算法、回溯算法

其中關(guān)于分而治之、動態(tài)規(guī)劃、貪心策略三者的求解思路如下:

其中三者對應(yīng)的經(jīng)典問題如下圖:

 

參考文獻

https://zh.wikipedia.org/wiki/%E8%B4%AA%E5%BF%83%E7%AE%97%E6%B3%95

https://leetcode-cn.com/problems/permutations/solution/dai-ma-sui-xiang-lu-dai-ni-xue-tou-hui-s-mfrp/

https://cloud.tencent.com/developer/article/1767046

 

責(zé)任編輯:武曉燕 來源: JS每日一題
相關(guān)推薦

2021-09-16 07:52:18

算法應(yīng)用場景

2021-11-03 14:10:28

工廠模式場景

2021-11-10 07:47:49

組合模式場景

2021-08-16 08:33:26

git

2021-11-09 08:51:13

模式命令面試

2021-11-05 07:47:56

代理模式對象

2021-09-29 07:24:20

場景數(shù)據(jù)

2021-09-28 07:12:09

測試路徑

2021-09-06 10:51:27

TypeScriptJavaScript

2021-11-22 23:50:59

責(zé)任鏈模式場景

2021-11-11 16:37:05

模板模式方法

2021-10-09 10:25:41

排序應(yīng)用場景

2021-09-08 07:49:34

TypeScript 泛型場景

2021-09-10 06:50:03

TypeScript裝飾器應(yīng)用

2021-10-08 09:59:32

冒泡排序場景

2021-10-13 18:01:33

快速排序場景

2021-11-04 06:58:32

策略模式面試

2021-05-31 10:35:34

TCPWebSocket協(xié)議

2021-06-01 08:25:06

Node.jsJavaScript運行

2021-10-12 07:15:02

歸并排序場景
點贊
收藏

51CTO技術(shù)棧公眾號

久久不射电影网| 9色视频在线观看| 日韩中文在线播放| 色婷婷综合久久久中文字幕| 国产欧美日韩网站| 精品午夜一区二区三区在线观看| 精品国产综合久久| 欧美视频在线观看| 91青草视频久久| 日韩系列欧美系列| 国产精品电影在线观看| 思热99re视热频这里只精品| 欧美大肥婆大肥bbbbb| 日韩福利影视| 色老头一区二区三区| 国产经典一区| 一区二区成人精品| 国产精选在线| 日韩电影免费观看在线观看| www.51av欧美视频| 日韩精品黄色网| а√在线中文在线新版| 精品国产91乱码一区二区三区 | 成人影院中文字幕| 久久国产精品免费视频 | 欧美成人激情免费网| 麻豆av在线导航| 欧美人牲a欧美精品| 黄色小视频在线观看| 色婷婷综合久久久| 国产色在线 com| 欧美日韩一区二区三区高清| 成人影院在线看| 亚洲精品中文字幕女同| 精品欧美日韩精品| 69久久夜色精品国产69| 日韩精品久久| 免费看成人片| 国产一区不卡精品| 春日野结衣av| 国产精品久99| 中文字幕视频在线免费| 欧美主播一区二区三区美女| 久久香蕉av| 久久精品国产亚洲7777| 欧美理论电影在线精品| 97超碰在线播放| 激情五月播播久久久精品| 日韩 欧美 高清| 欧美丝袜一区二区| 极品在线视频| 欧美成人午夜激情在线| 日韩久久视频| 日韩高清dvd| 成人免费看视频| 国产三级香港三韩国三级| 精品视频123区在线观看| 亚洲一区二区三区四区| 国产精品扒开腿做爽爽爽视频 | 伊人成人在线| 夜夜爽99久久国产综合精品女不卡 | 免费观看欧美大片| 久久久久久尹人网香蕉| 午夜欧美在线| 欧美日韩一区二区三区电影| 国产精品美女一区二区在线观看| 在线观看国产麻豆| 国产婷婷97碰碰久久人人蜜臀| 成人在线tv视频| 欧美精品二区三区四区免费看视频| 99久久伊人精品| 人成免费电影一二三区在线观看| 精品一区二区电影| 国产精品一区二区av日韩在线| 欧美日产一区二区三区在线观看| 99在线精品一区二区三区| 秋霞av在线| 日韩中文字幕在线看| 91精品国产乱码久久久久久久| 天堂av一区二区| 亚洲欧美一区二区在线观看| 手机在线免费观看av| 97免费视频在线| 日本伊人色综合网| 成人a视频在线| 久久美女艺术照精彩视频福利播放 | 三级a在线观看| 狠狠躁夜夜躁人人躁婷婷91| 欧美一级大黄| 国产激情一区二区三区在线观看| 91在线精品秘密一区二区| 日韩一区二区视频| 99国产精品| 国产日产精品一区二区三区四区的观看方式| 国产精品视频中文字幕91| 国产一区二区三区国产| 色综合久久网女同蕾丝边| 色吧影院999| 亚洲永久字幕| 中文字幕在线视频免费观看| 久久精品视频导航| 日韩国产欧美视频| 看电影就来5566av视频在线播放| 久久久久久网站| 国产成人综合网| 美女国产在线| 91av免费看| 一区二区三区不卡视频在线观看| 青青伊人久久| 欧美日韩亚洲国产成人| 欧美精品三级日韩久久| 欧美肉体xxxx裸体137大胆| 无码人妻丰满熟妇区毛片| 精品无人区太爽高潮在线播放| 午夜欧美精品久久久久久久| 羞羞免费视频| 久久午夜a级毛片| av综合网站| 一本久久a久久精品vr综合| 国产美女精品视频| 亚洲品质视频自拍网| 香蕉成人在线| 久久久久久综合网天天| 国产在线精品一区二区三区不卡 | 日本欧洲一区| 少妇免费毛片久久久久久久久| 亚洲午夜色婷婷在线| 日韩欧美网址| 亚洲精品午夜在线观看| 国产一区二区三区网站| 久久99最新地址| 日本三级在线观看网站| 欧美日韩精品久久久免费观看| 色综合欧美在线| 亚洲专区视频| 男男视频在线观看网站| 日韩在线小视频| 欧美v日韩v国产v| 国产欧美午夜| 三级中文字幕在线观看| 国产精品va无码一区二区| 亚洲视频一区二区三区| 国产成人日日夜夜| 久久精品国内一区二区三区水蜜桃| 亚欧激情乱码久久久久久久久| 欧美性一区二区三区| 精品久久久久久久大神国产| 成人性视频免费网站| 最新国产一区| 国产午夜精品一区在线观看 | 国模精品娜娜一二三区| 欧美视频在线一区| 国产欧美1区2区3区| 亚洲经典自拍| 欧美人体一区二区三区| 同心难改在线观看| 欧美黄色一级片视频| 国产91九色视频| 欧美日韩国产小视频在线观看| www欧美成人18+| 99麻豆久久久国产精品免费优播| 日日夜夜一区二区| 秋霞电影一区二区| 影音先锋日韩资源| 日韩欧美中文在线观看| 思思99re6国产在线播放| 美日韩在线视频| 亚洲成a人片在线观看中文| 一本一本久久| 国产精品一区高清| 欧美福利视频| 国产高清久久久| 在线成人超碰| 日本成人片在线| 在线黄色av| 国产精品午夜一区二区欲梦| 日韩av网站免费在线| 丝袜国产日韩另类美女| 国产激情精品久久久第一区二区| 中文字幕精品一区| 色视频成人在线观看免| 中文字幕久久亚洲| 亚洲永久免费观看| 自慰无码一区二区三区| 处破女av一区二区| 国产成人精品亚洲午夜麻豆| 久久久www成人免费毛片麻豆| 欧美性一区二区| 国产成人+综合亚洲+天堂| 午夜精品短视频| 日韩国产一区三区| 成人日韩在线电影| 欧美国产日韩在线播放| 精品176二区| 日韩高清欧美| 国产精品日产欧美久久久久| 亚洲福利在线观看| 99中文字幕| 欧美一区二区少妇| 欧美日本久久|