二分查找
刷题指南参考:CyC2018/CS-Notes: :books: 技术面试必备基础知识、Leetcode、计算机操作系统、计算机网络、系统设计https://github.com/CyC2018/CS-Notes/tree/master/ 知识点参考:Hello 算法https://www.hello-algo.com/ 前言力扣刷题学习笔记和思路记录 1.基础知识 在一个已经排好序的数组中(可能需要自己来排序),我们需要用尽可能快速的方法来查找一个元素,通常想到的方法是线性查找,既通过遍历的方法来进行暴力搜索 1.1 线性查找时间复杂度计算: 最坏情况:O(n),平均情况:O(n),空间复杂度:O(1) 1234567891011121314151617def linear_search(arr, x): for i in range(len(arr)): if arr[i] == x: return i return -1nums = [4,5,9,10,12,15,17]target = 9index = ...
python基础语法
前言语言:Python(python==3.9) 编译软件:VScode、PyCharm 环境:Anaconda 一、Python注释和输入输出注释分为单行注释,多行注释,被注释的代码不会运行,快捷键:选中代码+Ctrl+/ 主要功能有: 1.对代码进行注释,方便进行理解 2.对代码进行禁用 1.单行注释1234# 单行注释# 我是一个注释 不是运行的代码 写代码的时候:Ctrl+/# print("hello")print(123) **运行结果:**123 2.多行注释123456"""三引号引号内代码都注释随便写多少行"""print("hello") **运行结果:**hello 3.输入和输出1234567# 输出print("打印文本")print("打印数字:",123)print("文本1","文本2","文本3",sep = ...
numpy,pandas,matplotlib库的使用
前言:Python三个常用库的学习笔记 一、numpy1.1 数组创建创建函数:array() 几个参数: object:默认参数,输入一个列表,列表中又可以嵌套列表来表示多维数据 dtype:指定数据类型,可选,如果不指定则自动识别 order:指定存储方式,C-按行(先存储第一行的所有元素,然后是第二行的所有元素) F-按列(先存储第一列的所有元素,然后是第二列的所有元素,依此类推) ndmin: 设置数组维度,一般嵌套有几层列表就是几维 1234a = np.array([[1,2,3],[4,5,6]], dtype = np.float32, order = "F", ndmin = 3) 运行结果: array([[[1., 2., 3.], [4., 5., 6.]]], dtype=float32) 打印数组形状 返回一个元组(行,列) 12a = np.array([[1,2,3],[4,5,6],[7,8,9]])print(a.shape) ...

