日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > 循环神经网络 >内容正文

循环神经网络

matlab车辆贪心作业调度,贪心算法-区间调度-Interval Scheduling

發布時間:2024/8/5 循环神经网络 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 matlab车辆贪心作业调度,贪心算法-区间调度-Interval Scheduling 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

什么是貪心算法呢?

貪心算法可以認為是動態規劃算法的一個特例,相比動態規劃,使用貪心算法需要滿足更多的條件(貪心選擇性質),但是效率比動態規劃要高。

比如說一個算法問題使用暴力解法需要指數級時間,如果能使用動態規劃消除重疊子問題,就可以降到多項式級別的時間,如果滿足貪心選擇性質,那么可以進一步降低時間復雜度,達到線性級別的。

什么是貪心選擇性質呢?

簡單說就是:每一步都做出一個局部最優的選擇,最終的結果就是全局最優。注意哦,這是一種特殊性質,其實只有一部分問題擁有這個性質。

比如你面前放著 100 張人民幣,你只能拿十張,怎么才能拿最多的面額?顯然每次選擇剩下鈔票中面值最大的一張,最后你的選擇一定是最優的。

然而,大部分問題明顯不具有貪心選擇性質。比如打斗地主,對手出對兒三,按照貪心策略,你應該出盡可能小的牌剛好壓制住對方,但現實情況我們甚至可能會出王炸。這種情況就不能用貪心算法,而得使用動態規劃解決,參見「動態規劃解決博弈問題」。

一、概念

很經典的貪心算法問題 Interval Scheduling(區間調度問題)。

給很多形如 [start, end] 的閉區間,算出這些區間中最多有幾個互不相交的區間。

本質是求這些時間區間的最大不相交子集。

二、貪心解法

正確的思路可以分為以下三步:

1、從區間集合 intvs 中選擇一個區間 x,這個 x 是在當前所有區間中結束最早的(end 最小)。

2、把所有與 x 區間相交的區間從區間集合 intvs 中刪除。

3、重復步驟 1 和 2,直到 intvs 為空為止。之前選出的那些 x 就是最大不相交子集。

步驟1可以按每個區間的 end 數值升序排序。所有與 x 相交的區間必然會與 x 的 end 相交;如果一個區間不想與 x 的 end 相交,它的 start 必須要大于(或等于)x 的 end。

image.png

public int intervalSchedule(int[][] intvs) {

if (intvs.length == 0) return 0;

// 按 end 升序排序

Arrays.sort(intvs, new Comparator() {

public int compare(int[] a, int[] b) {

return a[1] - b[1];

}

});

// 至少有一個區間不相交

int count = 1;

// 排序后,第一個區間就是 x

int x_end = intvs[0][1];

for (int[] interval : intvs) {

int start = interval[0];

if (start >= x_end) {

// 找到下一個選擇的區間了

count++;

x_end = interval[1];

}

}

return count;

}

三、Leetcode題目

435、無重疊區間

452、用最少數量的箭引爆氣球

參考

總結

以上是生活随笔為你收集整理的matlab车辆贪心作业调度,贪心算法-区间调度-Interval Scheduling的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。