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

水利建设相关网站wordpress 相册主题

水利建设相关网站,wordpress 相册主题,怎样做网站api接口,pc网站开发获取位置文章目录 一、数据结构和算法简介二、算法复杂度1. 时间复杂度2. 空间复杂度 一、数据结构和算法简介 数据结构是计算机存储、组织数据的方式#xff0c;指相互之间存在一种或多种特定关系的数据元素的集合。没有一种单一的数据结构对所有用途都有用#xff0c;所以我们要学… 文章目录 一、数据结构和算法简介二、算法复杂度1. 时间复杂度2. 空间复杂度 一、数据结构和算法简介 数据结构是计算机存储、组织数据的方式指相互之间存在一种或多种特定关系的数据元素的集合。没有一种单一的数据结构对所有用途都有用所以我们要学习各种各样的数据结构比如线性表、树、图、哈希等等。 算法是定义良好的计算过程。简单来说算法就是一系列的计算步骤用来将输入数据转换成输出结果。衡量一个算法的好坏需要从算法的复杂度来分析。 二、算法复杂度 算法在编写成可执行程序后运行时需要耗费时间资源和空间内存资源因此衡量一个算法的好坏一般是从时间和空间两个维度来看即时间复杂度和空间复杂度。时间复杂度主要衡量一个算法的运行快慢空间复杂度主要衡量一个算法运行所需要的额外空间。 1. 时间复杂度 在计算机科学中T(N)描述了该算法的指令执行次数并不是计算程序的运行时间。因为一个程序的运行时间不仅关乎算法本身还有编译器版本、机器配置新旧等等因素。 T(N)计算了程序的执行次数假设每句指令执行时间基本一样实际有差别但是微乎其微那么执行次数和运行时间就成等比关系执行次数就能代表程序运行时间效率的优劣。比如对于同一个问题算法a的T(N)N算法b的T(N)N2那么算法a的时间效率优于算法b。 计算时间复杂度要注意由于CPU一秒可以处理上亿条代码指令所以变量的单次定义语句可以忽略时间复杂度只计算循环语句。而我们计算时间复杂度只是想比较算法程序的增长量级也就是N不断变大时T(N)的差别而**常数项和低阶项对结果的影响很小甚至最高项的系数也可以忽略影响所以我们只保留最高项并且它的系数视作1。如果T(N)中没有任何关于N的项时间复杂度就是1。复杂度的最终表示通常使用O的渐进表示法。** 例如 T(N)3N22N10则时间复杂度为O(N2) T(N)5N3N25N则时间复杂度为O(N3) T(N)6则时间复杂度为O(1) 来几个例子分析就懂了 void Func1(int N) { int count 0; //忽略for (int i 0; i N ; i) { for (int j 0; j N ; j) { count; //N^2次} } for(int k 0; k 2*N ; k) { count; //2N次} int M 10; //忽略while(M--) { count; //10次} } //T(N)N^22N10 时间复杂度为O(N^2)void Func2(int N) {int count 0;for(int k0; k100; k){count; //100次} printf(%d,count); } //T(N)100 时间复杂度为O(1)void func3(int n) {int cnt 1;while(cnt n)cnt * 2; } //n2时执行次数为1。n4时执行次数为2。n16时执行次数为4 ...... //假设执行次数为x则2^xn。xlog n时间复杂度为O(logN) //对数的底数对结果的影响也可以忽略因此不管底数是多少都可以省略不写都表示为log nlong long func4(size_t N) {if(N0)return 1;return func4(N-1)*N; } //递归也是一种循环递归算法的时间复杂度是单次递归的时间复杂度乘递归次数 //时间复杂度为O(1)×N O(N)void func5(int N, int M) {int count 0;for(int k 0; kN; k)count; //N次for(int k 0; kM; k)count; //M次printf(%d, count); } //T(N)NM //若NM则时间复杂度为O(N)。若M远大于N则为O(M)。若N远大于M则为O(N)除此之外有些算法的时间复杂度还存在最好、平均、最坏情况。最好情况是任意输入规模的最小运行次数下界最坏情况是任意输入规模的最大运行次数上界。一般情况下我们都关注算法的最坏运行情况。比如冒泡排序算法就存在这样的情况 最好情况是数组已经有序时间复杂度就是O(N)最坏情况是数组完全逆序时间复杂度是O(N2)因此冒泡排序的时间复杂度取最差情况O(N2) 2. 空间复杂度 空间复杂度也是一个数学表达式是对一个算法在运行过程中需要额外临时开辟的空间。空间复杂度并不是程序运行所占用的内存大小计算的是变量的个数。大多数算法使用的是有限个变量所以空间复杂度为O(1)。但对于递归算法递归的空间复杂度等于单词递归的空间复杂度乘以递归次数即O(1)×NO(N) 在实际算法题目中我们尤其关注时间复杂度空间复杂度就不是特别重要了。 本篇完感谢阅读
http://www.zqtcl.cn/news/36058/

相关文章:

  • 网站建设与管理用什么软件有哪些内容书法网站建设
  • 网站建设补充协议搜狗输入法下载安装
  • 河北网站优化公司服务类产品
  • 游戏网站建设策划方案模板餐饮酒店网站怎么做
  • vps打开网站很慢江苏建发建设项目咨询有限公司网站
  • 广州网站备案方案淄博信息港
  • 潘家园做网站公司莱芜网站优化方案
  • 举报网站建设情况汇报网站开发 pdf
  • 二级网站怎么做wordpress 放大镜插件
  • 淄博网站制作平台形象wordpress 离线编辑
  • 新网站收录多少关键词阿里云服务器可以做几个网站
  • 网站建设需要摊销多久网页模板下载
  • 华强北网站建设十大网络营销成功案例
  • 工程建设网站怎么提交分析公司网站的开发策略
  • 湖北seo网站设计企业宣传册模板
  • 顺德专业网站制作黄骅市人事考试网
  • 枣阳网站建设怎样做网站3天赚100万
  • 自己服务器做网站如何备案wordpress自动标签添加内链插件
  • 技术支持 网站建设做食品企业网站的费用
  • 网站地图制作软件怎么自己做wordpress主题
  • 贵州网站建设营销公司资兴做网站公司
  • 备案期间 需要关闭网站网站自己推广
  • 杭州网站建设制作九江便宜做网站
  • 网站推广策划方案书中国人在国外做网站网站代理
  • 快速搭建个人网站贵阳讯玛网站建设
  • 网站备案被退回网络培训意义
  • 找网站做q币asp.net 建网站
  • 东坑镇网站建设wordpress更改目录
  • 凡客诚品官方网站首页免费的网站给一个
  • 做国外贸易哪个网站好ppt在线制作网页