美文网首页
Cliff_Ford-算法总纲

Cliff_Ford-算法总纲

作者: Cliff_Ford | 来源:发表于2019-03-31 14:44 被阅读0次

    如果觉得Cliff_Ford写得不错,点赞鼓励下吧!总纲会不断的变化,持续更新完善

    什么是算法

    算法是计算或者解决问题的有限步骤,针对规范输入,给出确却的运行结果。

    如何衡量算法的好坏

    我们通常关注算法的时间复杂度和空间复杂度,权求得一种两者相对平衡的方案,但更多的是用空间换取时间。

    算法运行时间的估算

    假设现在通过选择排序的方式将n个数从小到大排序,运行时间的估算方法如下:

    • 设比较两个数大小所花费的时间为C,交换两个数的位置所花费的时间为S
    • 一轮比较确定一个最小的数,且下一轮总比上一轮少比较一次
    • 第一轮确定并交换两个数的位置所花费的时间为 nC+S
    • 第二轮确定并交换两个数的位置所花费的时间为 (n-1)C+S
    • 最后一轮时间为 C+S
    • 总时间为 \frac{1}{2}cn^2+(\frac{1}{2}c+s)n
    • 聚焦于总时间的最重要项 n
    • 记选择排序的时间复杂度为 O(n^2)
    常见的排序算法及其时间复杂度如下表
    注:图片来自菜鸟教程
    时间复杂度由小到大排序如下

    O(1) < O(logn) < O(n) < O(nlogn) < O(n^2) < O(n^3) < O(2^n)
    算法的好坏通常也由时间复杂度评定

    承载算法的数据结构

    注:这都是一些超链接,我会一个个将其完善

    • 数组
    • 链表
    • 队列
    • 散列表
    算法分类(按功能)
    • 排序算法
    • 查找算法
    • 安全算法
    • 聚类算法
    • 图论算法
    • 其他算法
    算法分类(按招式)
    • 递推法
    • 递归法
    • 穷举法
    • 贪心法
    • 分治法
    • 动态规划法
    • 迭代法
    • 分支界限法
    • 回溯法

    相关文章

      网友评论

          本文标题:Cliff_Ford-算法总纲

          本文链接:https://www.haomeiwen.com/subject/cygybqtx.html