ImageVerifierCode 换一换
格式:DOCX , 页数:35 ,大小:28.05KB ,
资源ID:3152656      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3152656.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(java经典算法系列IT168文库.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

java经典算法系列IT168文库.docx

1、java经典算法系列IT168文库Java算法之经典题目篇(转自瓢虫论坛橡树心) 现在先推出比较经典问题的Java算法,过段时间会继续推出,关于查询,数列,排序之类的java算法。谢谢大家。应版主要求我一楼放个目录,呵呵。1:费式数列2:巴斯卡三角形3: 三色棋4:老鼠走迷宫5:骑士走棋盘6:八个皇后7:八枚银币8:生命游戏9:字符串核对10:双色,三色河内塔11:背包问题12:河内塔费式数列(Fibonacci)问题说明: Fibonacci为1200年代的欧洲数学家,在他的著作中曾经提到:若有一只兔子每个月生一只小兔子,一个月后小兔子也开始生产。起初只有一只兔子,一个月后就有两只兔子,两个

2、月后有三只兔子,三个月后有五只兔子(小兔子投入生产) 这就是Fibonacci数列,一般习惯称之为费式数列,例如:1,1,2,3,5,8,13,21,34,55,89,算法代码(Java):1. public class Fibonacci 2. public static void main(String args) 3. int fib = new int20;4. 5. fib0 = 0;6. fib1 = 1;7. 8. for(int i = 2; i fib.length; i+)9. fibi = fibi-1 + fibi-2;10. 11. for(int i = 0; i

3、fib.length; i+)12. System.out.print(fibi + );13. System.out.println();14. 15. 巴斯卡三角形(Pascal)问题说明:巴斯卡(Pascal)三角形基本上就是在解nCr,因为三角形上的每一个数字各对应一个nCr,其中n为row,而r为colnmu,算法代码(Java):1. 2. import java.awt.*;3. import javax.swing.*;4. 5. public class Pascal extends JFrame 6. public Pascal() 7. setBackground(Col

4、or.white);8. setTitle(巴斯卡三角形);9. setSize(520, 350);10. setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);11. show();12. 13. 14. private long combi(int n, int r)15. int i;16. long p = 1;17. 18. for(i = 1; i = r; i+)19. p = p * (n-i+1) / i;20. 21. return p;22. 23. 24. public void paint(Graphics g) 25. fi

5、nal int N = 12;26. int n, r, t;27. 28. for(n = 0; n = N; n+) 29. for(r = 0; r = n; r+)30. g.drawString( + combi(n, r),31. (N-n)*20 + r * 40, n * 20 + 50);32. 33. 34. 35. public static void main(String args) 36. Pascal frm = new Pascal();37. 38. 三色旗(ThreeColorFlags)问题说明: 三色旗的问题最早由E.W.Dijkstra所提出,塔所使用

6、的用语为Dutch Nation Flag(Dijkstra为荷兰人),而多数的作者则使用Three-Color Flag来说明。假设有一条绳子,上面有红,白,蓝三种颜色的旗子,起初绳子上的旗子颜色并没有顺序,您希望将之分类,并排列蓝,白,红的顺序,要如何移动次数才会最少,注意您只能在绳子上进行这个动作,而且一次只能调换两个旗子。算法代码(Java):1. import java.io.*;2. 3. public class ThreeColorsFlags 4. private void swap(char flags, int x, int y) 5. char temp;6. temp

7、 = flagsx;7. flagsx = flagsy;8. flagsy = temp;9. 10. 11. public String move(char flags) 12. int wFlag = 0;13. int bFlag = 0;14. int rFlag = flags.length - 1;15. 16. while(wFlag = rFlag) 17. if(flagswFlag = W) 18. wFlag+;19. 20. else if(flagswFlag = B) 21. swap(flags, bFlag, wFlag);22. bFlag+;23. wFl

8、ag+;24. 25. else 26. while(wFlag rFlag & flagsrFlag = R)27. rFlag-;28. swap(flags, rFlag, wFlag);29. rFlag-; 30. 31. 32. 33. return new String(flags);34. 35. 36. public static void main(String args)37. throws IOException 38. BufferedReader buf;39. buf = new BufferedReader(40. new InputStreamReader(S

9、ystem.in);41. 42. System.out.print(输入三色旗顺序(ex. RWBBWRWR):);43. String flags = buf.readLine();44. 45. ThreeColorsFlags threeColorsFlag = new ThreeColorsFlags();46. flags = threeColorsFlag.move(47. flags.toUpperCase().toCharArray();48. 49. System.out.println(移动顺序后: + flags); 50. 51. 老鼠走迷宫(Mouse)问题说明:

10、老鼠走迷宫是循环求解的基本类型,我们在二维数组中用2来表示迷宫的墙壁,使用1来表示老鼠的行走路径,并用程序求出从入口到出口的距离。算法代码(Java):1. public class Mouse 2. private int startI, startJ;/ 入口3. private int endI, endJ;/ 出口4. private boolean success = false;5. 6. public static void main(String args) 7. int maze = 2, 2, 2, 2, 2, 2, 2,8. 2, 0, 0, 0, 0, 0, 2,9.

11、2, 0, 2, 0, 2, 0, 2,10. 2, 0, 0, 2, 0, 2, 2,11. 2, 2, 0, 2, 0, 2, 2,12. 2, 0, 0, 0, 0, 0, 2,13. 2, 2, 2, 2, 2, 2, 2;14. 15. System.out.println(显示迷宫:);16. for(int i = 0; i maze.length; i+) 17. for(int j = 0; j maze0.length; j+)18. if(mazej = 2)19. System.out.print();20. else21. System.out.print();22. System.out.println();

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1