- 浏览: 3566606 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (1491)
- Hibernate (28)
- spring (37)
- struts2 (19)
- jsp (12)
- servlet (2)
- mysql (24)
- tomcat (3)
- weblogic (1)
- ajax (36)
- jquery (47)
- html (43)
- JS (32)
- ibatis (0)
- DWR (3)
- EXTJS (43)
- Linux (15)
- Maven (3)
- python (8)
- 其他 (8)
- JAVASE (6)
- java javase string (0)
- JAVA 语法 (3)
- juddiv3 (15)
- Mule (1)
- jquery easyui (2)
- mule esb (1)
- java (644)
- log4j (4)
- weka (12)
- android (257)
- web services (4)
- PHP (1)
- 算法 (18)
- 数据结构 算法 (7)
- 数据挖掘 (4)
- 期刊 (6)
- 面试 (5)
- C++ (1)
- 论文 (10)
- 工作 (1)
- 数据结构 (6)
- JAVA配置 (1)
- JAVA垃圾回收 (2)
- SVM (13)
- web st (1)
- jvm (7)
- weka libsvm (1)
- weka屈伟 (1)
- job (2)
- 排序 算法 面试 (3)
- spss (2)
- 搜索引擎 (6)
- java 爬虫 (6)
- 分布式 (1)
- data ming (1)
- eclipse (6)
- 正则表达式 (1)
- 分词器 (2)
- 张孝祥 (1)
- solr (3)
- nutch (1)
- 爬虫 (4)
- lucene (3)
- 狗日的腾讯 (1)
- 我的收藏网址 (13)
- 网络 (1)
- java 数据结构 (22)
- ACM (7)
- jboss (0)
- 大纸 (10)
- maven2 (0)
- elipse (0)
- SVN使用 (2)
- office (1)
- .net (14)
- extjs4 (2)
- zhaopin (0)
- C (2)
- spring mvc (5)
- JPA (9)
- iphone (3)
- css (3)
- 前端框架 (2)
- jui (1)
- dwz (1)
- joomla (1)
- im (1)
- web (2)
- 1 (0)
- 移动UI (1)
- java (1)
- jsoup (1)
- 管理模板 (2)
- javajava (1)
- kali (7)
- 单片机 (1)
- 嵌入式 (1)
- mybatis (2)
- layui (7)
- asp (12)
- asp.net (1)
- sql (1)
- c# (4)
- andorid (1)
- 地价 (1)
- yihuo (1)
- oracle (1)
最新评论
-
endual:
https://blog.csdn.net/chenxbxh2 ...
IE6 bug -
ice86rain:
你好,ES跑起来了吗?我的在tomcat启动时卡在这里Hibe ...
ES架构技术介绍 -
TopLongMan:
...
java public ,protect,friendly,private的方法权限(转) -
贝塔ZQ:
java实现操作word中的表格内容,用插件实现的话,可以试试 ...
java 读取 doc poi读取word中的表格(转) -
ysj570440569:
Maven多模块spring + springMVC + JP ...
Spring+SpringMVC+JPA
package endual; public class AnagramApp { static int size ; static int count ; static char[] arrChar ; public static void main(String[] args) { String msgs = "abc" ; arrChar = msgs.toCharArray() ; size = arrChar.length ; count = 0 ; doAnagrm(size) ; } /** * 求出一个word的全排列 * @param newSize */ public static void doAnagrm(int newSize) { //传入的是字符数组的长度 if (newSize == 1) { return ; } for (int j=0; j<newSize; j++) { //对数组进行循环确保每个都能当头头轮的到 doAnagrm(newSize-1) ; if(newSize == 2) { displayWord() ; } rotate(newSize) ; //进行调换位子 } } //循环左边所有的字符从这个位子到结束 private static void rotate(int newSize) { // TODO Auto-generated method stub int j ; int position = size - newSize ; //总的长度 - 当前字符的长度就是当前位子 //"abcde"---5个 当前位子0 -- a //"bcde" ---4个当前位子1 -- b char temp = arrChar[position]; //保存第一个字母 for (j=position+1; j < size; j++) { //从当前位子的下一个位子开始 //移动位子// 原来的是 []bcde --- []cde[空的位子] arrChar[j-1] = arrChar[j] ; }//跳出循环以后,j的大小是size的大小 arrChar[size-1] = temp ; //将[空的位子] 用temp来代替了 } // end //打印单词 private static void displayWord() { // TODO Auto-generated method stub if(count < 99) { System.out.print(" ") ; } if (count < 9) { System.out.print(" ") ; } System.out.print(++count + " ") ; for (int i=0; i < size; i++) { System.out.println(arrChar[i]) ; }//打印数列 System.out.println(" "); System.out.flush() ; if(count%6 == 0) { System.out.println(" "); } } }
这是递归应用的另外一种情况。
在这种情况下递归提供了一种对问题的简单简洁的解决方法。排列是指按照一定的顺序安排事物。
假设想要列出一个指定的单词的所以变位子,也就是列出该词的全排列(不管这些排列是否是真的英语单词),
他们都是由原来这个单词的字母组成的。我们称这一的工作是变位一个单词或者称为全排列一个单词。
发表评论
-
java 归并排序 自己写
2012-02-22 09:03 1464package endual.xier.writeaga ... -
递归思想 汉诺塔的问题
2012-02-09 10:46 1665package endual; public cl ... -
带权图 最短路径 代码自己写
2012-02-09 10:46 3193最短路径问题 可 ... -
带权图的最小生成树 (代码自己写)
2012-02-08 16:02 46691.大理论的一些资料 ... -
数据结构学习的在线好网址
2012-02-07 16:20 1573http://sjjg.js.zwu.edu.cn/SFXX/ ... -
有向无环图 拓扑排序
2012-02-07 15:53 3470package endual.tuopupaixu; ... -
java 图的最小生成树问题 (代码自己写)
2012-02-07 13:51 2795最小生成树是基于无无向图,并且是没有权值的图的。它的实现可以用 ... -
java 图 代码自己写
2012-02-07 13:07 1797图的建立也是基于数组的,但是遍历的话是基于链表或者是矩阵的 ... -
堆 (自己写)
2012-02-06 13:32 1470堆也是基于数组的哦,所以在创建的时候,请先要考虑好数组的大小了 ... -
哈希表的一些概念 代码(自己写)
2012-02-05 18:44 2196首先,我们要明确一点 ... -
红黑树的一些概念
2012-02-05 14:43 2019普通的二叉树作为数 ... -
两个正整数相加
2012-02-05 09:48 1879import java.util.Scanner; i ... -
二叉树代码
2012-02-05 09:51 1735package endual; /** * 树 ... -
java 二叉树
2012-02-04 14:17 1582为什么要用二叉树 通常我们去实现数据结构有两种方式,一 ... -
桶排序(代码自己写)
2012-02-04 13:24 2042简单来说,就是把数据分组,放在一个个的桶中,然后对每个桶 ... -
各类排序算法
2012-02-04 13:19 1496隐藏▲ 查 · 论 -
快速排序算法(自己写)
2012-02-04 12:58 1775快速排序算法的伪代码。 package endual; ... -
java 希尔排序算法(自己写)
2012-02-04 10:26 1881希尔排序算法是对插入算法的应用吧,就是多次的使用了插入算法多排 ... -
java递归的一个问题
2012-02-03 13:56 1875据说比达格斯理论家,又称一群在必达格斯领导下工作的古希腊数学家 ... -
java 实现链表(自己写的)
2012-02-03 11:03 1669今天用java写了下的链表, 还是有点糊涂的。这和C语言写的链 ...
相关推荐
这段代码展示了如何使用递归和回溯算法解决字符串全排列问题。对于较长的字符串,这种方法可能会效率较低,因为它会生成大量重复的排列。在实际应用中,可以考虑使用其他算法,如记忆化搜索或字典树等,以提高效率。...
常见得全排列有三种解决方案,for循环穷举,stl摸板函数next_permutation,还有DFS深度优先搜索,当我们遇到带有重复的字符串时应该考虑除去重复的部分。
输入一个字符串,打印出该字符串中字符的所有排列。例如输入字符串abc,则输出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba 思路 这是典型的递归求解问题,递归算法有四个特性: 必须有可...
全排列是指从给定的字符数组中,按照一定的顺序生成所有可能的排列组合。这个问题通常使用回溯法来解决,因为它能够有效地避免重复的排列。下面我们将深入探讨如何使用Java实现字符数组的全排列。 首先,我们需要...
"Java递归实现字符串全排列与全组合" Java递归实现字符串全排列与全组合是指使用Java语言通过递归算法实现字符串的全排列和全组合。全排列是指将字符串中的所有元素按照一定的顺序进行排列,而全组合是指将字符串...
全排列是一种对给定序列进行不重复的元素重排的算法。在PHP中实现字符串的全排列,可以通过递归和回溯法来完成。递归是函数自我调用的一...对于PHP中的字符串全排列来说,掌握这些知识点,可以有效解决相关的编程难题。
总的来说,通过回溯法实现字符串全排列是一个经典的计算机科学问题,涉及到递归、搜索和问题解决策略。同时,DHTML和JavaScript是Web开发的重要组成部分,它们与算法学习相结合,可以帮助开发者提高综合技能。
### Python字符串的全排列算法实例详解 #### 一、引言 在计算机科学中,全排列问题是一个常见的问题,尤其在解决密码学、组合优化等领域时尤为重要。全排列指的是从给定的一些元素中取出全部元素进行排列的方式。...
在java中,实现字符串的全排列可以使用递归思想。将需要全排列的字符串分为两部分:第一个字符和第一个字符后面的所有字符。然后,对第一个字符和后面的字符进行交换,固定第一个字符,对后面的字符进行全排列。这样...
在这个问题中,我们需要对给定的字符串中的每个字符进行全排列。 首先,我们来理解字符串的基本概念。在C++中,字符串是由字符组成的序列,可以使用`std::string`类来表示。字符串可以被初始化、操作、比较和拷贝,...
简单的实现,代码很短。...输入一个字符串,输出它的字符的所有组合的情况 如输入“abc”,则输出abc,acb,bac,bca,cab,cba。 但如果输入“aba”,即有重复的,也会输出aba,aab,baa,baa,aba,aab。
字符串的全排列和组合算法是计算机科学中的一种基础算法,主要应用于数据处理和问题求解。在本文档中,我们将探讨如何使用C++实现字符串的全排列算法,并讨论如何处理包含重复字符的情况。 首先,全排列是指从一个...
为方便起见,用123来示例下。123的全排列有123、132、213、231、312、321这六种。首先考虑213和321这二个数是如何得出的。显然这二个都是123中的1与后面两数交换得到的...找到这个规律后,递归的代码就很容易写出来了:
针对字符串全排列问题,当字符有重复时,需要特别处理以去除重复排列。这可以通过交换字符时进行检查,确保交换前后不产生重复排列来实现。如果字符集合较大,可能需要采用额外的空间来标记哪些字符已被使用,以此来...
如果需要处理大字符串的全排列问题,可能会考虑使用非递归的实现方式,或者利用其他高级数据结构和算法来优化性能。例如,可以使用回溯算法(backtracking algorithm)来避免生成重复的排列,或者使用迭代方式来控制...
- `TestPermute.java`:可能实现了字符串的全排列算法,并命名为`permute`方法。 - `Test2.java`:可能是对另一种算法的实现,比如改进或优化过的版本。 - `Test.java`:通常用于编写单元测试,检验各种输入情况下,...