美文网首页
算法图解记录

算法图解记录

作者: qinxi | 来源:发表于2021-05-21 09:37 被阅读0次

    1.二分查找,例如查找一个1-100的数字,时间复杂度为O(logn)

    2.数组读取的时间为O (1),插入和删除为O(n)

        链表的读取时间为O(n),插入和删除为O(1)

    3.选择排序,列出每一种情况,时间复杂度为O(n^2)

    4.快速排序,分而治之,时间复杂度为O(nlogn),选择基准值,分区,分区里进行递   归快速排序,例如给一个数组排序

    5.散列表,时间复杂度为平均情况O(1)最遭情况O(n),常见用法:缓存,模拟映射关系,防止重复

    6.广度优先搜索,时间复杂度为O(V顶点+E边),例如在你的人际关系网中找到一个芒果批发商,先把你的朋友加入到队列,循环你的朋友列表,判断你的朋友是不是,如果是直接返回,如果不是把你朋友的朋友加入到队列中,直到队列中的数据都被判断过还没有找到,则返回没有芒果批发商

    7.迪克斯特拉算法,适合在加权图中查找最短路径,1.找出最便宜的节点2.更新该节点邻居的开销3.重复这个过程,4计算最终路径(如果包含负权边,使用贝尔曼-福德算法)

    8.贪婪算法,寻找局部最优解

    9.动态规划,使用网格图,例如查找两个单词的最长公共子序列

    伪代码:if word_a[I] == word_b[j]://两个字母相同

                    cell[I][j] = cell[I-1][j-1] + 1

                    else:

                    cell[I][j] = max(cell[I-1][j], cell[I][j-1])

    10.K最近临算法,例如创建推荐系统

    相关文章

      网友评论

          本文标题:算法图解记录

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