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

政务公开与网站建设网站优化系统

政务公开与网站建设,网站优化系统,做网站建设有哪些公司,学校门户网站作用1. 时间复杂度 时间复杂度衡量的是算法运行时间与输入规模之间的关系。它通常用大O记号(Big O Notation)表示,例如 O(1)、O(n)、O(n2) 等。 衡量方法: 常数时间复杂度 O(1):无论输入规模如何,算法的执行时…
1. 时间复杂度

时间复杂度衡量的是算法运行时间与输入规模之间的关系。它通常用大O记号(Big O Notation)表示,例如 O(1)、O(n)、O(n2) 等。

衡量方法

  • 常数时间复杂度 O(1):无论输入规模如何,算法的执行时间是固定的。

  • 线性时间复杂度 O(n):算法的执行时间与输入规模成正比。

  • 平方时间复杂度 O(n2):算法的执行时间与输入规模的平方成正比。

  • 对数时间复杂度 O(logn):算法的执行时间与输入规模的对数成正比。

2. 空间复杂度

空间复杂度衡量的是算法运行过程中额外占用的内存空间与输入规模之间的关系。它也用大O记号表示。

衡量方法

  • 常数空间复杂度 O(1):算法运行过程中只占用固定数量的额外空间。

  • 线性空间复杂度 O(n):算法运行过程中占用的额外空间与输入规模成正比。

  • 平方空间复杂度 O(n2):算法运行过程中占用的额外空间与输入规模的平方成正比。


示例:C语言程序

示例1:线性搜索(时间复杂度 O(n),空间复杂度 O(1))
#include <stdio.h>int linearSearch(int arr[], int n, int target) {for (int i = 0; i < n; i++) {  // 遍历数组,时间复杂度 O(n)if (arr[i] == target) {return i;  // 找到目标值,返回索引}}return -1;  // 未找到目标值,返回 -1
}int main() {int arr[] = {10, 20, 30, 40, 50};int n = sizeof(arr) / sizeof(arr[0]);int target = 30;int result = linearSearch(arr, n, target);if (result != -1) {printf("Element found at index %d\n", result);} else {printf("Element not found\n");}return 0;
}

分析

  • 时间复杂度:O(n),因为算法需要遍历整个数组。

  • 空间复杂度:O(1),因为算法只使用了常量级的额外空间(变量 iresult)。


示例2:冒泡排序(时间复杂度 O(n2),空间复杂度 O(1))
#include <stdio.h>void bubbleSort(int arr[], int n) {for (int i = 0; i < n - 1; i++) {  // 外层循环 n-1 次for (int j = 0; j < n - i - 1; j++) {  // 内层循环 n-i-1 次if (arr[j] > arr[j + 1]) {int temp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = temp;  // 交换相邻元素}}}
}void printArray(int arr[], int n) {for (int i = 0; i < n; i++) {printf("%d ", arr[i]);}printf("\n");
}int main() {int arr[] = {64, 34, 25, 12, 22, 11, 90};int n = sizeof(arr) / sizeof(arr[0]);printf("Original array: ");printArray(arr, n);bubbleSort(arr, n);printf("Sorted array: ");printArray(arr, n);return 0;
}

分析

  • 时间复杂度:O(n2),因为算法包含两层嵌套循环。

  • 空间复杂度:O(1),因为算法只使用了常量级的额外空间(变量 ijtemp)。


示例3:递归实现的斐波那契数列(时间复杂度 O(2n),空间复杂度 O(n))
#include <stdio.h>int fibonacci(int n) {if (n <= 1) {return n;  // 基本情况}return fibonacci(n - 1) + fibonacci(n - 2);  // 递归调用
}int main() {int n = 10;printf("Fibonacci number at position %d is %d\n", n, fibonacci(n));return 0;
}

分析

  • 时间复杂度:O(2n),因为递归树的深度为 n,每个节点都有两个分支。

  • 空间复杂度:O(n),因为递归调用栈的最大深度为 n。


总结

  • 时间复杂度:衡量算法的运行时间,通常用大O记号表示。

  • 空间复杂度:衡量算法运行过程中占用的额外内存空间,也用大O记号表示。

  • 在实际开发中,时间和空间复杂度需要综合考虑,以选择最适合问题的算法。

http://www.dtcms.com/wzjs/14695.html

相关文章:

  • 做网站费用怎么核算此网站不支持下载视频怎么办
  • 做公司网站写什么信息前端培训哪个机构靠谱
  • 网站域名商代理商淘宝seo关键词的获取方法有哪些
  • 微信链接网站怎么做的seo兼职
  • 做游戏模板下载网站有哪些宁德市人力资源和社会保障局
  • 未来中森网站建设网络营销策划模板
  • 宝鸡网站建设求职简历十大最靠谱it培训机构
  • 国外做软件界面的设计网站网站排名优化软件联系方式
  • 企业网站做的公司线上卖货平台有哪些
  • 早晨设计 做网站设计吗信息流广告优化师
  • 网站未备案做seo会被k吗网络营销课程个人总结范文
  • 礼品工艺品网站建设高端网站建设公司
  • 手机移动网络屏蔽的网站百度seo技术
  • 如何查看网站所用空间免费网站在线观看人数在哪
  • 票务系统网站模板网站推广的基本方法
  • 做天猫网站多少钱郑州seo排名优化公司
  • 建构网站西安深圳外贸推广公司
  • 网站建设的基础知识个人推广平台
  • 专业做财经直播网站有哪些厦门seo网站管理
  • 怎么找做网站的疫情最新政策最新消息
  • 企业做网站的痛点有哪些郑州网站托管
  • wordpress端口不生效seo自动优化工具
  • 网站开发翻译插件全国疫情防控最新数据
  • 前端网站页面模板下载百度手机助手下载安卓版
  • 福永响应式网站建设百度云搜索引擎官网
  • 做网站的公司都有哪些岗位营销技巧和营销方法心得
  • 自己开发网站要多少钱seo实战视频
  • 郑州企业网站价格h5下一页
  • 国外 外贸 网站 源码河南网站建设
  • 建筑工程网校排行榜正规网站优化推广