1.实践题目 二分查找 2.问题描述 输入n值(1<=n<=1000)、n个非降序排列的整数以及要查找的数x,使用二分查找算法查找x,输出x所在的下标(0~n-1)及比较次数。若x不存在,输出-1和比较次数。 3.核心代码 4.时间复杂度&空间复杂度 空间复杂度o(1),时间复杂度o(log2n), ...
分类:
编程语言 时间:
2018-10-14 01:58:10
阅读次数:
182
1、实践题目 输入n值(1<=n<=1000)、n个非降序排列的整数以及要查找的数x,使用二分查找算法查找x,输出x所在的下标(0~n-1)及比较次数。若x不存在,输出-1和比较次数。 输入格式: 输入共三行:第一行是n值;第二行是n个整数;第三行是x值。 输出格式: 输出x所在的下标(0~n-1) ...
分类:
编程语言 时间:
2018-10-14 00:34:01
阅读次数:
554
第一题:输入n值(1<=n<=1000)、n个非降序排列的整数以及要查找的数x,使用二分查找算法查找x,输出x所在的下标(0~n-1)及比较次数。若x不存在,输出-1和比较次数。 用二分搜索法,将若干个元素分成基本相同的两部分,x与a[n/2]比较,每次搜索数组的大小减一半。算法最坏情况下,时间复杂 ...
分类:
编程语言 时间:
2018-10-14 00:20:22
阅读次数:
130
在计算机应用中,我们把一系列相连接的节点组成的数据结构,叫做图。今天我们将要介绍它的一种形式——无向图,以及针对这种结构的深度优先搜索和路径查找算法。 一、无向图数据结构 接口: 实现类: 二、深度搜索优先算法 对于图的处理我们常常通过系统地检查每一个顶点和每一条边来获取图的各种性质。对于图的问题我 ...
分类:
编程语言 时间:
2018-10-13 21:41:00
阅读次数:
227
1.7-1 二分查找 2.问题描述: 输入n值(1<=n<=1000)、n个非降序排列的整数以及要查找的数x,使用二分查找算法查找x,输出x所在的下标(0~n-1)及比较次数。若x不存在,输出-1和比较次数。 3.算法描述: 此题为基本的二分查找法并加上比较次数的输出。故在只需要在原来二分搜索的算法 ...
分类:
编程语言 时间:
2018-10-13 14:42:36
阅读次数:
193
实践博客 二分法查找元素 1.首先定义三个位置min,mid,max 2.每次从所有元素所处位置的中间开始查找(所有元素必须以由小及大顺序排列完毕) 3.当中间元素大于所查找元素时,从中间元素(mid)左半区进行查找,此时max元素由最大值变为mid左侧紧邻的那个元素,min元素不变。 4.当中间元 ...
分类:
其他好文 时间:
2018-10-12 13:47:41
阅读次数:
187
二分查找又称折半查找,是针对有序顺序表的查找,前提:数据是顺序存储的,已经按照关键词进行升序排序。查找成功返回索引值,查找不成功返回-1。 下面用java来实现二分查找算法: ...
分类:
编程语言 时间:
2018-10-11 21:50:45
阅读次数:
127
二分查找算法主要是解决在“一堆数中找出指定的数”这类问题。 而想要应用二分查找法,这“一堆数”必须有一下特征: 存储在数组中 有序排列 二分查找法的基本实现 二分查找法在算法家族大类中属于“分治法”,分治法基本都可以用递归来实现的,二分查找法的递归实现如下: 迭代实现如下: 二分查找法的O(log ...
分类:
编程语言 时间:
2018-10-10 14:32:24
阅读次数:
198
二分查找算法(JAVA) 1.二分查找又称折半查找,它是一种效率较高的查找方法。 2.二分查找要求:(1)必须采用顺序存储结构 (2).必须按关键字大小有序排列 3.原理:将数组分为三部分,依次是中值(所谓的中值就是数组中间位置的那个值)前,中值,中值后;将要查找的值和数组的中值进行比较,若小于中值 ...
分类:
其他好文 时间:
2018-10-09 15:04:12
阅读次数:
111
递归函数 1. 递归 (1)什么是递归:在函数中调用自身函数(2)最大递归深度:默认997/998——是Python从内存角度出发做的限制 (3)修改最大深度:最好不要改——递归次数太多,则不适合用递归解决问题 2. 递归的优点 会让代码变简单 3. 递归的缺点 占用内存 4. 能看懂递归 5. 应 ...
分类:
编程语言 时间:
2018-10-07 20:26:05
阅读次数:
230