[算法设计与分析-从入门到入土] 复杂算法

算法设计与分析-从入门到入土 复杂算法

个人导航

知乎:https://www.zhihu.com/people/byzh_rc

CSDN:https://blog.csdn.net/qq_54636039

注:本文仅对所述内容做了框架性引导,具体细节可查询其余相关资料or源码

参考文章:各方资料

文章目录

复杂算法

时间复杂度层级:
O ( 1 ) < O ( log ⁡ n ) < O ( n ) < O ( n log ⁡ n ) < O ( n 2 ) < O ( n 3 ) < O ( 2 n ) < O ( n ! ) < O ( n n ) O(1) < O(\log n) < O(n) < O(n\log n) < O(n^2) < O(n^3) < O(2^n) < O(n!) < O(n^n) O(1)<O(logn)<O(n)<O(nlogn)<O(n2)<O(n3)<O(2n)<O(n!)<O(nn)
多项式时间 (polynomid time):
O ( 1 ) , O ( log ⁡ n ) , O ( n ) , O ( n log ⁡ n ) , O ( n 2 ) , O ( n 3 ) O(1),O(\log n),O(n),O(n\log n),O(n^2),O(n^3) O(1),O(logn),O(n),O(nlogn),O(n2),O(n3)

  • P问题(Polynomial Problem) :能在「多项式时间内直接解决 」的问题
    (比如数组遍历、简单排序)
  • NP问题(Nondeterministic Polynomial Problem) :无法保证在多项式时间内解决,但能在「多项式时间内验证一个候选解 的正确性」的问题
    (比如"旅行商问题的某个路径是否符合要求")

千禧难题: P vs NP
能在多项式时间内验证解的问题(NP),是否必然能在多项式时间内解决(即 P = NP)?

  1. 主流观点:多数科学家相信 P ≠ NP(即存在多项式时间可验证但无法多项式时间解决的问题),但目前尚未有严格证明
  2. 重要影响:若 P = NP 被证明,现行多数加密体系(如RSA加密)将彻底失效------因为这些加密的核心依赖"大整数分解无法在多项式时间内完成",一旦该问题可多项式时间解决,加密信息可被快速破解

NP完全问题(NP-complete, NPC)

  • 自身是NP问题
  • 所有其他NP问题都能在多项式时间内"归约"到它

NP难问题(NP-hard)

  • 自身不一定是NP问题(可能无法在多项式时间内验证解)
  • 所有其他NP问题都能在多项式时间内"归约"到它

难度: NP难问题 ≥ NP完全问题

应对复杂问题

  • 回溯法 (Backtracking) / 分支界限法 (Branch and Bound)
    -> 正确解
  • 随机算法 (Randomized Algorithms)
    -> 有可能得到的是近似解
  • 近似算法 (Approximation Algorithms)
    -> 近似解

精确度越来越低, 求解速度越来越快

相关推荐
霸道流氓气质6 小时前
普通办公电脑基于 Ollama 的本地 AI 能力技术文档
人工智能·电脑
点云-激光雷达-Slam-三维牙齿6 小时前
速度起飞 笔记本电脑6G显卡llama运行Qwen3.6 35BA3B MTP 大模型
人工智能·python·电脑·llama
Shockang11 小时前
AI 智能体安全沙盒实战
人工智能
yuhulkjv33511 小时前
Claude表格复制到word不再崩溃,AI导出鸭批量导出+格式无损一键搞定
人工智能·ai·c#·word·ai导出鸭
小白勇闯网安圈12 小时前
Django 响应对象、文件上传与类视图
数据库·django·sqlite
大明者省13 小时前
WSL2 Ubuntu22.04 GPU训练环境配置指南
人工智能·算法·计算机视觉
抱抱宝13 小时前
Agent-study项目教程(03):手写 Mini-ReAct Agent(不依赖框架)
javascript·人工智能·gpt·react.js·prompt·agent
抱抱宝13 小时前
大模型应用开发教程08 | 构建完整 RAG 应用(Chroma/FAISS 实战)
人工智能·gpt·prompt·agent
努力的小雨13 小时前
同一份 SQL 跑多套环境:Ksql 变量怎么用才安全
数据库
美团技术团队13 小时前
KDD‘26 美团学术论文精选及KDD Cup‘26 DataAgents赛道冠军思路解读
人工智能