当前位置: 首页 > 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.zqtcl.cn/news/235493/

相关文章:

  • 网站界面尺寸珠海网站建设制作哪家专业
  • 上海闸北城市建设有限公司网站想学设计没有基础怎么办
  • 免费微网站哪个好用在线网页代理浏览免费
  • 广州建设专业网站寻找做项目的网站
  • 湛江网站建设方案服务卖wordpress主题
  • 扬州做网站的网络公司wordpress设置登录背景图片
  • 有哪些好的网站建设移动网站建设解决方案
  • 江苏网站建设公司排名高校门户网站建设问题
  • 网站怎么加关键词视频网站程序
  • 建设网站需要的人员及资金建设一个网站的具体流程
  • 北京长空建设有限公司网站网站开发制作培训学校
  • 哪些网站可以免费做推广呢o2o营销模式
  • 注册网站的流程南京今天的最新消息
  • 做网站的没有进项票怎么办张家口市一建公司官网
  • 建设网站的本质智慧团建手机版
  • 嘉兴网站建设有前途吗沈阳男科医院排名10强名单公布
  • 手机网站变灰17种新型商业模式
  • 图书网站开发需求文档模板做网站现在用什么语言
  • 创建网站主题在哪里接单赚钱平台
  • 企业做网站的流程权威发布新闻的含义
  • 国外大型购物网站桂林视频网站制作
  • 平度那里有做网站的网站设计技术入股
  • 张家港专业做网站网站设计与建设ppt
  • 香奈儿网站设计分析网站建设新闻发布注意事项
  • 建设网站策划南京网站开发建设
  • 哪些网站可以做任务挣钱如何查询企业电话号码
  • 福田网站 建设深圳信科手机 网站制作
  • 网站站内优化方案佛山外贸网站建设哪家好
  • 厦门市网站建设局平台网站如何优化
  • 电子书网站用dz还是wordpresswordpress搭建购物网站