Python 二维数组的创建、遍历;二分法的概念

实在是已经忘记了什么是二维数组了,今天遇到相关的概念啥也想不起来,把最基础的概念做一些整理。

二维数组的创建

list可以用来创建二维数组,但是我看更方便的是使用numpy模块。

NumPy 全称为 Numerical Python,是 Python 的一个以矩阵为主的用于科学计算的基础软件包,NumPy 和 Pandas、Matpotlib 经常结合一起使用,所以被人们合称为数据分析三剑客。

two_array = numpy.array([[1,2,3], [4,5,6]])

二维数组的遍历

在Numpy这个库中提供了不少操作二维数组的内置方法,但是我还是觉得使用for循环是最基础,最容易帮助我看到二维数组的形式的,所以这里是看for循环相关的实现:

def TwoD_Array_Search():

      two_array = numpy.array([[1,2,3], [4,5,6]])

      for value in two_array:

           print(value)  #这里打印出来的是[1,2,3]\[4,5,6]

          for index in value:

              print(index)  #这里打印出来的是1,2,3;4,5,6

二分法

采用二分法进行查找时,数据是需要先排好序的。

基本思想:假设数据是排好序的,对于给定的值key,从序列的中间位置k开始比较,如果当前位置arr[k]值等于key,则查找成功;如果key小于arr[k],则在数列的前半段中查找,arr[low,mid-1];若key大于当前的arr[k],则在数列的后半段中查找,arr[mid+1,high],直到找到或者所有的范围查找结束为止,时间复杂度是log n。

实现

递归:

递归

非递归:(实现的是在二维数组中查找想要的值,二维数组中的书已经做好了排序)

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容