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

企业门户网站的建设与实现长沙商城网站建设

企业门户网站的建设与实现,长沙商城网站建设,浙江网架公司,中国建设传媒网官网最近下班一直在学习和总结Python#xff0c;最近在整理数据结构和算法这方面的知识#xff0c;虽然大学的时候也学过数据结构(c语言版本)#xff0c;但是工作这几年一直在做前端所以#xff0c;这方面的知识也忘了差不多#xff0c;所以就想整理一下#xff0c;方便以后自…最近下班一直在学习和总结Python最近在整理数据结构和算法这方面的知识虽然大学的时候也学过数据结构(c语言版本)但是工作这几年一直在做前端所以这方面的知识也忘了差不多所以就想整理一下方便以后自己复习。 下面会说几段代码是想说一下几个概念1大O表示法它主要是用来表示算法效率的一个衡量方法也叫时间复杂度的表示方法。2 算法的特征。3Python内置性能分析。 我们先看一道题 “如果 abc1000且 a^2b^2c^2a,b,c 为自然数如何求出所有a、b、c可能的组合?” 相信大家再看到这个题的时候一定有自己的思路下面是第一种方法。 import timestart_time time.time() for a in range(1001):for b in range(1001):for c in range(1001):if a b c 1000 and a**2 b**2 c**2:print(a, b, c : %d, %d, %d%(a, b, c)) end_time time.time()print(time: %d%(end_time - start_time)) print(finished) 我们打印一下结果看计算出这个答案需要的时间。一共是 208秒 a, b, c : 0, 500, 500 a, b, c : 200, 375, 425 a, b, c : 375, 200, 425 a, b, c : 500, 0, 500 time: 208 finished 算法的概念是算法是计算机处理信息的本质因为计算机程序本质上是一个算法来告诉计算机确切的步骤来执行一个任务。简单来说算法是告诉计算机第一步干什么。第二步干什么....然后就任务完成OK。 算法是独立存在的一种解决问题的方法和思想。 比如说上面这个问题在JavaScript语言里面实现的语法就不一样了但是解决这个问题的思路是一样的。对于算法而言实现的语言并不重要重要的是思想。 算法的五大特性了解     1、输入算法具有0个或者多个输入。     2、输出算法至少有1个或者多个输出。算法就是结果问题解决问题后总要有个结果吧     3、又穷性算法在有限的步骤之后会自动结束而不会无限循环。     4、确定性算法中的每一步都有确定的含义不会出现二义性     5、可行性算法的每一步都是可行的。 下面是另外一种方法实现上述问题。 import timestart_time time.time() for a in range(1001):for b in range(1001):c 1000 - a - bif a**2 b**2 c**2:print(a, b, c: %d, %d, %d%(a,b, c))end_time time.time()print(time: %d%(end_time - start_time)) print(finished) 我们来看一下结果和执行的时间。 a, b, c: 0, 500, 500 a, b, c: 200, 375, 425 a, b, c: 375, 200, 425 a, b, c: 500, 0, 500 time: 1 finished 可以看出算出来的答案和第一种方法一样但是时间确实相差很大。第一次是208秒第二次是1秒相信大家一下就能看出两个算法的优劣了。 大家看到这个执行时间会有什么想法呢我的想法是第二个算法的效率真高这两个算法不同那么算法的效率怎么衡量呢 我们最直观的感觉是执行时间比如上面两个算法200多秒和1秒的差距还是挺大的。所以我们可以直观的得出一个结论“实现算法程序的执行时间可以反映出算法的效率即算法的优劣“。 但是我们单看从执行时间来判断算法的优劣这样可信吗 假设我们将第二次尝试的算法程序运行在一台配置古老性能低下的计算机中情况会如何很可能运行的时间并不会比在我们的电脑中运行算法一的214.583347秒快多少。 单纯依靠运行的时间来比较算法的优劣并不一定是客观准确的 程序的运行离不开计算机环境包括硬件和操作系统这些客观原因会影响程序运行的速度并反应在程序的执行时间上。 为了客观的反映出算法的优劣提出了时间复杂度与“大O记法”。 我们先看一下 大O表示法的概念。 “大O记法对于单调的整数函数f,如果存在一个整数函数g和实常数c0,使得对于充分大的n总有f(n) c*g(n)就是说函数g是f的一个渐进函数忽略常数记为f(n) O(g(n))。也就是说在趋向无穷的极限意义下函数f的增长速度受到函数g的约束亦即函数f与函数g的特征相似” 时间复杂度假设存在函数g使得算法A处理规模为n的问题示例所用时间为T(n)O(g(n))则称O(g(n))为算法A的渐近时间复杂度 简称时间复杂度记为T(n) 我们假定计算机执行算法每一个基本操作的时间是固定的一个时间单位那么有多少个基本操作就会花费多少时间单位。虽然对于不同的机器环境而言确切的单位时间是不同的但是对于算法进行多少个基本操作即花费的时间单位在规模数量级却是相同的由此可以忽略机器环境的影响而客观的反应算法的时间效率。  简单来说 就是基本操作的数量。 我们先看第一个算法这个算法的操作的基本数量,对于一些加减乘除赋值来说每一都算一个 步骤     1000 * 1000 * 1000 * 9     如果有 n 个话     n * n *n *9 n^3 * 9 我们看 第二个算法 这个算法的步骤     1000 * 1000 * 9     如果有n 个的话     n *n * 9 n^2 * 9 我们主要关注算法的最坏情况亦即最坏时间复杂度 算法分析 01-demo.py 的T(n) O(n*n*n) O(N^3) 02-demo.py 的T(n) O(n*n) O(N^2) 由此可见第二种算法要比第一种算法的时间复杂度好多了。 常见时间复杂度之间的关系 O(1) O(log*n) O(n) O(n*log*n) O(n^2) O(n^3) O(2^n) O(n!) O(n^n)
http://www.pierceye.com/news/235493/

相关文章:

  • 伍佰亿搜索引擎网站系统wordpress 增加备案
  • 韩国做游戏的电影 迅雷下载网站有哪些网络营销方式文献
  • 大学生兼职网站的融资方案龙华网站建设设计制作公司
  • 青之峰网站建设哪家好用什么l软件做网站了
  • 免费建站资源怎么编写app软件
  • 机关网站建设建议云南响应式网站建设
  • 对网站开发语言的统计杭州网站设计公司有哪些
  • 不会代码 怎么做网站兴义网络推广
  • 综合电子商务型企业网站怎么做网站的网盘
  • ucenter使用自己做的网站房地产新闻时事热点
  • 企业网站备案 过户电商运营视频教程
  • 做网站运营这工作怎么样北京网站优化价格
  • 河南专业网站建设网站怎么做高权重
  • 国内大型电子网站建设做网站时怎么透明化
  • 微应用和微网站的区别手机网站开发的目的
  • 网站ico开一个网站建设公司好
  • wordpress中文站cn外贸网站怎么换域名
  • 淘宝客怎么做直播网站吗学校网站建设发展概况分析
  • 广州网站外贸推广建筑师必看的16部纪录片
  • 深圳网站建设平台网站右侧浮动广告
  • 中英文网站源码浙江东南网架公司
  • 个人备案网站放什么资料培训
  • html做企业门户网站提供设计的网站
  • 成都三合一网站建设成年s8视频加密线路
  • 做网站购买服务器如何优化网络
  • 企业公司网站 北京怎样用前端知识制作企业网站
  • 精湛的赣州网站建设襄阳哪里有做网站的
  • 拿了网赌代理后怎样做自己的网站河南最新消息今天
  • 北京最大的网站开发公司中山市企业网站seo营销工具
  • 苏州营销型网站建设方案哪些网站做的比较好的