Implementint sqrt(int x).Compute and return the square root ofx.这里给出两种实现方法:一是二分搜索,二是牛顿迭代法。1. 二分搜索对于一个非负数n,它的平方根不会小于大于(n/2+1)。在[0, n/2+1]这个范围内可以进行二分搜索,...
分类:
其他好文 时间:
2014-11-24 16:48:43
阅读次数:
229
/**
* 书本:《算法分析与设计》
* 功能:二分搜索
* 1、设a[0:n-1]是一个已排好序的数组。请改写二分搜索算法,使得当搜索元素x不在数组中的时候,返回小于x的最大元素
* 的位置I和大于x的最小元素位置j。当搜索元素在数组中的时候,I和j相同,均为x在数组中的位置
* 文件:lesson3.cpp
* 时间:2014年11月4日19:50:20
* 作者:cutter_point...
分类:
编程语言 时间:
2014-11-16 20:13:03
阅读次数:
178
二分搜索,也称二分查找、折半搜索,是一种在有序数组中查找特定元素的搜索算法。搜索从数组的中间元素开始,如果中间元素刚好是要查找的元素,则搜索结束,如果要查找的特定元素大于(小于)中间元素,则在数组大于(小于)中间元素的一半中查找。该算法的递归实现比较容易理解,思路更清晰,但效率方面仍有提高的空间。代...
分类:
其他好文 时间:
2014-11-07 11:15:04
阅读次数:
171
地球人都知道“二分查找”,方法也非常简单,但是你能不能在10分钟内写出一个没有bug的程序呢?知易行难,自己动手写一下试一试吧。public class BinarySearch { public static int search(int [] A,int target,int a, int...
分类:
编程语言 时间:
2014-11-06 21:52:14
阅读次数:
180
题目意思:
acm.nyist.net/JudgeOnline/problem.php?pid=914
现在有n个物品的重量和价值分别是Wi和Vi,你能帮他从中选出k个物品使得单位重量的价值最大吗?
输入有多组测试数据
每组测试数据第一行有两个数n和k,接下来一行有n个数Wi和Vi。
(1输出输出使得单位价值的最大值。(保留两位小数)样例输入
3 2
2 2
5 3
2 1
样例输出...
分类:
其他好文 时间:
2014-11-02 21:03:42
阅读次数:
117
这是letcode上的一道题目 Leetcode: Find Minimum in Rotated Sorted Array
一、什么是旋转数组呢,就是一个有序的数组,在从某一个位置开始,旋转到数组的另一端,例如:0 1 2 3 4 5 6 -> 4 5 6 0 1 2 3
二、使用暴力的方式就是遍历这个数组,算法的复杂度就是O(N),但是根据一般的经验提到有序,就会考虑到使用二分将算法的复杂度降低到O(logn),当然这个题目也不例外,但是如何利用二分去求解呢,毕竟不是全部有序。...
分类:
编程语言 时间:
2014-10-29 19:25:58
阅读次数:
200
http://www.cnblogs.com/vanezkw/archive/2012/06/29/2569470.htmlJDK里面的二分法实现。二分法的实现有多种今天就给大家分享两种。一种是递归方式的,一种是非递归方式的。先来看看一些基础的东西。1、算法概念。二分查找算法也称为折半搜索、二分搜索...
分类:
编程语言 时间:
2014-10-28 23:52:27
阅读次数:
231
减一技术,与二分搜索一样,是一种通用算法设计技术。它是分治法的一种特殊形式,通过建立问题实例P(n) 与问题实例P(n-1)的递推求解关系式而实现;最经典的例子莫过于插入排序了。这里,给出减一技术在生成排列组合方面的应用。(一) 排列问题: 生成自然数 1,2,,,,,n 的所有排列。算法描述:使用...
分类:
编程语言 时间:
2014-10-20 20:57:13
阅读次数:
204
过了一天感觉没干什么,想刷一发题弥补一下,正在考虑去做哪道,室友说去试试PAT 1010,果然当年自己直接跳过了这题,一看这通过率(0.07)有点夸张了。题目是已知一个数,求另外一个数的基数,使得这两个数数值上相等。很自然的考虑到使用二分搜索来确定这个基数,数字表示使用[0-9a-z],这tmd的让...
分类:
其他好文 时间:
2014-10-15 18:55:11
阅读次数:
373