• 图解算法记录


    每个递归函数都有两个条件:基线条件和递归条件。

    编写涉及数组的递归函数时,基线条件通常是数组为空或只包含一个元素。

    def quicksort(arr):
        if len(arr)<2:
            return arr
        else:
            p=arr[0]
            less=[i for i in arr[1:] if i<=p]
            greater=[i for i in arr[1:] if i>p]
            return quicksort(less)+[p]+quicksort(greater)
    a=[2,6,1,9,3]
    print(quicksort(a))

    python中的字典dict

    散列表由键和值组成。在散列表 book 中,键为商品名,值为商品价格。散列表将键映射到值。

    phone_book = {} ←------与phone_book = dict()等效

    book=dict()
    book["apple"]=2.0
    book["cherry"]=5.0
    print(book)
    print(book["cherry"])
    
    
    {'apple': 2.0, 'cherry': 5.0}
    5.0

    在无向图中,每条边都是一个环。狄克斯特拉算法只适用于有向无环图。

    如果有负权边,就不能使用狄克斯特拉算法。

    狄克斯特拉算法这样假设:对于处理过的节点,没有前往该节点的更短路径。

    元素较少时算法的运行速度非常快,但随着元素数量的增加,速度
    会变得非常慢。
    涉及“所有组合”的问题通常是NP完全问题。
    不能将问题分成小问题,必须考虑各种可能的情况。这可能是NP
    完全问题。
    如果问题涉及序列(如旅行商问题中的城市序列)且难以解决,它
    可能就是NP完全问题。
    如果问题涉及集合(如广播台集合)且难以解决,它可能就是NP
    完全问题。
    如果问题可转换为集合覆盖问题或旅行商问题,那它肯定是NP完
    全问题。

    面临NP完全问题时,最佳的做法是使用近似算法。

    仅当每个子问题都是离散的,即不依赖于其他子问题时,动态规划才管用。

    垃圾邮件过滤器使用一种简单算法——朴素贝叶斯

    Google使用Simhash来判断网页是否已搜集。
    老师可以使用Simhash来判断学生的论文是否是从网上抄的。

  • 相关阅读:
    通过登入IP记录Linux所有用户登录所操作的日志
    PHP写的异步高并发服务器,基于libevent
    PHP event 事件机制
    PHP高级工程师的要求
    TBS 手册 --phpv 翻译
    两局域网互联解决方案
    比ngx_http_substitutions_filter_module 更强大的替换模块sregex的replace-filter-nginx-module
    直播平台虚拟币与人民币的关系
    查询出来的东西异步缓存
    如何解决GBK的编码的文件中的中文转换成为UTF-8编码的文件而且不乱码
  • 原文地址:https://www.cnblogs.com/wander-clouds/p/9125441.html
Copyright © 2020-2023  润新知