![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法设计
轩辕泳
自然与社会并存,理性与感性兼具。
展开
-
最大间隙问题
import java.util.ArrayList;import java.util.List;import java.util.Scanner;public class Section1_5 {public static void main(String[] args) {Scanner scan = new Scanner(System.in);Sys原创 2013-09-07 18:17:20 · 607 阅读 · 0 评论 -
K好数--java版
问题描述如果一个自然数N的K进制表示中任意的相邻的两位都不是相邻的数字,那么我们就说这个数是K好数。求L位K进制数中K好数的数目。例如K = 4,L = 2的时候,所有K好数为11、13、20、22、30、31、33 共7个。由于这个数目很大,请你输出它对1000000007取模后的值。/** * @author Administrator * K好数 *原创 2013-11-22 19:29:51 · 1611 阅读 · 0 评论 -
集合划分问题--贝尔数
问题描述:n个元素的集合{1,2,, n }可以划分为若干个非空子集。例如,当n=4 时,集合{1,2,3,4}可以划分为15 个不同的非空子集如下:{{1},{2},{3},{4}},{{1,2},{3},{4}},{{1,3},{2},{4}},{{1,4},{2},{3}},{{2,3},{1},{4}},{{2,4},{1},{3}},{{3,4},{1}原创 2013-11-02 18:25:24 · 1077 阅读 · 0 评论 -
整数因子的分解问题--java
import java.util.Scanner;/** * 整数因子分解 * @author Administrator * */public class IntegerDivide {int n;static int q=0;String content;public IntegerDivide(int n){this.n=n;this.原创 2013-11-15 20:07:11 · 2272 阅读 · 1 评论 -
标准二维表问题--java
import java.util.ArrayList;import java.util.List;import java.util.Scanner;/** * 标准二维表问题 * 数学原理:Catalan数 * @author Administrator * */public class Two_table {List list;public T原创 2013-11-15 21:17:34 · 1482 阅读 · 0 评论 -
集合划分问题
问题描述:n个元素的集合{1,2,, n }可以划分为若干个非空子集。例如,当n=4 时,集合{1,2,3,4}可以划分为15 个不同的非空子集如下:{{1},{2},{3},{4}},{{1,2},{3},{4}},{{1,3},{2},{4}},{{1,4},{2},{3}},{{2,3},{1},{4}},{{2,4},{1},{3}},{{3,4},{1}原创 2013-10-28 20:44:26 · 770 阅读 · 0 评论 -
排列的字典序问题
问题描述:n个元素{1,2,……, n }有n!个不同的排列。将这n!个排列按字典序排列,并编号为0,1,…,n!-1。每个排列的编号为其字典序值。例如,当n=3时,6 个不同排列的字典序值如下: 给定n以及n个元素{1,2,……, n }的一个排列,计算出这个排列的字典序值,以及按字典序排列的下一个排列。思路:/** * 算法思路:从左往右起对大于当前位置的数进行减一原创 2013-10-28 19:28:31 · 1136 阅读 · 0 评论 -
有重复元素的排序问题
问题描述:设有{r1,r2,...,rn}共n个元素,这n个元素中可能存在重复元素,试设计一个算法,列出这n个元素的不同排列。程序代码:/** * @author Administrator * 有重复元素的排序问题 */public class Order {int num = 0;boolean contains(String list[],原创 2013-10-27 16:04:48 · 1104 阅读 · 0 评论 -
半数单集问题
问题描述:给定一个自然数n,由n开始可以依次产生半数集set(n)中的数如下: (1)set(n)中包含n; (2)在n的左边加上一个自然数,但该自然数不能超过最近添加的数的一半; (3)按此规则进行处理,直至不能添加自然数为止。 例如,set(6)={6,16,26,126,36,136}。 编程任务:对于给定的自然数n,编程原创 2013-10-26 20:40:28 · 1227 阅读 · 0 评论 -
半数集问题
问题描述:给定一个自然数n,由n 开始可以依次产生半数集set(n)中的数如下。(1) n∈set(n);(2) 在n 的左边加上一个自然数,但该自然数不能超过最近添加的数的一半;(3) 按此规则进行处理,直到不能再添加自然数为止。例如,set(6)={6,16,26,126,36,136}。半数集set(6)中有6 个元素。注意半数集是多重集。算法设计:对原创 2013-10-25 20:04:14 · 635 阅读 · 0 评论 -
众数问题
import java.util.HashMap;import java.util.Scanner;public class Section2_1 {/*** TODO* * @version 2013-9-11 下午7:08:34*/public static void main(String[] args) {Scanner scan = n原创 2013-09-12 15:02:48 · 621 阅读 · 0 评论 -
字典序问题
问题描述:在数据加密和数据压缩中需要对特殊的字符串进行编码。给定的字母表由26个小写字母组成。该字母表产生的升序字符串是指字符串中字母从左到右出现的次序与字母在字母表中出现的次序相同,且每个字符最多出现1次。例如,a,b,ab,bc,xyz等都是升序字符串。现在对字母表中产生的所有长度不超过6的升序字符串按照字典序排列并编码如下:12...262728原创 2013-09-04 10:50:45 · 695 阅读 · 0 评论 -
最大约数问题—java版
import java.util.ArrayList;import java.util.List;import java.util.Scanner;/** * 定义一个类为幂函数类,类中包含两个参数 * @author LiuYong * 算法思路:根据每个数都可以分解为一个或多个质因子相乘的积的形式这一理论, * 可以将每个数的因子个数表达为每个质因子出现的次原创 2013-09-04 10:25:16 · 1623 阅读 · 0 评论 -
统计数字问题
问题描述:一本书的页码从自然数1开始计数,直到自然数n。书的页码按照通常的习惯编排,每个页码都不包含多余的前导数字0。例如,第6页用数字6表示,而不是06或006等。数字计数问题要求对给定书的总页码n,计算出书的全部页码中分别用到多少次数字0,1,2,...,9。 解题思路: 本题关键在于将每一页码的数字进行分解,这种方式可以利用整数的除法和对10取余计算。例如原创 2013-09-07 22:14:31 · 496 阅读 · 0 评论 -
回溯法问题
回溯法也称为试探法,该方法首先暂时放弃关于问题规模大小的限制,并将问题的候选解按某种顺序逐一枚举和检验。当发现当前候选解不可能是解时,就选择下一个候选解;倘若当前候选解除了还不满足问题规模要求外,满足所有其他要求时,继续扩大当前候选解的规模,并继续试探。如果当前候选解满足包括问题规模在内的所有要求时,该候选解就是问题的一个解。在回溯法中,放弃当前候选解,寻找下一个候选解的过程称为回溯。扩大当前候选转载 2013-12-12 13:13:36 · 806 阅读 · 0 评论