算法设计与分析 第一章 基础知识作业1

算法分析题

1.1 函数的渐进表达式

求下列函数的渐近表达式:3n2+10n; n2/10+2n; 21+1/n; logn3; 10log3n
在这里插入图片描述

1.3 证明对于任何实数x和整数a,b,n:

在这里插入图片描述
在这里插入图片描述

1.7 函数渐进阶

对于下列各组函数f(n)和g(n),确定f(n)=O(g(n))或f(n)=Ω(g(n))或f(n)=Θ(g(n)),并简述理由。
(1)f(n)=logn2; g(n)=logn+5
(2)f(n)=logn2; g(n)=√n
(3)f(n)=n; g(n)=log2 n
(4)f(n)=nlogn+n; g(n)=logn
(5)f(n)=10; g(n)=log10
(6)f(n)=log2 n; g(n)=logn
(7)f(n)=2n; g(n)=100n2
(8)f(n)=2n; g(n)=3n
在这里插入图片描述

算法实现题

1.1 统计数字问题

问题描述:一本书的页码从自然数1开始顺序编码直到自然数n。书的页码按照通常的习惯编排,每个页码都不含多余的前导数字0。例如,第6页用数字6表示,而不是06或006等。数字计数问题是要求对给定书的页码n,计算出书的全部页码分别用多少次数字0,1,2,…,9。
编程任务:给定表示书的总页码的十进制整数n(1≤n≤≤10^9)。编程计算书的全部页码中分别用到多少次数字0, 1, 2,…,9。
数据输入:输入数据由文件名的input.txt的文本文件提供。每个文件只有1行,给出表示书的总页码的整数n。
结果输出:程序运行结束时,将计算结果输出到文件output.txt中。输出文件共有10行,在第k行输出页码中用到数字k-1的次数,k=1,2,…,10。
输入文件示例 输出文件示例
Input.txt output.txt
11 1
4
1
1
1
1
1
1
1
1

# -*- coding: utf-8 -*-
# @Time    : 2021/3/16 10:59
# @Author  : 拔牙不打麻药
# @FileName: HW1_test1.py
# @Software: PyCharm

import os

input_address = "./input.txt"
output_address = "./output.txt"
# 打开写好的output.txt 里面是11,表示11页
with open(input_address,
  • 23
    点赞
  • 161
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论
《知到app算法设计与分析》是一本讲述算法设计与分析的教材。通过阅读这本教材,我们可以了解到算法设计的基本概念、算法的分类、算法分析的方法以及常见的数据结构和算法问题。 在第二章中,主要介绍了算法的基本概念和算法分析的方法。首先,算法的定义是一组完成特定任务的有限步骤集合。算法要具备以下特点:明确性、有限性、确定性和有效性。然后,根据算法的执行顺序,可以将算法分为序列、选择和循环结构。序列结构是指算法按照一定顺序执行,选择结构是根据条件选择执行不同的代码块,循环结构是重复执行某段代码。 接下来,教材介绍了算法分析的方法。算法分析主要用于评估和比较不同算法的性能。常见的算法分析方法包括时间复杂度和空间复杂度。时间复杂度表示算法执行所需的时间,可以通过估计算法中基本操作的执行次数来进行评估。空间复杂度表示算法执行所需的额外存储空间,也可以通过估计变量和数据结构的存储量来进行评估。我们通常关注算法的最坏情况时间复杂度,即算法在最差情况下执行所需的时间。 此外,第二章还介绍了算法思维和算法设计的一些基本原则。算法思维是指通过分析问题、抽象问题和抽象解决方法来解决问题的能力。而算法设计的基本原则包括自顶向下的设计、递归和迭代的设计、模块化设计和算法的优化等。 总之,第二章主要介绍了算法的基本概念、算法分析的方法以及算法设计的一些基本原则。通过阅读和理解这些内容,我们可以更好地了解和应用算法设计与分析的知识。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

拔牙不打麻药

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值