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

网页模板免费下载html/太原网站seo

网页模板免费下载html,太原网站seo,域名在哪个网站卖好,廊坊建站文章目录数据结构算法算法分析时间复杂度空间复杂度数据结构 数据是信息的载体,是计算机程序加工的原料,数据元素是数据的基本单位,数据项是构成数据元素的最小单位。数据对象是具有相同性质的数据元素的集合(强调的是数据元素性…

文章目录

  • 数据结构
  • 算法
    • 算法分析
      • 时间复杂度
      • 空间复杂度

数据结构

数据是信息的载体,是计算机程序加工的原料,数据元素是数据的基本单位,数据项是构成数据元素的最小单位。数据对象是具有相同性质的数据元素的集合(强调的是数据元素性质的相同)。

在这里插入图片描述

数据结构是指相互之间存在一种或多种特定关系的数据元素的集合(强调的是数据元素之间的关系)。数据结构的三要素是逻辑结构、存储结构和数据运算。

请添加图片描述

算法

算法是为求解一个问题需要遵循的、被清楚指定的简单指令的集合。一个算法具有以下五个特性:

请添加图片描述

一个算法的设计取决于所选定的逻辑结构,而算法的实现依赖于所采用的存储结构。

算法分析

一旦给定一个算法并且确认其是正确的,那么重要的一步就是对这个算法进行算法分析,算法分析主要考虑算法的效率,算法效率包含以下两方面:

  • 时间效率:指算法所消耗的时间,用时间复杂度来表示。
  • 空间效率:指算法执行过程中所消耗的存储空间。用空间复杂度来表示。

时间复杂度

一个算法的运行的时间大致可以等于计算机执行算法指令的时间(ttt)与指令执行次数(nnn)的乘积。
T(n)=∑i=1nti×nT(n)=\sum_{i=1}^{n} t_i\times nT(n)=i=1nti×n

由于每个指令执行的时间由计算机的硬件和软件条件决定,和算法本身没有关系,因此可以将每个指令执行的时间可以看作一个单位时间,那么讨论算法执行时间的问题就变成了讨论算法执行频度的问题:

T(n)=∑i=1nnT(n)=\sum_{i=1}^{n} nT(n)=i=1nn

下面分析一下选择排序算法的执行频度:

public static void selectionSort(int []data){for (int i = 0; i < data.length-1; i++) { //n次int minIndex=i; //n-1次for (int j = i+1; j < data.length; j++) { //n(n-1)/2次if (data[j]<data[minIndex]){ //n(n-2)/2次minIndex=j; //n(n-2)/2次}}int temp=data[i]; //n-1次data[i]=data[minIndex]; //n-1次data[minIndex]=temp; //n-1次}
}

所以选择排序的执行频度为:
T(n)=3n2÷2+5n÷2−4T(n)=3n^2\div2+5n\div2-4T(n)=3n2÷2+5n÷24

但是这一过程也相当的繁琐并且结果难以比较,由公式
lim⁡x→∞anxn+an−1xn−1+⋯+a1x+a0bmxm+bm−1xm−1+⋯+b1x+b0={anbm,n=m0,n<m∞,n>m\lim\limits_{x\to\infty}\frac{a_nx^n+a_{n-1}x^{n-1}+\cdots+a_1x+a_0}{b_mx^m+b_{m-1}x^{m-1}+\cdots+b_1x+b_0}=\begin{cases}\frac{a_n}{b_m},n=m\\0,n<m\\\infty,n>m\end{cases}xlimbmxm+bm1xm1++b1x+b0anxn+an1xn1++a1x+a0=bman,n=m0,n<m,n>m
可知,如果存在一个函数f(n)f(n)f(n),使lim⁡n→∞T(n)f(n)=C(C≠0)\lim\limits_{n \to \infty}\frac{T(n)}{f(n)}=C(C\ne0)nlimf(n)T(n)=C(C=0),那么f(n)f(n)f(n)T(n)T(n)T(n)就是同阶的,记作T(n)=O(f(n))T(n)=O(f(n))T(n)=O(f(n))O(f(n))O(f(n))O(f(n))就称为算法的时间复杂度。那么上述选择排序的时间复杂度就为O(n2)O(n²)O(n2)。也就是说在寻找算法频度时不需要找出所有语句执行的频度,只需要找出对算法频度贡献最大的语句即可。此外,输入数据的性质会影响算法的执行频度,在这种情况下将算法的时间复杂度分为三种:

  • 最坏时间复杂度:输入数据的性质使算法的执行频度很高。
  • 平均时间复杂度:输入数据的性质使算法的执行频度很平均。
  • 最好时间复杂度:输入数据的性质使算法的执行频度很低。

但一般只考虑最坏时间复杂度,以保证算法的运行时间不会比它更长。在计算程序的时间复杂度时,有以下两条规则:

  • 加法原则:T(n)=T1(n)+T2(n)=O(f(n))+O(g(n))=O(max(f(n),g(n)))T(n)=T_1(n)+T_2(n)=O(f(n))+O(g(n))=O(max(f(n),g(n)))T(n)=T1(n)+T2(n)=O(f(n))+O(g(n))=O(max(f(n),g(n)))
  • 乘法原则:T(n)=T1(n)×T2(n)=O(f(n))×O(g(n))=O(f(n)×Og(n))T(n)=T_1(n)\times T_2(n)=O(f(n))\times O(g(n))=O(f(n)\times Og(n))T(n)=T1(n)×T2(n)=O(f(n))×O(g(n))=O(f(n)×Og(n))

常见时间复杂度的关系为:
O(1)<O(log2n)<O(n)<O(nlog2n)<O(n2)<O(n3)<O(2n)<O(n!)<O(nn)O(1)<O(log_2n)<O(n)<O(nlog_2n)<O(n^2)<O(n^3)<O(2^n)<O(n!)<O(n^n)O(1)<O(log2n)<O(n)<O(nlog2n)<O(n2)<O(n3)<O(2n)<O(n!)<O(nn)

空间复杂度

与时间复杂度类似,算法的空间复杂度记作:
S(n)=O(f(n))S(n)=O(f(n))S(n)=O(f(n))

它包括算法本身要占据的空间以及使用的辅助空间。在计算空间复杂度时只需要计算辅助空间即可,比如上述的选择排序算,它仅需要一个临时变量作为辅助空间,所以它的空间复杂度为O(1)O(1)O(1),当算法的空间复杂度为O(1)O(1)O(1)时称它在原地工作。注意,当函数递归调用时,要考虑每一次递归使用的辅助空间。

http://www.lbrq.cn/news/1553797.html

相关文章:

  • 新公司如何做网站/近期新闻热点
  • 用ps怎么做网站首页/竞价推广专员
  • 武汉建设学院网站/营销型网站建设推广
  • 我要制作网站/阿里云域名注册官网
  • 免费政府网站html模板/乱码链接怎么用
  • 销售手机网站的后期安排/seo的优化技巧和方法
  • 扁平化配色方案网站/职业培训机构资质
  • 手机优化对手机有影响吗/seo收录查询
  • 用电脑建立网站/军事新闻今日最新消息
  • ASPJSP动态网站开发/全球网站流量排名100
  • 大学生学风建设专题网站/添加友情链接的技巧
  • 信誉好的o2o网站建设/足球世界排名前十
  • 网站在vps能访问 在本地访问不了/手机自动排名次的软件
  • 公司网站建app/优化英文
  • 怎么在一个网站做编辑/爱战网关键词挖掘查询工具
  • 上海移动端网站建设/整合营销传播策划方案
  • 17网站一起做网店潮汕档口/百度快照推广排名
  • 装修设计软件哪个好用/江苏企业seo推广
  • 网络公司经营范围大全/成都专业seo公司
  • 简历网站后怎样才能被谷歌 百度收录吗/网络推广站
  • 在线代理网页版proxy/深圳seo优化电话
  • 山西建设部网站/seo怎么才能优化好
  • 毕业设计做啥网站好/免费发布广告信息平台
  • pc网站做app/注册网站域名
  • 济宁市环保局建设项目审批网站/2022百度指数排名
  • 深圳宝安区有什么好玩的地方/官网优化包括什么内容
  • 新疆住房和城乡建设厅网站/福州seo招聘
  • 网站设计案例欣赏/百度地图导航手机版免费下载
  • 网站建设人员分工表/设计网站大全
  • 延吉做网站/品牌传播方案
  • 基于Vue的个人博客网站的设计与实现/基于node.js的博客系统的设计与实现#express框架、vscode
  • 【完整源码+数据集+部署教程】无人机航拍视角洪水检测与受灾房屋识别图像分割救援指导系统源码和数据集:改进yolo11-DCNV2
  • 存算分离与云原生:数据平台的新基石
  • 广东省省考备考(第七十八天8.16)——资料分析、判断推理(强化训练)
  • 关系型数据库从入门到精通:MySQL 核心知识全解析
  • 办公效率提升指南:完成重复任务自动化