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

建设网站的公司专业服务营销软件网站

建设网站的公司专业服务,营销软件网站,京东企业采购平台,网站制作书籍推荐文章目录 前言计算机重要存储数据结构与算法数据结构概念算法 数据库概念 算法的复杂度时间复杂度概念为什么有时间复杂度大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/25374.html

相关文章:

  • 客户说做网站价格高市场调研流程
  • 聊城建网站哪家好seo网络推广什么意思
  • 做音乐网站赚钱吗seo是什么意思呢
  • wordpress搜站点网络中断广州网站建设技术外包
  • 做网站阳泉网络营销策划书格式
  • 网站推广到海外怎么做sem数据分析
  • 三视觉设计网站网络优化公司哪家好
  • 地方网站全网营销seo优化关键词
  • 网站购物车js代码怎么做培训心得体会感悟
  • 免费云电脑整站优化和关键词优化的区别
  • 网站推广需要几个人做网络营销推广seo
  • 武汉响应式网站定制开发网站seo综合查询
  • 企业网站修改流程百度网盘网页版
  • 贵州城乡住房和建设厅网站新闻头条今日要闻10条
  • 怎么显示隐藏的wordpress惠州seo关键字排名
  • 海南: 加快推进全岛封关运作西藏自治区seo 标题 关键词优化
  • 大连手机自适应网站制作价格网页设计自学要多久
  • 用tomcat做网站目录软文营销文章范文
  • 做麻将网站免费的网站推广平台
  • 网站开发费属于无形资产优化防控措施
  • 3.0效果网站建设多少钱搜索引擎网址
  • c 网站开发流程网页制作接单
  • 百度上搜不到网站营销方案100例
  • 做网站需要懂什么技术360优化大师app
  • 汉阳网站推广优化宁波网站推广代运营
  • 网站承载量怎么做微信营销的成功案例
  • 让你做一个旅游网站你会怎么做如何进行搜索引擎优化?
  • 做链接的网站微信营销的优势
  • 重庆住建委官网查询系统长春seo结算
  • 做名片赞机器人电脑网站是多少钱如何建立公司网站网页