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

做网站公司郑州郑州的网站建设公司哪家好北京网站seo费用

做网站公司郑州郑州的网站建设公司哪家好,北京网站seo费用,网上商城制作,杭州企业建设网站公司常见的时间复杂度 计算方法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/703588/

相关文章:

  • 网站建站哪个公司好一点营销咨询服务
  • 值得玩的网页游戏北京seo营销培训
  • 中国建设银行网站分期通百度推广登录平台网址
  • 公司内部网站源码新闻软文推广案例
  • vf建设银行网站谷歌seo排名
  • 如何申请商业服务器武汉seo工厂
  • 祥云平台英文网站微博指数查询入口
  • 公司网站建设准备资料今日重大财经新闻
  • 发布网站后备案免费网站建站页面
  • 浙江建设职业技术学院迎新网站做一个网站要多少钱
  • axure做网站好不好手机百度问一问
  • 开发微信小程序的流程广州seo优化电话
  • 小企业网站建设和管理全能搜
  • 无棣县建设局网站游戏优化大师下载安装
  • 小额贷款 网站模板品牌推广软文
  • 网站建设开发成本天津百度搜索网站排名
  • 做的好的营销型网站有哪些内容外贸网站外链平台
  • 东营网站建设预算价格百度网盘网页版入口官网
  • 网站建设中标公告18款禁用看奶app入口
  • 网站运营人员岗位职责长沙正规seo优化价格
  • cnzz统计代码放在后台网站为什么没显示seo的英文全称是什么
  • 杭州企业网站建设方案广告门
  • 自己免费做网站(二)seo优化公司信
  • 广州外贸b2b网站建设刷钻业务推广网站
  • 做企业网站用什么怎样宣传自己的品牌
  • 濮阳做网站的公司我的百度账号
  • 美食网站开发如何做好网络营销工作
  • 网站建设案例资料今天的新闻内容
  • 台州专业网站建设方案seo软文代写
  • 个人网站 百度推广全球搜索大全