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

网站做移动端欧美网站建设

网站做移动端,欧美网站建设,深圳市建设工程造价站官网,网站开发的条件一、时间复杂度 时间复杂度(Time Complexity)表示算法运行时间随输入规模增长的变化趋势。通常用大 O 表示法(Big O Notation)来描述。 常见时间复杂度 复杂度名称例子O(1)常数时间复杂度访问数组中的某个元素。O(log n)对数时间复…

一、时间复杂度


时间复杂度(Time Complexity)表示算法运行时间随输入规模增长的变化趋势。通常用大 O 表示法(Big O Notation)来描述。

常见时间复杂度
复杂度名称例子
O(1)常数时间复杂度访问数组中的某个元素。
O(log n)对数时间复杂度二分查找。
O(n)线性时间复杂度遍历数组或链表。(一重循环)     
O(n log n)线性对数时间复杂度快速排序、归并排序。  
O(n²)平方时间复杂度冒泡排序、选择排序(双重循环
O(2ⁿ)指数时间复杂度递归求解斐波那契数列(未优化)。
O(n!)阶乘时间复杂度旅行商问题(穷举所有排列)。

 例子

1. O(1):常数时间复杂度

int getFirstElement(int[] arr) {return arr[0]; // 无论数组多大,只需一次操作
}

2. O(n):线性时间复杂度

void printArray(int[] arr) {for (int i = 0; i < arr.length; i++) { // 遍历数组,操作次数与数组长度成正比System.out.println(arr[i]);}
}

3. O(n²):平方时间复杂度

void bubbleSort(int[] arr) {for (int i = 0; i < arr.length; i++) {for (int j = 0; j < arr.length - 1; j++) { // 双重循环,操作次数与数组长度的平方成正比if (arr[j] > arr[j + 1]) {swap(arr, j, j + 1);}}}
}

4. O(log n):对数时间复杂度

int binarySearch(int[] arr, int target) {int left = 0, right = arr.length - 1;while (left <= right) {int mid = left + (right - left) / 2;if (arr[mid] == target) return mid;if (arr[mid] < target) left = mid + 1;else right = mid - 1;}return -1;
}

二、空间复杂度


空间复杂度(Space Complexity)表示算法运行过程中所需的额外存储空间随输入规模增长的变化趋势。通常也用大 O 表示法描述。

常见空间复杂度
复杂度名称例子
O(1)常数空间复杂度只使用固定数量的变量。
O(n)线性空间复杂度使用一个与输入规模成正比的数组或列表。  
O(n²)平方空间复杂度使用一个二维数组(如邻接矩阵)。  

例子

1. O(1):常数空间复杂度

int sum(int a, int b) {return a + b; // 只使用了固定数量的变量(a 和 b)
}


2. O(n):线性空间复杂度

int[] copyArray(int[] arr) {int[] newArr = new int[arr.length]; // 创建了一个与输入数组大小相同的新数组for (int i = 0; i < arr.length; i++) {newArr[i] = arr[i];}return newArr;
}

3. O(n²):平方空间复杂度

int[][] createMatrix(int n) {int[][] matrix = new int[n][n]; // 创建了一个 n x n 的二维数组for (int i = 0; i < n; i++) {for (int j = 0; j < n; j++) {matrix[i][j] = i + j;}}return matrix;
}

三. 如何分析时间复杂度和空间复杂度

时间复杂度分析


1. 找出基本操作:通常是循环、递归、条件判断等。
2. 计算基本操作的执行次数:通常与输入规模(如数组长度 `n`)有关。
3. 用大 O 表示法表示:忽略常数项和低阶项。

void printPairs(int[] arr) {for (int i = 0; i < arr.length; i++) { // O(n)for (int j = 0; j < arr.length; j++) { // O(n)System.out.println(arr[i] + ", " + arr[j]); // O(1)}}
}

总时间复杂度:`O(n) * O(n) * O(1) = O(n²)`。

空间复杂度分析


1. 找出额外存储空间:通常是变量、数组、递归栈等。
2. 计算存储空间的大小:通常与输入规模(如数组长度 `n`)有关。
3. 用大 O 表示法表示:忽略常数项和低阶项。

例子

int[] reverseArray(int[] arr) {int[] result = new int[arr.length]; // O(n)for (int i = 0; i < arr.length; i++) {result[i] = arr[arr.length - 1 - i];}return result;
}


总空间复杂度:`O(n)`(用于存储 `result` 数组)。

4. 总结

时间复杂度:衡量算法运行时间随输入规模增长的变化趋势。
空间复杂度:衡量算法运行过程中所需的额外存储空间随输入规模增长的变化趋势。
大 O 表示法:忽略常数项和低阶项,关注增长趋势。

谢谢deepseek,存个档

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

相关文章:

  • 网站建设业务的途径合肥网站优化seo
  • 搭建网站要不要给域名对方百度seo白皮书
  • 网站上的qq如何做悬浮销售网络平台
  • 在网盘上怎么做自己的网站吴中seo页面优化推广
  • 网页制作与网站建设教程网站开发的步骤
  • 买网站做seo第一推广网
  • 微信网站如何开发seo关键字优化技巧
  • 渌口区市政建设局网站常州seo博客
  • 专业建设外贸网站制作江门学营销app哪个更好
  • 天津自动网站建设调试营销技巧和话术
  • 网页设计汽车网站建设公司查询
  • 网站开发技术是平台推广
  • 嘉兴seo公司网站网页在线秒收录
  • 商城网站哪个公司做的好aso优化推广
  • 合肥专业做公司网站百度竞价推广投放
  • 网站主持人制作网站代言人如何查看百度指数
  • 昆山品牌网站建设网站优化的方式有哪些
  • wordpress搭建购物网站济宁百度推广价格
  • 做电影网站赚钱的方法合肥网站制作推广
  • 用jsp做的网站在不同浏览器显示效果差异很大如何解决打开百度一下的网址
  • 北京建设信源资讯有限公司网站大数据查询
  • 上海网站推广排名百度搜索排名
  • 查看网站开发语言广州seo推广
  • 崇左网站建设全国疫情最新情况
  • 做响应网站福州排名seo公司
  • 万能浏览器手机版下载seo关键字怎么优化
  • 自己做网站靠什么赚钱吗培训网站源码
  • 海口网站开发百度收录网站需要多久
  • 网站界面用什么做b2b平台免费推广网站
  • 赣州品牌网站建设网站制作工具有哪些