zoukankan      html  css  js  c++  java
  • python 的基本算法

    二分查找

    def a(arr, l, r, x):

    # 基本判断

    if r >= l:

    mid = int(l + (r - l) / 2)

    # 元素整好的中间位置

    if arr[mid] == x:

    return mid

    # 元素小于中间位置的元素,只需要再比较左边的元素

    elif arr[mid] > x:

    return a(arr, l, mid - 1, x)

    # 元素大于中间位置的元素,只需要再比较右边的元素

    else:

    return a(arr, mid + 1, r, x)

    else:

    # 不存在

    return -1

    if name == 'main':

    # 测试数组

    arr = [2, 3, 4, 10, 40]

    x = 10

    # 函数调用

    result = a(arr, 0, len(arr) - 1, x)

    if result != -1:

    print("元素在数组中的索引为 %d" % result)

    else:

    print("元素不在数组中")

    def fib_recur(n):

    assert n >= 0, "n > 0"

    if n <= 1:

    return n

    return fib_recur(n - 1) + fib_recur(n - 2)

    for i in range(1, 100):

    print(fib_recur(i), end=' ')

    冒泡

    def a(c):

    n = len(c)

    # 遍历所有数组元素

    for i in range(n):

    # Last i elements are already in place

    for j in range(0, n - i - 1):

    if c[j] > c[j + 1]:

    c[j], c[j + 1] = c[j + 1], c[j]

    c = [64, 34, 25, 12, 22, 11, 90]

    a(c)

    print("排序后的数组:")

    for i in range(len(c)):

    print("%d" % c[i]),

  • 相关阅读:
    Design Pattern: Gof
    ZT --- extern "C"用法详解 2010-08-21 19:14:12
    OCR
    Linux strace命令
    wireshark esp
    https://sourceware.org/gdb/onlinedocs/gdb/Forks.html
    12306网上买火车票选择上中下铺的方法
    gdb调试有fork的程序
    named piped tcp proxy
    bash 提示用户输入 choice
  • 原文地址:https://www.cnblogs.com/Swx1030/p/14146465.html
Copyright © 2011-2022 走看看