ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

数据结构与算法:数组、二分查找

数据结构与算法:数组、二分查找 一、什么是数据结构数据结构就是一批数据加上数据之间的关系。 简单说数据结构 数据 数据之间的关系。二、数组基础数组一堆相同类型的数据排在一起。Python 的列表可以当数组用还能存不一样类型的数据。 一维数组[2,5,3,1,4]二维数组[[2,3,8],[5,3,4]]数组特点随机访问知道第一个元素的位置就能直接算出任意一个元素在哪可以直接读取不用从头挨个找。删除数组元素删除最后一个元素不用移动数据直接把记录的有效长度减 1 就完成。删除中间位置 i 的元素 ①先检查下标是否合法不能越界 ②把 i 后面所有元素全部往左挪一位覆盖掉要删的数 ③再更新数组有效长度。三、顺序查找适用数组有序、无序都可以。 思路从第一个元素开始一个一个对比找到目标就结束全部找完都没有代表找不到。四、二分查找重要前提数组必须是排好序的乱序数组不能用二分查找。 优点比顺序查找快很多。思路 设置左右边界 left、right框住查找范围。 算出中间位置 mid拿中间的值和要找的数对比中间值正好等于目标找到了返回下标中间值比目标大要找的数在左边把右边界往左挪中间值比目标小要找的数在右边把左边界往右挪左闭右闭写法 [left, right]意思left 和 right 下标对应的元素都属于查找范围。 循环条件写while left right不要写成 写错会漏掉 left 等于 right 时候的元素查找出错。
返回列表