摘要:
转自:http://blog.163.com/yuang_yu_ping/blog/static/469328762009922102736155/1、二分查找(Binary Search) 二分查找又称折半查找,它是一种效率较高的查找方法。 二分查找要求:线性表是有序表,即表中结点按关键字有序,并且要用向量作为表的存储结构。不妨设有序表是递增有序的。2、二分查找的基本思想 二分查找的基本思想是:(设R[low..high]是当前的查找区间)(1)首先确定该区间的中点位置: (2)然后将待查的K值与R[mid].key比较:若相等,则查找成功并返回此位置,否则须确定新的查找区间,继续二分... 阅读全文
摘要:
1 public class Tromino { 2 3 static int num = 2; 4 //x 对应 第二维 5 //y 对应 第一维 6 static int[][] panel = { 7 {0,0,0,0,0,0,0,0}, 8 {0,0,0,0,0,0,0,0}, 9 {0,0,0,0,0,0,1,0}, 10 {0,0,0,0,0,0,0,0}, 11 {0,0,0,0,0,0,0,0}, 12 {0,0,0,0,0,0,... 阅读全文
摘要:
阅读全文
摘要:
概述:将问题的实例划分为同一个问题的几个较小的实例,最好拥有同样的规模。对这些较小的实例求解(一般使用递归,但问题规模足够小时,有时也会用另一个算法)如果有必要的话,合并这些较小问题的解,已得到原始问题的解合并排序: http://www.cnblogs.com/wanghui390/p/3594299.html快速排序: http://www.cnblogs.com/wanghui390/p/3593854.html二叉树遍历:1. 求树的高度1 算法 Height(T)2 //递归计算二叉树的高度3 //输入:一棵二叉树4 //输出:T的高度5 ... 阅读全文
摘要:
蛮力算法是一种简单直接地解决问题的方法,常常直接基于问题的描述和所涉及的概念定义选择排序与冒泡排序顺序查找和蛮力字符串匹配最近对和凸包问题穷举查找:旅行商:哈密顿回路背包问题分配问题 阅读全文
摘要:
修改“排序(一)”中的选择排序算法: 1 public class SelectSort { 2 3 public static void selectSort(int[] array){ 4 for(int i = 0; i array[j]){ 8 min = j; 9 }10 }11 int temp = array[i];12 array[i] = array[min];13 array[mi... 阅读全文
摘要:
转自:http://www.java3z.com/cwbwebhome/article/article8/83560.html?id=4649探讨Hash表中的一些原理/概念,及根据这些原理/概念,自己设计一个用来存放/查找数据的Hash表,并且与JDK中的HashMap类进行比较。 我们分一下七个步骤来进行。 一 Hash表概念二 Hash构造函数的方法,及适用范围 三 Hash处理冲突方法,各自特征 四 Hash查找过程 ... 阅读全文
摘要:
java实现全排列输出转自:http://easonfans.iteye.com/blog/517286最近在找工作,面试java程序员或者软件工程师,在笔试的时候常常见到这么一道题:全排列 的输出数组(常常要求是整数),其实这道题不难,主要是递归调用,在baidu或者google上已经有很多人提出了解法,但是大部分可读性很差,让我们 莘莘学子根本就记不住。我来简单的说一下:其实这个问题的解法基本思路是这样的:递归但是我们在使用递归的时候要注意结束条件,也就是递归到最后,要推出递归方法,目前网上的主要思路如下:1 public 递归方法(参数列表){2 if(列表的元素只有两个){... 阅读全文
摘要:
转自:http://www.cnblogs.com/junsky/archive/2009/08/06/1540727.html今天在看base64编码转换时,既然对负数的二进制表示有些遗忘,在网上找了一下资料,贴出来已备在此遗忘:假设有一个 int 类型的数,值为5,那么,我们知道它在计算机中表示为:00000000 00000000 00000000 000001015转换成二制是101,不过int类型的数占用4字节(32位),所以前面填了一堆0。现在想知道,-5在计算机中如何表示? 在计算机中,负数以其正值的补码形式表达。什么叫补码呢?这得从原码,反码说起。 原码:一个整数,按照绝对值大 阅读全文
摘要:
空间一般直线的方程是:(x-x0)/a=(y-y0)/b=(z-z0)/c,这是一条过(x0,y0,z0),方向矢量为{a,b,c}的直线.假设已知点的坐标是A(e,f,g),过A点,且与{a,b,c}垂直的平面是,a(x-e)+b(y-f)+c(z-g)=0,直线(x-x0)/a=(y-y0)/b=(z-z0)/c,与这个平面的交点是B,再由两点的距离公式求出AB,即得. 1 import java.util.Scanner; 2 3 4 public class Main { 5 6 7 8 public static void main(String[]... 阅读全文