# coding: utf-8
# In[22]:
# 分治法求和 请编写前述sum函数的代码
def SUM(arr,start,end):
if start==end:
return arr[end]
else:
return arr[start]+SUM(arr,start+1,end)
# In[28]:
date=[x for x in range(1,10)]
print(date)
# In[29]:
a=SUM(date,0,len(date)-1)
print(a)
# In[30]:
# 编写一个递归函数来计算列表包含的元素数
def COUNT(arr,start,end):
if start==end:
return 1
return 1+COUNT(arr,start+1,end)
print(COUNT(date,0,len(date)-1))
# In[31]:
# 找出列表中最大的数字
def findMax(arr,start,end):
if start==end:
return arr[start]
if arr[start]<findMax(arr,start+1,end):
return findMax(arr,start+1,end)
else:
return arr[start]
# In[33]:
print(findMax(date,0,len(date)-1))
# In[2]:
# 快速排序
def quick_sort(arr):
if len(arr)<2:
return arr
else:
pivot=arr[0]
less=[i for i in arr[1:] if i<=pivot]
larger=[i for i in arr[1:] if i>pivot]
return quick_sort(less)+[pivot]+quick_sort(larger)
# In[3]:
data=[2,3,1,4,7,6]
print(quick_sort(data))
# In[14]:
a=[2,1]
a.remove(1)
print(a)
Divide_Conquer
最新推荐文章于 2022-11-30 11:46:02 发布