Algorithm Research
shijiebei2009
Java、PHP、Scala、Android、Python、ML、NLP
展开
-
图的深度优先遍历和广度优先遍历算法
//图的遍历是指按某条搜索路径访问图中每个结点,使得每个结点均被访问一次,而且仅被访问一次。图的遍历有深度遍历算法和广度遍历算法,程序如下: #include #define INFINITY 32767#define MAX_VEX 20 //最大顶点个数#define QUEUE_SIZE (MAX_VEX+1) //队列长度using namespace std;b原创 2012-10-20 16:22:39 · 1050 阅读 · 0 评论 -
全排列算法-Java
第一步,排列的精髓是交换和顺序处理,比如,考虑[1,2,3,4]排列,实际上是,1和1,2,3,4分别交换得来 1和1交换:[1],[2,3,4] 1和2交换:[2],[1,3,4] 1和3交换:[3],[2,1,4] 1和4交换:[4],[2,3,1]那么下面分别考虑上面的四个结果,比如,考虑 [1],[2,3,4]第二步,我们把[1]固定不变,考虑[2,3,4],把它看成是2和2,3,原创 2015-03-20 22:16:11 · 929 阅读 · 0 评论 -
模拟百度分页算法实现
定义变量 pageSize 每一页显示的记录条件 pageNow 当前页,初始默认值为1 pageCount 总页数,有pageSize和数据库总记录数决定公式:res= select count(id) from 记录表 // 使用Math函数将结果向上取整 pageCount = (int) Math.ceil(res / pageSize);p原创 2015-03-15 17:06:57 · 3485 阅读 · 1 评论 -
将十进制数转成任何指定的进制数
/** * * * Description:将十进制数转成任何指定的进制数 * * * Copyright:copyright (c) 2013 * * * Create Date:2013-12-21 * * * Company:ShangHai University * * * @author WANGXU * @versionv1.1 *原创 2014-12-06 19:29:29 · 1348 阅读 · 0 评论 -
阿里巴巴面试题
/** * 阿里巴巴面试题 * 有一堆石子共100枚,甲乙轮流从该堆中取石子,每次可以取2、4或6枚,取得最后的石子的玩家为赢家,若甲先取,则: * A 谁都无法必胜 * B 乙必胜 * C 甲必胜 * D 不确定 * 闲来蛋疼就做这道题试试 思路分析 * 假设每人都只能取2枚,那么一共可以取50次,所以甲先取的话,那么最后一次必然原创 2013-09-26 20:20:57 · 4367 阅读 · 7 评论 -
将十进制数转成任何指定的进制数
/** * * * Description:将十进制数转成任何指定的进制数 * * * Copyright:copyright (c) 2013 * * * Create Date:2013-12-21 * * * Company:ShangHai University * * * @author WANGXU * @version Id: De原创 2013-12-21 23:07:40 · 1145 阅读 · 0 评论 -
用筛法求之N内的素数
import java.util.Scanner;/** * * * Description:用筛法求之N内的素数,其中N是有用户输入的数字 * * * Copyright:copyright (c) 2013 * * * Create Date:2013-12-13 * * * Company:ShangHai Univ原创 2013-12-13 12:37:15 · 2323 阅读 · 0 评论 -
小明系列之大学时光
import java.io.IOException;import java.util.Arrays;import java.util.Scanner;/** * * * Description:多组测试数据。每组数据第一行a,b,k(1 * a表示第一排衣服的数量b表示第二排衣服的数量 * k表示小明需要找第k小尺码的衣服。接着两行为a数组与b数组。分原创 2013-12-13 13:39:04 · 1140 阅读 · 0 评论 -
教你一步一步写快速排序
快速排序,顾名思义,在各种排序算法中,快速排序算法综合性能最为优异。所以掌握快速排序是一个程序员的基本功。首先写出我的实现思路,本文采用Java语言,C/C++代码类似:Step 0 : thinkingpublic class quickSortDemo{ public static void main(String args[]){ //define a原创 2013-03-14 17:05:42 · 1243 阅读 · 0 评论 -
组合-Java
二进制解决组合问题:public class CombinationByBinary { public static void combination() { /* * 基本思路:求全组合,则假设原有元素n个,则最终组合结果是2^n个。原因是: 用位操作方法:假设元素原本有:a,b,c三个,则1表示取该元素,0表示不取。故去a则是001,取ab则是011.原创 2015-03-21 11:07:15 · 1100 阅读 · 0 评论