(这是我的第一个问题,如果我做错了,请告诉我:))
我有n个列表,其元素具有整数属性(每个列表唯一)和持续时间(以秒为单位)。
我必须对这些列表进行排序,没有时间上具有相同属性的元素,并优先考虑总持续时间(最长列表的持续时间)。
如果没有其他选择,则插入时间间隔,直到其他列表元素的持续时间结束。
我开发了一种算法,可以从最长的时间中选择一个元素,在每个列表中添加所有相同的属性
示例(已编辑):每个元素都表示为(int att,duration time)
List 1: (1,20) (2,13) (3,15)
List 2: (1,14) (2,20) (3,14)
Optimum sorting:
List 1: (1,20) (3,15) (Gap,1) (2,13) List 1 duration: 20+15+1+13 = 49
List 2: (3,16) (2,20) (1,14) List 2 duration: 16+20+14 = 50
Total time: MAX(49,50) = 50
My algorithm:
Sorting by duration to select candidates: 1 (20+14 = 34 seconds), 2 (13+20 = 33 seconds), 3 (15+14 = 29 secs)
Final sorting:
List 1: (1,20) (2,13) (3,15) List 1 duration: 20+13+15 = 48
List 2: (2,20) (1,14) (Gap,14) (3,16) List 2 duration: 20+14+14+16 = 64
Total time: MAX(48,64) = 64
任何人都知道一种优化排序的算法吗?
如果表达不好请告诉我
对不起我的英文:_)
(适用编者)
我在西班牙语中发现Thesis提出了问题并提出了一些解决方案。正如AShelly在评论中指出的那样,这是一个Job Shop Scheduling问题。