(1).有以下程序:

求输入的n值(除1和n)之外的所有因子之和。

分析:这里函数内的循环体i初值不能为零。%是表示“取余”,0除以任何数都不会存在余数的,所有是余数为0.

(2).有以下程序:

形参m(2<=m<=9),在二维数组中存放一张m行m列的表格,有main函数输出
规则如下,使得每一列的数据以每一行首个数字为公差进行递增。

分析:主要就是输出显示二维数组,根据输入n的多少,来执行几行几列。

(3).有以下程序:

将长整型数中每一位上为偶数的数一次逆向取出,构成一个新数,高位在地位,地位在高位。

eg:25846513——————>输出:6482

分析:*t = d*k + *t;····>第一遍写的时候出错,忘记了传过来的是地址,应该解应用操作。这个错误经常考,不易发现。

(4).下列数据结果中,属于非线性结构的是【C】

A.循环队列

B.带链队列

C.二叉树

D.带链栈

分析:常见的线性结构:一维数组(栈)、链表、队列

常见的非线性结构:数、森林、图

栈:先进后出

队列:先进先出

(5).有序线性链表进行二分查找的前提是该线性表必须是【有序存储的(二分法)】

(6).一棵二叉树的中序遍历结果为DBEAFC,前序遍历结果为ABDECF,则后序遍历结果为【DEBFCA】

前序遍历:先输出父结点,再遍历左子树和右子树。

中序遍历:先遍历左子树,在输出父节点,再遍历右子树。

后序遍历:先遍历左子树,在遍历右子树,最后输出父节点。

小结:看输出父节点的顺序,就确定是前序、中序还算后序。

(7).算法的空间复杂度是指【A】,算法的时间复杂度是指【E】。

A.算法在执行过程中所需要的计算机存储空间

B.算法所处理的数据量

C.算法程序中的语句或指令条纹

D.算法在执行过程中所需要的临时工作单元数

E.算法在运行过程中所需要的时间

算法复杂度的计算方法:

时间复杂度指算法运行需要的时间,一般将算法的基本运算执行次数作为时间复杂度的度量标准。

总执行次数=1+1+n+n+n*n+n*(n+1)=2n^2+2n+1次,T(n^2)=2*n^2+2*n+1.当n足够大时,运行时间取决于最高项。因此后面可以忽略不计,舍小项,舍系数。即用时间复杂度的渐进上界O表示,那么该算法的时间复杂度为O(n^2)。【循环体最内部的循环次数往往是最多的!】

所以:对于一个算法,往往考察最坏的情况是怎样的,而不是考察最好的情况,最坏的情况对于衡量算法的好坏具有实际意义。

空间复杂度的计算方法:

空间复杂度是指在运行过程中占用了多少的存储空间,算法占用的存储空间包括:输入输出数据、算法本身、额外需要的辅助空间。

输入输出空间是必须的,算法的占用空间可以通过代码的精简来减免,而在运行是使用的辅助空间,是衡量空间复杂度的关键因素,一般将算法的辅助空间作为衡量空间复杂度的标准。

该算法使用了一个辅助空间,即空间复杂度为O(1)

day 11 算法的时间空间复杂度的更多相关文章

  1. 二叉树遍历问题、时间空间复杂度、淘汰策略算法、lru数据结构、动态规划贪心算法

    二叉树的前序遍历.中序遍历.后序遍历 前序遍历 遍历顺序规则为[根左右] ABCDEFGHK 中序遍历 遍历顺序规则为[左根右] BDCAEHGKF 后序遍历 遍历顺序规则为[左右根] DCBHKGF ...

  2. 【C++】四种排序算法的时间比较

    四种排序算法的时间比较 [注]clock函数对输入(用户输入)元素N排序的计时 #include<iostream> #include<time.h> using namesp ...

  3. 算法时间复杂度、空间复杂度(大O表示法)

    什么是算法? 计算机是人的大脑的延伸,它的存在主要是为了帮助我们解决问题. 而算法在计算机领域中就是为了解决问题而指定的一系列简单的指令集合.不同的算法需要不同的资源,例如:执行时间或消耗内存. 如果 ...

  4. Python(算法)-时间复杂度和空间复杂度

    时间复杂度 算法的时间复杂度是一个函数,它定量描述了该算法的运行时间,时间复杂度常用“O”表述,使用这种方式时,时间复杂度可被称为是渐近的,它考察当输入值大小趋近无穷时的情况 时间复杂度是用来估计算法 ...

  5. MOD 10,11算法(GB/T 17710-1999 数据处理 校验码系统 )的 Python实现

    以上是算法简要说明,以下代码为Python实现,不过注意代码中的N=15,不是16. # GB/T 17710 双模校验算法 # QQ 3257132998 def GB_Code(str): str ...

  6. hiho一下 第四十八周 拓扑排序·二【拓扑排序的应用 + 静态数组 + 拓扑排序算法的时间优化】

    题目1 : 拓扑排序·二 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi和小Ho所在学校的校园网被黑客入侵并投放了病毒.这事在校内BBS上立刻引起了大家的讨论,当 ...

  7. SLAM: 图像角点检测的Fast算法(时间阈值实验)

    作为角点检测的一种快速方法,FastCornerDetect算法比Harris方法.SIft方法都要快一些,应用于实时性要求较高的场合,可以直接应用于SLAM的随机匹配过程.算法来源于2006年的Ed ...

  8. [游戏模版11] Win32 动画 时间消息

    >_<:This time we will study a new way to operate your picture.That is running your picture by ...

  9. MOD 10,11算法(GB/T 17710-1999 数据处理 校验码系统 ),使用javascript实现

    原文链接:http://chunniu.info/p/74.html GB/T 17710-1999 数据处理 校验码系统 ,便于使用,使用javascript做了一个页面 [php] var NUM ...

随机推荐

  1. 🔥🔥🔥【已开源】Flutter 腾讯优量汇广告插件,帮助开发者获利 - FlutterAds

    前言 Flutter 已成为目前最流行的跨平台框架之一,在近期的几个大版本的发布中都提到了 Flutter 版本 Google 广告插件 [google_mobile_ads] .对于"出海 ...

  2. CF499B Lecture 题解

    Content 有一个教授用 \(\texttt{A}\) 语言讲课.你觉得他讲的太快了,所以决定使用 \(\texttt{A}\) 语言和 \(\texttt{B}\) 语言记笔记. 已知 \(\t ...

  3. python 安装模块报错 response.py", line 302, in _error_catcher

    python 安装模块报错 Exception:Traceback (most recent call last): File "/usr/share/python-wheels/urlli ...

  4. 报错处理 java.lang.ClassNotFoundException: org.apache.commons.beanutils.DynaBean

    java.lang.ClassNotFoundException: org.apache.commons.beanutils.DynaBean at org.apache.catalina.loade ...

  5. MimeTypes数值表

    我们常常需要再前端附件进行上传的时候,就设定只能选择固定的后缀的上传文件,这时就需要用到我们MimeTypes表 MimeTypes表 mimes = [("ez", " ...

  6. win10+vs2015编译nanogui

    !!版权声明:本文为博主原创文章,版权归原文作者和博客园共有,谢绝任何形式的 转载!! 作者:mohist 说明: A.OS : win10 1909 ,没有配置OpenGL开发环境的 经历. B. ...

  7. C语言补漏-逗号运算符与逗号表达式

    1. 新名词? 今天看到一个新名词: 逗号表达式. C语言就有.额,怎么当时学习C没见过,一头雾水. 对我来说是新名词,其实它早就存在了,只是我还不知道. 2. 逗号表达式 C语言提供了逗号运算符-- ...

  8. 【LeetCode】232. Implement Queue using Stacks 解题报告(Python & Java)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 Python解法 Java解法 日期 [LeetCo ...

  9. Proximal Algorithms 2 Properties

    目录 可分和 基本的运算 不动点 fixed points Moreau decomposition 可分和 如果\(f\)可分为俩个变量:\(f(x, y)=\varphi(x) + \psi(y) ...

  10. 使用 JavaScript 中的变量、数据类型和运算符,计算出两个 number 类型的变量与一个 string 类型的变量的和,根据 string 类型处于运算符的不同位置得到不同的结果

    查看本章节 查看作业目录 需求说明: 使用 JavaScript 中的变量.数据类型和运算符,计算出两个 number 类型的变量与一个 string 类型的变量的和,根据 string 类型处于运算 ...