[数据结构与算法]概论 P1-P6

https://www.bilibili.com/video/av49361421?p=7在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
谈谈有穷性
在这里插入图片描述

def hailstone(n):
    length = 1
    Hailstone = []
    Hailstone.append(n)
    while (1 < n):
        if (n % 2 == 1):
            n = (int)(3 * n + 1)
            Hailstone.append(n)
        else:
            n = (int)(n / 2)
            length += 1
            Hailstone.append(n)
    return length, Hailstone


print(hailstone(7))
print(hailstone(27))


output

在这里插入图片描述
在这里插入图片描述
其他学科探讨这个算法有穷性问题。(具体数学,专门探究各种算法背后的数学原理的)
我们这门课要研究的是,在正确性、确定性、可行性、有穷性已知的情况下,如何优化算法和数据结构,达到一个更好的计算过程。

什么才是好算法?

在这里插入图片描述

已知有:
在这里插入图片描述
如何度量数据结构和算法的好坏?
在这里插入图片描述
在这里插入图片描述
DSA
在这里插入图片描述
主要考虑时间成本,因为内存条不值钱,算法瓶颈往往卡在时间。

在这里插入图片描述
如何定义计算成本?
在这里插入图片描述
定义计算成本的时候,需要客观,理想化出一个模型出来,评价算法。
在这里插入图片描述
图灵机(抽象模型,为了度量算法复杂度)
在这里插入图片描述
如何用图灵机实现非负整数加一
最后复位,是为了规范化。
在这里插入图片描述
抽象模型,(抽象模型,为了度量算法复杂度)
在这里插入图片描述
在这里插入图片描述

发布了82 篇原创文章 · 获赞 4 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/x1131230123/article/details/103705599
今日推荐