• 编程与算法中的端点问题(linspace(a, b, n),endpoint)


    • 左闭右开,[0, n) ⇒ [0, n-1],共 n 个元素;

    1. 列表长与编号

    列表(seq,也可以是数组等线性结构)的长度要比末尾元素的编号多 1,比如一个列表内含有 5 个元素,最后一个元素的编号是 4,5 = 4+1

    i = 0
    while i < n:
        ... 

    再者,想要获得末尾的元素:seq[n-1]。seq[n] 访问越界;

    2. 常见算法的端点

    • 素数判断:

      sqrt_number = sqrt(number)
      for i in xrange(2, int(sqrt_number)+1):

    3. linspace(a, b, n)

    n 表示最后得到的序列的元素个数(包含端点),a、b 则是首尾的端点,则区间的长度为 b-a,又该区间内小间隔的数目为 n-1,则每一段小区间的长度为:

    ban1

    则最终得到的 n 个点分别是:a,a+(b-a)/(n-1),a+2(b-a)/(n-1),…,a+(b-a)/(n-1)*(n-1) = b;

    也即:

    {a+kban1}0kn1

    np.linspace() ⇒ 默认是包含左右两个端点的,也即关键字参数 endpoint=True,如果将其 endpoint=False,便不再包含又端点。

    np.linspace(0, 5, 10)                   (5-0)/(10-1) ⇒ 区间长度
    np.linspace(0, 5, 10, endpoint)         (5-0)/10 ⇒ 区间长度
  • 相关阅读:
    Redis
    Redux架构
    Dapper.NET
    JS的异步模式
    Session Redis Nginx
    .NET CORE的TagHelper智能提示
    一个Redis实现的分布式锁
    Redisson使用起来很方便,但是需要redis环境支持eval命令
    The Little Redis Book
    mybatis UpdateByExampleMapper UpdateByExampleSelectiveMapper
  • 原文地址:https://www.cnblogs.com/mtcnn/p/9424140.html
Copyright © 2020-2023  润新知