Python算法教程第三章知识点:求和式、递归式、侏儒排序法和并归排序法
admin
2023-07-21 07:42:18
0

本文目录:一、求和式;二、递归式;三、侏儒排序法和并归排序法
微信公众号:geekkr





一、求和式

# 假设有一函数为f(),则在Python中经常使用的求和方法如下。

sum(f(i) for i in range(m, n+1)) + sum(g(i) for i in range(m, n+1))

sum(f(i)+g(i) for i in range(m, n+1))



二、递归式

# 举个栗子

def S(seq, i=0):
    if i == len(seq): return 0
    return S(seq, i+1) + seq[i]



三、侏儒排序法和并归排序法

# 侏儒排序法

def gnomesort(seq):
    i = 0
    while i < len(seq):
        if i == 0 or seq[i-1] <= seq[i]
            i += 1
        else:
            seq[i], seq[i-1] = seq[i-1], seq[i]
            i -=1

# 并归排序法

def mergesort(seq):
    mid = len(seq)//2
    lft,rgt = seq[:mid], seq[mid:]
    if len(lft) > 1: lft = mergesort(lft)
    if len(rgt) > 1: rgt = mergesort(rgt)
    res = []
    while lft and rgt:
        if lft[-1]>=rgt[-1]:
            res.append(lft.pop())
        else:
            res.append(rgt.pop())
    res.reverse()
    return(lft or rgt) + res

侏儒排序法的运行时间介于\Omega (n)\Omega (n^{2})之间;而并归排序法的运行时间为\theta (nlgn)。

相关内容

热门资讯

严重升级!“欧洲小妹”连续狠怼... 特朗普与意大利总理梅洛尼的“口水战争”北京时间周六严重升级,被梅洛尼回怼激怒的特朗普发帖再度贬损梅洛...
中科晶禾申请晶圆对准装置专利,... 国家知识产权局信息显示,天津中科晶禾电子科技有限责任公司申请一项名为“一种晶圆对准装置及其对准方法、...
iQOO Z11x购买性价比高... 一台"把预算花在你真正用得到的地方"的千元机,往往比什么都想要却什么都一般的机器更值。 一、千元档购...
原创 S... 美银策略团队援引全球资金流向监测机构 EPFR 最新周度数据发布市场报告,截至 6 月 17 日当周...
高管确认三星S27首发Exyn... 快科技6月20日消息,三星计划在明年上半年正式发布年度旗舰Galaxy S27系列,该系列将全球首发...
伊朗谈判代表团已抵达瑞士,专机... 当地时间6月20日晚,伊朗谈判代表团抵达瑞士苏黎世,准备与美国在比尔根山进行会谈。据伊朗媒体报道,代...
美财长被曝曾对泽连斯基爆粗口,... 由《纽约时报》记者玛吉·哈伯曼和乔纳森·斯旺撰写的《政权更迭》一书爆料,美国财政部长贝森特曾建议特朗...
美国芝加哥发生枪击事件,至少1... △芝加哥市19日晚发生枪击事件的现场据当地警方20日发布的消息,美国芝加哥市19日晚发生一起枪击事件...
意大利总理回击特朗普批评:应关... △意大利总理梅洛尼(资料图)意大利总理梅洛尼20日就美国总统特朗普针对其政府的最新批评作出回应,称特...
以总理及防长被曝已命令以军在黎... 据以色列方面20日消息,以色列总理内塔尼亚胡和国防部长卡茨已下达指令,要求以军在黎巴嫩停火。根据该指...