当前位置: 首页 > news >正文

从手机上可以做网站吗关键词出价计算公式

从手机上可以做网站吗,关键词出价计算公式,做网站怎样连数据库,承德建设企业网站目录 时间复杂度推导大O方法求解时间复杂度的方法普通顺序结构单循环双循环递归Master定理(主定理)递归树方法 空间复杂度 一个算法的好坏根据什么来判断呢?有两种一种是时间效率,一种是空间效率。时间效率也可称为时间复杂度&…

目录

  • 时间复杂度
    • 推导大O方法
    • 求解时间复杂度的方法
    • 普通顺序结构
    • 单循环
    • 双循环
    • 递归
      • Master定理(主定理)
      • 递归树方法
  • 空间复杂度

一个算法的好坏根据什么来判断呢?有两种一种是时间效率,一种是空间效率。时间效率也可称为时间复杂度,空间效率可以称为空间复杂度。时间复杂度衡量的主要是算法的运行速度而空间复杂度主要衡量的是一个算法所需要的额外空间。

时间复杂度

在进行算法分析时,语句总的执行次数 T(n) 是关于问题规模 n 的函数,进而分析 T(n) 随 n 的变化情况并确定 T(n) 的数量级。算法的时间复杂度,也就是算法的时间量度,记作:T(n)=O(f(n))。 它表示随问题规模n 的增大,算法执行时间的增长率和 f(n) 的增长率相同,称作算法的渐近时间复杂度,简称为时间复 杂度。其中f(n) 是问题规模n 的某个函数。

定义很长,个人觉得了解即可,对于O()这种体现时间复杂度的方法,我们称之为大O记法

推导大O方法

  1. 用常数1取代运行时间中的所有加法常数。
  2. 在修改后的运行次数函数中,只保留最高阶项。
  3. 如果最高阶项存在且不是1,则去除与这个项相乘的常数。
    得到的结果就是大O 阶 。

求解时间复杂度的方法

时间复杂度有最坏时间复杂度,平均时间复杂度,也有最好情况的时间复杂度,但我们一般讨论的都是最坏时间按复杂度,并且如果没有特殊说明,我们也默认为算的是最坏时间复杂度。

我们去计算时间复杂度的时候,说白了也就是去数语句执行次数最多的,算出来的就是时间复杂度,不过要满足大O记法。
O(100)的时间复杂度为O(1),只有常数存在的时候,常数时间复杂度为O(1)

普通顺序结构

这种可以称作求时间复杂度最简单的。

    public static void main(String[] args) {System.out.println("你好!");}//执行了常数次,时间复杂度为O(1)

单循环

我建议大家做这种的时候要多动手,而不是光靠脑子想。尤其我们刚开始接触数据结构的时候。

    public void func(int n) {int i = 1;while (i <= n) {i = i * 2;}}

在这里插入图片描述
这里给大家留一个题,自己动手试试,看是否真懂了呢?

// 计算func4的时间复杂度?
void func4(int N) {
int count = 0;
for (int k = 0; k < n; k++) {
count++;
}
System.out.println(count);
}

双循环

这种分为两种,一种是内外两层互不影响,一种是外层会影响内层。

  1. 两层互不影响的时候
    在这里插入图片描述
    我们一般把log₂n简写成logn
  2. 外层会对内层产生影响的时候
    public void func2(int n) {int m = 0;for (int i = 1; i <= n; i++) {for (int j = 1; j <= (2 * i); j++) {m++;}}}

在这里插入图片描述
希望大家能掌握这种方法,这样对于多层循环也就不害怕了,道理都一样

递归

前段时间看到一个求递归算法时间复杂度的视频,我觉得很容易让人理解,希望也能帮助到你们。

Master定理(主定理)

在这里插入图片描述 * 我们比较下面这两个哪个时间复杂度大就用哪个
在这里插入图片描述
一、规则一
如果左半部大,那么我们最后直接取左半部分作为结果
在这里插入图片描述

二、规则二
如果上面两个算出结果相等,我们需要取左半部分结果再乘上logn,两个组合起来才为最后结果
在这里插入图片描述
三、规则三
当比较两个,如果右边大,我们需要再判断下面图片这个式子
在这里插入图片描述
如果计算后均满足这两个条件,最后结果就是右边的那个结果。

递归树方法

在这里插入图片描述
我们拿第一个举例。
在这里插入图片描述
我们画出了递归树,这种求解复杂度方法是:叶子数 + 层数 * f(n)

对于上面这些方法,核心还是要根据代码能推出正确的式子。T(n)=T(n-1)+ 其余操作的时间复杂度,这个式子含义就是求时间复杂度的时候等于前n-1的时间复杂度加上另外一些其他的操作所需要用到的时间复杂度。

时间复杂度大小排序:O(1)<0(logn)<0(n)<0(nlogn)<0(n²)<0(n³)<0(2”)<0(n!)<O(n”)

空间复杂度

算法的空间复杂度通过计算算法所需的存储空间实现,算法空间复杂度的计算公式记作:S(n)=0(f(n)), 其 中 ,n 为问题的规模,f(n) 为语句关于 n 所占存储空间的函数。空间复杂度的求解也符合大O记法。

穿插个题外话,现在估计还有好多人弄不清KB,GB,MB的大小关系,希望大家能记住,因为不知道啥时候就会用到。
1GB=1024MB 1MB=1024KB 1KB=1024字节

  • 我们在计算空间复杂度的时候,计算的是变量的个数而不是占用了多少空间。
  • 函数运行时所需要的栈空间(存储参数、局部变量、一些寄存器信息等)在编译期间已经确定好了,因此空间复杂度主要通过函数在运行时候显式申请的额外空间来确定。

空间复杂度的计算,这我就不细说了,相信大家都有相关的教材,这部分可以参考教材来学习怎么计算

http://www.dinnco.com/news/60569.html

相关文章:

  • 有没有专做烘焙的网站产品营销网站建设
  • 做融资的网站有哪些活动推广文案
  • dreamweaver8做网站推广方案范例
  • 北京网站搭建服务廊坊seo关键词排名
  • 福州企业网站建站模板广告策划案优秀案例
  • 设计网站推荐百度贴吧网络推广的平台有哪些
  • 威海制作网站我想在百度上发布广告怎么发
  • 垂直电商网站有哪些页面seo优化
  • wordpress添加客服seo网课培训
  • 葫芦岛建设信息网站免费二级域名申请网站
  • 庆祝公司网站上线windows优化大师电脑版
  • 学习做网站要多久手机网站排名优化
  • 做淘宝客需要建网站吗怎样注册自己网站的域名
  • 上海地铁最新公告站长工具seo综合查询怎么用
  • 网站源码可以做淘宝客网站外链发布平台
  • 用邮箱地址做网站域名好吗图片外链工具
  • 做ic贸易去什么网站好专业培训seo的机构
  • 成品网站包含后台么简述seo的基本步骤
  • 做卡贴质量好的网站品牌设计
  • 网站排名下降的原因国外网站排名前十
  • 龙岩做网站阜阳seo
  • 网站开发需求分析模板seo快速排名软件案例
  • 寻花问柳专做男人的网站重庆seo技术教程博客
  • 个人简历模板下载word格式信阳seo公司
  • linode 搭建wordpressseo168小视频
  • 网站建设项目收获百度一下生活更好
  • 上海优质建筑设计网上海网站优化
  • 做多语言网站教程seo技术软件
  • 有什么做礼品的卖家网站简单的网页设计源代码
  • 青岛cms建站系统软文广告发布平台