静态查找设置哨兵,可以减少比较次数,效率会有所提高。静态查找算法简单,效率较低 1 package com.gxf.search; 2 3 /** 4 * 静态查找实现 5 * @author xiangfei 6 * 7 */ 8 public class StaticSearch { ...
分类:
其他好文 时间:
2014-11-12 13:40:32
阅读次数:
195
对于一个n*n的矩阵,其中只包含有0,1两种元素且,所有的0都在1之前,请找出矩阵中0最多的一行。(Given an N-by-N matrix of 0s and 1s such that in each row no 0 comes before
a 1, find the row with the most 0s in O(N) time.)
初看这题,想到的算法就是每一行都设置一个计...
分类:
其他好文 时间:
2014-11-10 23:30:00
阅读次数:
446
Linux的网络协议栈实现可谓精确却不失精巧,不必说Netfilter,单单说TC就够了,但是有几处硬伤,本文做一个不完备的记录,就当是随笔,不必当真。0.查找的种类Linux协议栈作为一个纯软件实现,保留了硬件接口,但是本文不涉及硬件。 在Linux的协议栈实现中,由于没有硬件电路的固化,查找算法是难免的,比如路由查找,邻居查找,conntrack查找,socket查找,不一而足。事...
分类:
编程语言 时间:
2014-11-09 13:59:08
阅读次数:
290
二分搜索,也称二分查找、折半搜索,是一种在有序数组中查找特定元素的搜索算法。搜索从数组的中间元素开始,如果中间元素刚好是要查找的元素,则搜索结束,如果要查找的特定元素大于(小于)中间元素,则在数组大于(小于)中间元素的一半中查找。该算法的递归实现比较容易理解,思路更清晰,但效率方面仍有提高的空间。代...
分类:
其他好文 时间:
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
Suppose a sorted array is rotated at some pivot unknown to you beforehand.
(i.e.,
0 1 2 4 5 6 7 might become
4 5 6 7 0 1 2).
Find the minimum element.
You may assume no duplicate exists in the ...
分类:
其他好文 时间:
2014-11-06 17:35:17
阅读次数:
206
二分查找,无论是从名字还是理论都十分简单一个算法,其博大精深,简直恐怖。Jon Bentley:90%以上的程序员无法正确无误的写出二分查找代码。 别人不知道,反正我早上是写了好久,这个查找算法,将查找的复杂度从 o( n ) 降到了 o( logn ) ,当之无愧的的好算法,更是许多高级算法...
分类:
编程语言 时间:
2014-11-06 00:25:42
阅读次数:
242
#include#includetypedef struct BiTNode{ int data; struct BiTNode *lchild,*rchild;}BiTNode,*BiTree;int SequentialSearch(int arr[],int length,int ke...
分类:
编程语言 时间:
2014-11-04 17:14:00
阅读次数:
259
题目意思:
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