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

深圳哪家公司做网站好购物网站开发问题域分析

深圳哪家公司做网站好,购物网站开发问题域分析,中小型网站有哪些,wordpress不写标题发布目录 一、前言 二、时间复杂度 1.时间复杂度定义 2.时间复杂度描述方法 三、实例代码 实例1#xff08;取影响最大的项#xff09; 实例2#xff08;舍去系数#xff09; 实例3#xff08;不确定大小关系的用max函数取最大#xff09; 实例4#xff08;常数次的…目录 一、前言 二、时间复杂度 1.时间复杂度定义 2.时间复杂度描述方法 三、实例代码 实例1取影响最大的项 实例2舍去系数 实例3不确定大小关系的用max函数取最大 实例4常数次的时间复杂度取O(1) 实例5取最坏时间复杂度 实例6不能通过循环层次确定时间复杂度需要理解算法思想 实例7时间复杂度中以2为底的对数可以省略底数2直接写成logN但是其他底数不可以省略 实例8递归的时间复杂度是递归的次数 实例9双目递归的时间复杂度 一、前言 如何衡量一个算法的好坏 看时间复杂度和空间复杂度 二、时间复杂度 1.时间复杂度定义 在计算机科学中算法的时间复杂度是一个函数它定量描述了该算法的运行时间。 一个算法所花费的时间与其中语句执行次数成正比例算法中的基本操作的执行次数为算法的时间复杂度。 2.时间复杂度描述方法 大O复杂度表示法 求算法中语句的执行次数总和 (1)取影响最大的项 (2)舍去系数 (3)常数次的时间复杂度取O(1) (4)不确定大小关系的用max函数取最大 (5)求和出现多种情况的取最坏时间复杂度 (6)不可根据循环层次来确定时间复杂度需要明白算法思想确定时间复杂度 (7)时间复杂度中以2为底的对数可以省略底数2直接写成logN但是其他底数不可以省略 (8)递归的时间复杂度是递归的次数 三、实例代码 实例1取影响最大的项 F(N)N*N2N10 时间复杂度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;for (int k 0; k 2 * N; k)count;int M 10;while (M--)count; } 实例2舍去系数 F(N)2N10 时间复杂度O(N)  void Func2(int N) {int count 0;for (int k 0; k 2 * N; k)count;int M 10;while (M--)count; } 实例3不确定大小关系的用max函数取最大 F(N)MN 时间复杂度O(max(M,N))   void Func3(int N, int M) {int count 0;for (int k 0; k M; k)count;for (int k 0; k N; k)count; } 实例4常数次的时间复杂度取O(1) 常数次的时间复杂度取O(1) O(1)并不是代表1次而是常数次 F(N)200 时间复杂度O(1)  void Func4(int N) {int count 0;for (int k 0; k 200; k)count; } 实例5取最坏时间复杂度 时间复杂度O(N)  const char* strchr(const char* str, int character) {while (*str){if (*str character)return str;str;} } 实例6不能通过循环层次确定时间复杂度需要理解算法思想 这是一个快速排序Quick Sort算法的核心代码函数Swap用来交换两个变量的值函数PartSort用来进行快排的分区操作 具体地快速排序的思想是通过一趟排序将要排序的数据分割成独立的两部分其中一部分的所有数据都比另外一部分的所有数据都要小然后再按此方法对这两部分数据分别进行快速排序整个过程可以递归进行。 在PartSort函数中首先选取最左边的元素作为关键字keyi使用两个指针left和right分别从数组的左端和右端开始向中间扫描找到第一个大于等于关键字的元素和第一个小于等于关键字的元素然后交换它们的位置直到left和right相遇。最后再将关键字元素与left所指向的元素进行交换此时keyi左边的元素均小于等于keyi右边的元素均大于等于keyi完成了一次分区操作。 时间复杂度O(N) int PartSort(int* a, int left, int right) {int keyi left;while (left right){while (left right a[right] a[keyi])//找小--right;while (left right a[left] a[keyi])//找大left;Swap(a[left], a[right]);}Swap(a[keyi], a[left]); } 实例7时间复杂度中以2为底的对数可以省略底数2直接写成logN但是其他底数不可以省略 时间复杂度O(logN) //整型有序数组的二分查找法 int binary_search(int arr[], int size, int num) {int left 0;int right size - 1;int mid (right - left) / 2 left;//优化取平均值的计算方法while (left right){if (arr[mid] num){left mid 1;mid (right - left) / 2 left;}else if (arr[mid] num){right mid - 1;mid (right - left) / 2 left;}else if (arr[mid] num){return mid;}}return -1; } 实例8递归的时间复杂度是递归的次数 时间复杂度O(N) //求n的阶乘 long long Fac(long long n) {assert(n 1);if (n 1)return 1;elsereturn n * Fac(n - 1); } 实例9双目递归的时间复杂度 其实这样计算一种粗略的计算因为上图二叉树实际上是不满的。但由于时间复杂度的计算本身就是估算所以不影响。 F(N)2^02^12^2……2^(N-3)2^(N-2) 2^(N-1)2^0 时间复杂度O(2^N) 该算法效率极其低实用性不大且2^n结果随着n的增大是指数性暴增 //求斐波那契数列前n项和 long long Fibonaci(long long n) {if (n 3)return 1;elsereturn Fibonaci(n - 1) Fibonaci(n - 2); }
http://www.pierceye.com/news/613554/

相关文章:

  • 简单个人网站wordpress插件查询
  • 上海做网站搜索一下马来西亚的网站建设的竞争对手的分析
  • 建站优化易下拉系统163邮箱登录注册
  • c 做网站电子商务平台中搜索词拆解包括
  • 腾讯云10g数字盘做网站够么四川省建设人才网
  • 批量 网站标题中海园林建设有限公司网站
  • 鲜花网站数据库建设免费律师咨询
  • 团队网站建设哪家便宜制作公司网站流程
  • 青龙桥网站建设企业网页是什么
  • 上海网站建设备案号怎么恢复法律咨询网站开发
  • 烟台做网站价格动力网站建设
  • 北戴河网站建设墨刀制作网页教程
  • 成都网站设计开发做得好微信商城怎么开发
  • 江西省城乡建设培训网-官方网站上海建设集团有限公司
  • 凡科网站设计模板grimhelm wordpress
  • 自己做的网站不备案行吗建筑工程集团有限公司
  • 网站初期 权重怎么做彩票类网站开发
  • 南通网站定制公司服务器网站建设维护合同
  • 亳州做商标网站的公司免费的网站模板
  • 西南城乡建设部网站首页python3做网站教程
  • 网站首页设计欣赏个人电影网站建设
  • 导航网站建设怎么给网站图片加alt
  • 备案成功后怎么建设网站宠物喂养网页设计模板以及代码
  • 东莞哪家网站建设比较好wordpress更改语言设置
  • 如何找做网站的客户wordpress适合视频网站吗
  • 网站建设的业务流程图拔萝卜视频播放在线观看免费
  • 建个网站要多少钱高安网站制作
  • dw设计模板百度ocpc如何优化
  • 苏宁网站优化与推广html教程网站
  • 怎么做网站网页免费高清屏幕录像