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

广州建设网站是什么合肥网络推广软件

广州建设网站是什么,合肥网络推广软件,现在有专业做海鲜的网站没有,英文b2b网站制作常见的时间复杂度 计算方法1、确定输入规模: 输入规模通常用 n 表示,例如数组长度、链表长度等。2、分析算法的执行步骤: 计算每个操作的执行次数。 确定操作的执行次数与输入规模的关系。3、忽略常数和低阶项: 在大O表示法中&am…

常见的时间复杂度

计算方法1、确定输入规模:
输入规模通常用 n 表示,例如数组长度、链表长度等。2、分析算法的执行步骤:
计算每个操作的执行次数。
确定操作的执行次数与输入规模的关系。3、忽略常数和低阶项:
在大O表示法中,常数和低阶项可以忽略,只保留最高阶项。
例如,O(3n² + 2n + 1) 简化为 O(n²)。

举例:

假设有一个算法,其执行步骤如下:arr = [1, 2, 3, 4, 5]
for i in arr:  # O(n)for j in arr:  # O(n)print(i, j)外层循环:执行 n 次。
内层循环:每次外层循环执行 n 次。
总执行次数:n * n = n²。
时间复杂度:O(n²)。

 

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

    • 不论输入规模如何,算法的执行时间是固定的。

    • 示例:访问数组的某个元素。

      arr = [1, 2, 3]
      print(arr[1])  # 时间复杂度为 O(1)
  2. O(n):线性时间复杂度

    • 算法的执行时间与输入规模成正比。

    • 示例:遍历一个数组。

      arr = [1, 2, 3, 4, 5]
      for i in arr:print(i)  # 时间复杂度为 O(n)
  3. O(n²):二次时间复杂度

    • 算法的执行时间与输入规模的平方成正比。

    • 示例:嵌套循环。

      arr = [1, 2, 3, 4, 5]
      for i in arr:for j in arr:print(i, j)  # 时间复杂度为 O(n²)
  4. O(log n):对数时间复杂度

    • 算法的执行时间与输入规模的对数成正比。

    • 示例:二分查找。

      def binary_search(arr, target):left, right = 0, len(arr) - 1while left <= right:mid = (left + right) // 2if arr[mid] == target:return midelif arr[mid] < target:left = mid + 1else:right = mid - 1return -1  # 时间复杂度为 O(log n)
  5. O(n log n):线性对数时间复杂度

    • 算法的执行时间与输入规模的对数成正比。

    • 示例:快速排序、归并排序。

      def merge_sort(arr):if len(arr) <= 1:return arrmid = len(arr) // 2left = merge_sort(arr[:mid])right = merge_sort(arr[mid:])return merge(left, right)  # 时间复杂度为 O(n log n)

 

 空间复杂度

定义:空间复杂度是指算法在运行过程中消耗的内存资源量级,通常用输入规模(如数组长度、链表长度等)来表示。

表示方法:空间复杂度也用大O符号(O)表示,例如 O(1)、O(n)、O(n²) 等。

计算方法1)确定输入规模:
输入规模通常用 n 表示,例如数组长度、链表长度等。2)分析算法使用的额外内存:
计算算法中使用的额外空间(如变量、数组、递归栈等)。
确定额外空间的使用量与输入规模的关系。3)忽略常数和低阶项:
在大O表示法中,常数和低阶项可以忽略,只保留最高阶项。
例如,O(3n² + 2n + 1) 简化为 O(n²)。

 

假设有一个算法,其执行步骤如下:

Python复制

def merge_sort(arr):if len(arr) <= 1:return arrmid = len(arr) // 2left = merge_sort(arr[:mid])  # 创建左半部分数组right = merge_sort(arr[mid:])  # 创建右半部分数组return merge(left, right)  # 合并两个数组
  • 递归调用:每次递归调用会创建两个子数组。

  • 空间复杂度

    • 每次递归调用创建的子数组占用 O(n) 的空间。

    • 递归深度为 O(log n)。

    • 总空间复杂度为 O(n)(递归栈空间)。

常见的空间复杂度

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

    • 不论输入规模如何,算法使用的额外内存是固定的。

    • 示例:交换两个变量的值。

      a, b = 1, 2
      a, b = b, a  # 空间复杂度为 O(1)
  2. O(n):线性空间复杂度

    • 算法使用的额外内存量与输入规模成正比。

    • 示例:复制一个数组。

      arr = [1, 2, 3, 4, 5]
      new_arr = arr[:]  # 空间复杂度为 O(n)
  3. O(n²):二次空间复杂度

    • 算法使用的额外内存量与输入规模的平方成正比。

    • 示例:创建一个二维数组。

      arr = [[0] * n for _ in range(n)]  # 空间复杂度为 O(n²)
http://www.hkea.cn/news/337897/

相关文章:

  • 网站建设评价东莞谷歌推广
  • php网站后台进不去百度推广入口官网
  • 个人网站一键生成免费推广网站有哪些
  • 厦门做网站设计电商seo优化
  • wordpress视频点播seo技术是干什么的
  • 网站推广是怎么做的网络营销专业如何
  • 平面设计线上兼职上海网站seo
  • 个性化网站定制价格今日热点
  • 做网站的艰辛免费个人网站申请
  • 网站改版需要多久网站设计与制作毕业论文范文
  • 深圳横岗网站建设网站建设的推广渠道
  • 有没有什么网站免费做名片2023年新闻小学生摘抄
  • 新网金商网站外链查询工具
  • 网站建设的进度竞价托管选择微竞价
  • 网站快速网站推广怎么做一个公司网站
  • 旅游网站模板htmlseo品牌优化整站优化
  • 方圆网站建设aso优化重要吗
  • 做购实惠网站的意义好用的搜索引擎有哪些
  • 怎么把自己笔记本做服务器做个网站搭建网站基本步骤
  • jeecms做企业网站成都网站建设公司排名
  • 沈阳招聘网站开发地推项目平台
  • 798艺术区成都seo达人
  • 平度网站建设抖音代运营收费详细价格
  • 株洲网站优化找哪家seo优化的价格
  • 找印度人做网站sem竞价推广公司
  • 山西网站推广公司网站关键词优化怎么弄
  • 微信分销是什么重庆优化seo
  • 武汉企业网站推广方案永久免费无代码开发平台网站
  • 网站开发岗位群怎样推广产品
  • 桐城市美丽乡村建设专题网站石家庄整站优化技术