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

高端建设网站企业公司主页网站设计

高端建设网站企业,公司主页网站设计,清朝王爷,wordpress 显示纯文字文章目录 前言计算机重要存储数据结构与算法数据结构概念算法 数据库概念 算法的复杂度时间复杂度概念为什么有时间复杂度大O渐进表示法时间复杂度实例实例1:时间复杂度:O(N)实例2:这里输入参数是不确定的所以 时间复杂…

文章目录

  • 前言
  • 计算机重要存储
    • 数据结构与算法
      • 数据结构概念
      • 算法
    • 数据库
      • 概念
  • 算法的复杂度
  • 时间复杂度
    • 概念
    • 为什么有时间复杂度
    • 大O渐进表示法
    • 时间复杂度实例
      • 实例1:时间复杂度:O(N)
      • 实例2:这里输入参数是不确定的所以 时间复杂度为O(M+N)

前言

计算机重要存储

  • 重要存储分为俩种:内存硬盘

数据结构与算法

数据结构概念

数据结构(Data Structure)是计算机存储、组织数据的方式,指相互之间存在一种或多种特定关系的数据元素的集合。

*简述
对内存进行数据管理

算法

算法(Algorithm):就是定义良好的计算过程,他取一个或一组的值为输入,并产生出一个或一组值作为输出。简单来说算法就是一系列的计算步骤,用来将输入数据转化成输出结果。

简述

对数据进行处理

数据库

概念

*简述
对硬盘进行数据管理

算法的复杂度

算法在编写成可执行程序后,运行时需要耗费时间资源和空间(内存)资源。
因此衡量一个算法的好坏,一般是从时间和空间两个维度来衡量的,即时间复杂度和空间复杂度。时间复杂度主要衡量一个算法的运行快慢,而空间复杂度主要衡量一个算法运行所需要的额外空间。在计算机发展的早期,计算机的存储容量很小。所以对空间复杂度很是在乎。但是经过计算机行业的迅速发展,计算机的存储容量已经达到了很高的程度。所以我们如今已经不需要再特别关注一个算法的空间复杂度。

时间复杂度

概念

时间复杂度的定义:在计算机科学中,算法的时间复杂度是一个函数,它定量描述了该算法的运行时间。一个算法执行所耗费的时间,从理论上说,是不能算出来的,只有你把你的程序放在机器上跑起来,才能知道。但是我们需要每个算法都上机测试吗?是可以都上机测试,但是这很麻烦,所以才有了时间复杂度这个分析方式。一个算法所花费的时间与其中语句的执行次数成正比例,算法中的基本操作的执行次数,为算法的时间复杂度。

即:找到某条基本语句与问题规模N之间的数学表达式,就是算出了该算法的时间复杂度

为什么有时间复杂度

时间复杂度能让我们了解当前思路的执行程序次数。 当一个问题拥有几个解决的思路算出解决思路的时间复杂度,可知最优的解决思路

大O渐进表示法

大O渐进表示法:

是用于描述函数渐进行为的数学符号。
估算出来的时间复杂度
推导大O阶方法:
1、用常数1取代运行时间中的所有加法常数。
2、在修改后的运行次数函数中,只保留最高阶项。
3、如果最高阶项存在且不是1,则去除与这个项目相乘的常数。得到的结果就是大O阶。

有些时间复杂度分为多种情况:例如: 最好 - 平均 - 最坏

能让算法的时间复杂度在预估计的执行范围内

时间复杂度实例

实例1:时间复杂度:O(N)

// 计算Func2的时间复杂度?
void Func2(int N)
{int count = 0;for (int k = 0; k < 2 * N ; ++ k) 这里执行2N次{++count;}int M = 10;while (M--) 执行10{++count;}printf("%d\n", count);
}

实例2:这里输入参数是不确定的所以 时间复杂度为O(M+N)

void Func3(int N, int M)
{int count = 0;for (int k = 0; k < M; ++ k) 执行M次{++count;}for (int k = 0; k < N ; ++ k) N次{++count;}printf("%d\n", count);}

实例3:输入参数与执行次数无关 执行常数次 所以是 O(1)

void Func4(int N)
{int count = 0;for (int k = 0; k < 100; ++ k){++count;}printf("%d\n", count);
}

实例4
这里从一个字符串中寻找一个字符 寻找的情况分为
最好:1-前几个找到
平均:在中间前后范围找到
最坏:最后一找到 or 没有找到
时间复杂度取最坏情况:所以是O(N)

// 计算strchr的时间复杂度?
const char * strchr ( const char * str, int character );
{while(*str){if(*str==character)return str;else++str;}}

实例5:
计算时间复杂度最好是按思路计算 数循环不能正确算出所有的时间复杂度
排序:将数据按升序或降序排列
冒泡排序的思想:一组数据 从第一个和第二个比较,按升序排列如果后一个小于前一个交换数值,否则不交换,接着第二个和第三个比较,直至比较到最后一个和前一个相比较,最后最大值交换到最后一项,下一趟只需比较到最后一项的前一个选出次大的。
第一次的执行次数为n-1次,因为一次俩俩比较,比较到最后
例如俩俩比较一共5个数据,执行总数据个数-1次
下一趟选出次大的,执行总数据-2次
一直到不足两个数据结束。
在这里插入图片描述

((1+n-1)*(n-1))/2 时间复杂度:O(N^2)

Void BubbleSort(int* a, int n)
{assert(a);for (size_t end = n; end > 0; --end){int exchange = 0;for (size_t i = 1; i < end; ++i){if (a[i-1] > a[i]){Swap(&a[i-1], &a[i]);exchange = 1;}}if (exchange == 0)break;}
}

http://www.zhongyajixie.com/news/38706.html

相关文章:

  • 关于电商网站建设的论文软文小故事200字
  • 网站开发项目需求分析说明书网络推广公司网站
  • 节日网站设计怎么免费推广自己网站
  • 网站从哪些方面来做广告推广方案怎么写
  • 网站怎么做友情链接南宁百度首页优化
  • 做网站用什么语言好app推广注册接单平台
  • 网站开发项目教程站长工具seo综合查询 分析
  • 网站没有备案网店推广策划书
  • 虚拟机上做网站网站排名优化查询
  • app 设计网站建设营销策划书模板
  • 网站推广的公司博客seo怎么做
  • 在网站上做远程教育系统多少钱进行seo网站建设
  • 武汉品牌网站建设临沂google推广
  • 广州白云手机网站建设最近的时事新闻
  • wordpress网站示例太原百度seo排名软件
  • 免费云主机永久使用免费体验网站如何优化关键词排名
  • 厦门市建设局官方网站什么优化
  • 柚子网站建设数据分析网页
  • 网站首页被降权的原因怎么在网络上推广
  • 国外做的比较的ppt网站有哪些如何推广一个品牌
  • 大连华南网站建设百度助手免费下载
  • 网站做打鱼游戏挣钱吗网站优化一年多少钱
  • 砀山做网站的公司优网营销
  • 微信小程序开发和网站开发的区别google关键词
  • yahoo网站提交网络营销做得比较成功的企业
  • 阳泉做网站公司专注于网站营销服务
  • 做网站有免费的吗关键词网站排名查询
  • 广告设计与制作专业就业岗位谷歌seo外链平台
  • 用c 做一个小网站怎么做有广告位怎么找广告商
  • 做毕业设计网站需要的工具做销售记住这十句口诀