算法
文章平均质量分 74
Howard_14
这个作者很懒,什么都没留下…
展开
-
背包算法例子(java版)
背包问题这是我前段时间在书本上学到的一个算法,借用书本的例子说明一下。代码我自己手打测试成功!假设一个背包的负重量最多可达8公斤,而希望在背包中装入负重范围内总价最多的物品,假设装入水果的编号、单价、与重量如表编号名称水果单价0李子4kgNT$45001苹果5kg原创 2016-11-25 10:03:53 · 1933 阅读 · 0 评论 -
交错01串
package com.howard.algorithm.test;import java.util.Scanner;/** * [编程题] 交错01串 * 时间限制:1秒 * 空间限制:32768K * 如果一个01串任意两个相邻位置的字符都是不一样的,我们就叫这个01串为交错01串。例如: "1","10101","0101010"都是交错01串。 * 小易现在有一个01串s,原创 2017-08-31 21:26:32 · 496 阅读 · 0 评论 -
数字翻转
package com.howard.algorithm;import java.util.ArrayList;import java.util.List;import java.util.Scanner;/** * [编程题] * 时间限制:1秒 * 空间限制:32768K * 对于一个整数X,定义操作rev(X)为将X按数位翻转过来,并且去除掉前导0。例如: * 如果 X原创 2017-08-31 21:11:05 · 378 阅读 · 0 评论 -
优雅的点
package com.howard.algorithm;import java.util.Scanner;/** * 优雅的点 * 时间限制:1秒 * 空间限制:32768K * 小易有一个圆心在坐标原点的圆,小易知道圆的半径的平方。小易认为在圆上的点而且横纵坐标都是整数的点是优雅的,小易现在想寻找一个算法计算出优雅的点的个数,请你来帮帮他。 * 例如:半径的平方如果为25 *原创 2017-08-31 21:07:49 · 306 阅读 · 0 评论 -
哈夫曼树与哈夫曼编码
哈夫曼树哈夫曼树又称最优二叉树, 是一种带权路径长度最短的二叉树。在这个二叉树中,只有叶子节点才是有效的数据节点,其他只是作为路径而构造的。带权路径长度又称WPL,树的带权路径长度,就是树中所有的叶结点的权值乘上其到根结点的路径长度,即树中所有叶节点的带权路径长度之和。WPL= (W1*L1+W2*L2+W3*L3+...+Wn*Ln), N个权值Wi(i=1,2,...n)构成一原创 2017-09-22 22:15:47 · 1867 阅读 · 0 评论 -
二叉树常见概念、性质、问题以及操作
参考书籍:数据结构C语言-严蔚敏、吴伟民 Java程序员面试宝典-何昊等参考链接:http://www.cnblogs.com/bmrs/archive/2010/08/19/SloveTree.html二叉树的基本概念度:结点所拥有的子树的数目称为该结点的度。叶结点:度为0的结点称为叶结点。分支结点:度不为0的结点称为分支结点。一个树除叶结点外,其余都是分支结点。原创 2017-04-22 21:24:41 · 884 阅读 · 0 评论 -
判断一个数是否为2的n次方
参考书籍:算法设计与分析基础 Java程序员面试宝典-何昊等package com.Howard.test11;/** * 判断一个数是否为2的n次方 * @author Howard * 2017年4月15日 */public class IsPower { /** * 利用移位 这里的左移相当于乘以2 * 时间复杂度O(logn) * @param n原创 2017-04-20 21:06:49 · 2064 阅读 · 0 评论 -
求数组中两两相加等于某个数的组合种数
参考书籍:算法设计与分析基础 Java程序员面试宝典-何昊等package com.Howard.test11;import java.util.Arrays;/** * 求int数组中两两相加等于某个数的组合种数 * @author Howard * 2017年4月15日 */public class FindSumInArray { /** * 方法1: *原创 2017-04-20 21:01:29 · 5570 阅读 · 0 评论 -
给定一个整数,输出这个整数二进制表示中1的个数
参考书籍:计算机组成原理-蒋本珊 java程序员面试宝典-何昊等问题:给定一个数,输出这个数二进制表示中1的个数。package com.Howard.test11;/** * 给定一个整数 输出这个整数二进制表示中1的个数 * 例如:7二进制111 则输出3 * @author Howard * 2017年4月5日 */public class CountOne { /*原创 2017-04-09 00:04:01 · 1772 阅读 · 0 评论 -
链表的常用操作(java实现)
参考书籍:数据结构c语言-严蔚敏、吴伟民 Java程序员面试宝典-何昊等结点:package com.Howard.test11.LinkedList;/** * 链表结点 * @author Howard * 2017年4月9日 */public class Node { Node next = null; int data; public Node(int da原创 2017-04-20 20:55:07 · 802 阅读 · 0 评论 -
java常用算法之排序算法
本篇介绍常用排序算法的java实现借用网上一幅图,排序算法分类如下:对于各个算法的时间复杂度和空间复杂度,借用网上的图如下:其中:选择排序算法本身是稳定的,用顺序结构实现时是不稳定的,用链表实现时是稳定的。 快速排序是平均速度最快的排序算法。 归并排序需要的辅助空间最多。堆排序需要的辅助空间最少。所谓不稳定,简单举个例子就是,原创 2017-02-26 15:44:46 · 427 阅读 · 0 评论 -
最大奇约数
package com.howard.algorithm.test;import java.util.Scanner;/** * 小易是一个数论爱好者,并且对于一个数的奇数约数十分感兴趣。一天小易遇到这样一个问题: 定义函数f(x)为x最大的奇数约数,x为正整数。 例如:f(44) = 11. * 现在给出一个N,需要求出 f(1) + f(2) + f(3).......f(N) *原创 2017-08-31 22:05:48 · 382 阅读 · 0 评论