# coding=utf-8
# 迭代贪心算法 最大活动兼容子集
def greedActSel(s,f):
n = len(s)
A = [1]
k = 1
for m in range(2, n):
if s[m] >= f[k]:
A.append(m)
k = m
return A
s = [0, 1, 3, 0, 5, 3, 5, 6, 8, 8, 2, 12, ]
f = [0, 4, 5, 6, 7, 9, 9, 10, 11, 12, 14, 16, ]
print("======== 迭代方法 =======")
print(greedActSel(s, f))
# 递归贪心算法
def recuActSel(s, f, k, n):
m = k + 1
while m < n and s[m] < f[k]:
m = m + 1
if m < n:
A.append(m)
recuActSel(s, f, m, n)
else:
return
A = []
recuActSel(s, f, 0, len(s))
print("======== 递归方法 =======")
print(A)
转载于:https://my.oschina.net/xiaohuoer1995/blog/1600194