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

flashfxp上传网站wordpress怎么修改首页网址导航

flashfxp上传网站,wordpress怎么修改首页网址导航,wordpress标签扩展,中国纪检监察报多少钱一份时间和空间复杂度 1. 算法效率2. 时间复杂度2.1 时间复杂度的概念2.2 大O的渐进表示法2.3 推导大O阶方法2.4 常见时间复杂度计算举例例1例2例3例4 计算 bubbleSort的时间复杂度例5 计算binarySearch的时间复杂度#xff1f;例6 计算阶乘递归factorial的时间复杂度#xff1f;… 时间和空间复杂度 1. 算法效率2. 时间复杂度2.1 时间复杂度的概念2.2 大O的渐进表示法2.3 推导大O阶方法2.4 常见时间复杂度计算举例例1例2例3例4 计算 bubbleSort的时间复杂度例5 计算binarySearch的时间复杂度例6 计算阶乘递归factorial的时间复杂度例7 计算斐波那契递归fibonacci的时间复杂度 3. 空间复杂度例1 计算bubbleSort的空间复杂度例2 计算fibonacci的空间复杂度例3 计算阶乘递归Factorial的空间复杂度 4. 总结 1. 算法效率 算法效率分为两种第一种是时间效率第二种是空间效率。时间效率被称为时间复杂度而空间效率被称作空间复杂度。时间复杂度主要衡量的是一个算法的运行速度而空间复杂度主要衡量一个算法所需要的额外空间在计算机发展的早期计算机的存储容量很小。所以对空间复杂度很是在乎。但是经过计算机行业的迅速发展计算机的存储容量已经达到了很高的程度。所以我们如今已经不需要再特别关注一个算法的空间复杂度。 2. 时间复杂度 2.1 时间复杂度的概念 时间复杂度的定义在计算机科学中算法的时间复杂度是一个数学函数它定量描述了该算法的运行时间。一个算法执行所耗费的时间从理论上说是不能算出来的只有你把你的程序放在机器上跑起来才能知道。但是我们需要每个算法都上机测试吗是可以都上机测试但是这很麻烦所以才有了时间复杂度这个分析方式。一个算法所花费的时间与其中语句的执行次数成正比例算法中的基本操作的执行次数为算法的时间复杂度即一个算法的运行时间和这个算法当中的语句执行次数有关系语句执行次数越多运行时间就多成正比的一个关系。 2.2 大O的渐进表示法 // 请计算一下func1基本操作执行了多少次//F(N) n^2 2n 10 O(n^2)void func1(int N) {int count 0;for (int i 0; i N; i) {for (int j 0; j N; j) {count; //nnn...n 即n*nn^2}}for (int k 0; k 2 * N; k) {count; //2n}int M 10;while ((M--) 0) {count; //10}System.out.println(count);}Func1执行的基本操作次数 F(N) N^2 2*N 10 实际中我们计算时间复杂度时我们其实并不一定要计算精确的执行次数而只需要大概执行次数那么这里我们使用大O的渐进表示法。 大O符号Big O notation是用于描述函数渐进行为的数学符号 2.3 推导大O阶方法 1、用常数1取代运行时间中的所有加法常数。 2、在修改后的运行次数函数中只保留最高阶项。 3、如果最高阶项存在且不是1则去除与这个项目相乘的常数。得到的结果就是大O阶。 使用大O的渐进表示法以后即随着N越来越大时 10和2*n会很小可以省略Func1的时间复杂度为O(N^2) 通过上面我们会发现大O的渐进表示法去掉了那些对结果影响不大的项简洁明了的表示出了执行次数。 另外有些算法的时间复杂度存在最好、平均和最坏情况 最坏情况任意输入规模的最大运行次数(上界) 平均情况任意输入规模的期望运行次数 最好情况任意输入规模的最小运行次数(下界) 例如在一个长度为N数组中搜索一个数据x 最好情况1次找到 最坏情况N次找到 平均情况N/2次找到 在实际中一般情况关注的是算法的最坏运行情况所以数组中搜索数据时间复杂度为O(N) 2.4 常见时间复杂度计算举例 时间复杂度的计算需要配合逻辑来看的 例1 // 计算func2的时间复杂度//F(N) 2n 10 O(N)nvoid func2(int N) {int count 0;for (int k 0; k 2 * N ; k) {count; // 2n}int M 10;while ((M--) 0) {count; //10}System.out.println(count);}例2 // 计算func3的时间复杂度// nm O(nm)void func3(int N, int M) {int count 0;for (int k 0; k M; k) {count; //m}for (int k 0; k N ; k) {count; //n}System.out.println(count);}例3 // 计算func4的时间复杂度// O(1)void func4(int N) {int count 0;for (int k 0; k 100; k) {count; // 100}System.out.println(count);}例4 计算 bubbleSort的时间复杂度 O(n^2而在最好情况下就是原本就是已经排好的顺序O(n) // 计算bubbleSort的时间复杂度//F(N)(1n-1)*(n-1)/2 1/2*n^2 - 1/2*n n^2 即O(n^2)void bubbleSort(int[] array) {for (int end array.length; end 0; end--) { //Nboolean sorted true;for (int i 1; i end; i) { // n-1 n-2 ..21//即当end的值不一样 执行的次数也不一样 (1n-1)*(n-1)/2if (array[i - 1] array[i]) {Swap(array, i - 1, i);sorted false;}}if (sorted true) {break;}}}private void Swap(int[] array, int i, int i1) {}例5 计算binarySearch的时间复杂度 二分查找 一次砍一半 -- n n/2 n/4 … 1 即n/2^x1 -- n2^x 即log2^n O(log2^n) // 计算binarySearch的时间复杂度// 二分查找 一次砍一半 -- n n/2 n/4 ... 1 即n/2^x1 -- n2^x 即log2^n// O(log2^n)int binarySearch(int[] array, int value) {int begin 0;int end array.length - 1; //n-1while (begin end) {int mid begin ((end-begin) / 2);if (array[mid] value)begin mid 1;else if (array[mid] value)end mid - 1;elsereturn mid;}return -1;}例6 计算阶乘递归factorial的时间复杂度 递归的时间复杂度 递归的次数 * 每次递归后执行的次数 O(n) // 计算阶乘递归factorial的时间复杂度// 递归的时间复杂度 递归的次数 * 每次递归后执行的次数// O(n)long factorial(int N) { // n// 三目运算符不是循环 是一个判断 执行的次数是1return N 2 ? N : factorial(N-1) * N;}例7 计算斐波那契递归fibonacci的时间复杂度 F(N) - F(N-1) F(N-2) - F(N-2) F(N-3) F(N-3) F(N-4) 124...2^(n-1) 2^(n-1)-1 即 O(2^n)O(2^n) // 计算斐波那契递归fibonacci的时间复杂度// F(N) - F(N-1) F(N-2) - F(N-2) F(N-3) F(N-3) F(N-4)// 2^01 2^12 2^24 ... 2^(n-1)// 124...2^(n-1) 2^(n-1)-1 即 O(2^n)int fibonacci(int N) {return N 2 ? N : fibonacci(N-1)fibonacci(N-2);} 3. 空间复杂度 空间复杂度是对一个算法在运行过程中临时占用存储空间大小的量度 。空间复杂度不是程序占用了多少bytes的空间因为这个也没太大意义所以空间复杂度算的是变量的个数。空间复杂度计算规则基本跟时间复杂度类似也使用大O渐进表示法。 例1 计算bubbleSort的空间复杂度 O(1) // 计算bubbleSort的空间复杂度// 有临时变量 没有申请其它数组 O(1)void bubbleSort(int[] array) {for (int end array.length; end 0; end--) {boolean sorted true;for (int i 1; i end; i) {if (array[i - 1] array[i]) {Swap(array, i - 1, i);sorted false;}}if (sorted true) {break;}}}private void Swap(int[] array, int i, int i1) {}例2 计算fibonacci的空间复杂度 // 计算fibonacci的空间复杂度// 动态开辟了N个空间// O(n)long[] fibonacci(int n) {long[] fibArray new long[n 1]; // 重新申请了一个数组来存放数据fibArray[0] 0;fibArray[1] 1;for (int i 2; i n ; i) {fibArray[i] fibArray[i - 1] fibArray [i - 2];}return fibArray;}例3 计算阶乘递归Factorial的空间复杂度 // 计算阶乘递归Factorial的空间复杂度// 递归调用了N次开辟了N个栈帧每个栈帧使用了常数个空间 O(n)long factorial(int N) {return N 2 ? N : factorial(N-1)*N;}4. 总结 结合代码的实现去做 空间和时间复杂度的计算一些常用的复杂度大小 O(1) O(log2^n) O(n) O(n*log2的n次) O(n的平方)
http://www.zqtcl.cn/news/969763/

相关文章:

  • 医院网站优化策划网站开发的项目需求
  • 网站优化公司服务直播软件怎么开发
  • 网站建设 有道翻译织梦修改网站后备份
  • 苏州网联盛网站建设做最好的在线看片网站
  • 一个空间怎么放2个网站陕西城乡住房建设部网站
  • 如何购买虚拟主机做网站企业查名
  • 动易网站默认密码网站怎么做 吸引人
  • 站长工具国产2023二级建造师证书查询官方网站
  • 微信小程序联盟网站北京网站建设华大
  • 人事怎么做招聘网站比对分析crm管理系统 一般包含
  • 林业网站建设有哪些北京微信小程序开发
  • ppt素材网站建设流程图网站开发原型工具
  • 乡镇医院网站建设成都市企业网站建设
  • 网站编辑如何做原创网站中英切换实例
  • 哈尔滨道外区建设局官方网站wordpress简称
  • 教师网站建设企业实践总结华为应用商店下载安装
  • 常见的网站空间服务商资阳建设局网站
  • 惠通网站建设湖南seo优化服务
  • 网站建设价格标准wordpress花钱吗
  • 龙门惠州网站建设苏州公司注册查询
  • 城阳网站设计自建网站与平台建站
  • 网站建设文字教程wordpress xml生成
  • wordpress修改注册表广西seo网站
  • 新兴网站建设招商网站建设多少钱
  • 商城网站页面模板网页设计的首页如何设计官网
  • 我的世界做外国壁纸网站嘉兴推广公司
  • 网站制作在哪里找怎样上传wordpress模板
  • 网站设计时尚博业建站网
  • 网站建设前期如何规划免费的源代码分享有哪些网站
  • 长春网络培训seo