news 2026/5/13 11:26:44

软件设计师中涉及的算法及时间复杂度

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
软件设计师中涉及的算法及时间复杂度

第三章数据结构

  1. 邻接矩阵创建无向图:时间复杂度/空间复杂度O()
  2. 邻接表创建无向图:时间复杂度O(n+e)
  3. 拓扑排序:时间复杂度为O(n+e)
  4. 构造最小生成树的算法
    1. 普里姆算法:适合求稠密网的最小生成树
    2. 克鲁斯卡尔算法:适合求稀疏网的最小生成树。
  5. 求最短路径的算法
    1. 迪杰斯特拉算法用于求源点到各顶点的最短路径
    2. 弗洛供德算法用于求每一对顶点之间的最短路径。

查找

折半查找(二分查找)的时间复杂度为 O ()

查找方法

平均时间复杂度最坏时间复杂度最好时间复杂度
顺序查找(线性查找)O(n)O(n)O(1)
二分查找(有序数组)O(log n)O(log n)O(1)
哈希查找(理想情况)O(1)O(n)(冲突时)O(1)
二叉搜索树查找O(log n)(平衡时)O(n)(退化时)O(1)
平衡二叉搜索树查找O(log n)O(log n)O(1)
B树查找O(log n)O(log n)O(1)
B+树查找O(log n)O(log n)O(1)

排序

排序算法平均时间复杂度最好时间复杂度最坏时间复杂度空间复杂度稳定性

直接插入排序

稳定
冒泡排序稳定
简单选择排序不稳定
希尔排序不稳定
快速排序不稳定
堆排序不稳定
归并排序稳定

复杂度

常见复杂度

  1. 常数阶 O(1):操作次数固定,与输入规模无关
  2. 线性阶 O(n):操作次数与 n 成正比
  3. 对数阶 O(logn):每次操作将问题规模减半(如二分查找)
  4. 平方阶 O(n2):嵌套循环,操作次数与 n2 成正比
  5. 指数阶 O(2n):递归调用次数随 n 指数增长(如斐波那契数列递归解法)

层级关系

O(1)<O(logn)<O(n)<O(nlogn)<O(n2)<O(2n)<O(n!)

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/13 11:23:02

如何使用Truffle进行高效图片压缩与优化:完整指南

如何使用Truffle进行高效图片压缩与优化&#xff1a;完整指南 【免费下载链接】truffle :warning: The Truffle Suite is being sunset. For information on ongoing support, migration options and FAQs, visit the Consensys blog. Thank you for all the support over the …

作者头像 李华
网站建设 2026/5/13 11:20:52

CORP项目实践:用“文档即代码”重构组织管理与知识体系

1. 项目概述&#xff1a;从“公司”到“代码”的蜕变 如果你在GitHub上搜索过“CORP”&#xff0c;大概率会看到一个名为“CORP-md/CORP”的仓库。乍一看&#xff0c;这个标题有点让人摸不着头脑——它不像一个具体的工具名&#xff0c;也不像一个清晰的项目描述。但恰恰是这种…

作者头像 李华
网站建设 2026/5/13 11:18:12

终极杀戮尖塔模组管理器:ModTheSpire完全指南

终极杀戮尖塔模组管理器&#xff1a;ModTheSpire完全指南 【免费下载链接】ModTheSpire External mod loader for Slay The Spire 项目地址: https://gitcode.com/gh_mirrors/mo/ModTheSpire 还在为《杀戮尖塔》的原版内容感到厌倦吗&#xff1f;想要体验全新的角色、卡…

作者头像 李华