算法
dreamfly2014
这个作者很懒,什么都没留下…
展开
-
数据结构算法,通用控制台完善
通用控制台完善,增加退出功能,增加返回主菜单,为不同叶子节点增加一个证书信息,将来结束时返回这个整数信息,而不是返回叶子节点的字符串package com.yaofei.first;import java.util.ArrayList;import java.util.List;public class Tree { private List lst = new ArrayList()原创 2014-05-04 10:18:01 · 651 阅读 · 0 评论 -
java实现智能数组
题目:java提供的数组有个特点: 当数组元素的个数确定后,就不能再追加元素了。也就是说,数组的大小在创建的时候就固定了。现在请你来写一个智能数组类 SmartArray,它能够根据需要动态地分配空间。实际上,它只不过是在其它位置分配新的数组,然后把旧的数据拷贝过去。请提供数组访问方法:int get(int idx); // 返回指定位置的元素值原创 2014-04-06 22:06:27 · 770 阅读 · 0 评论 -
二维数组矩阵查询,输入的第一行为两个整数代表将要输入的矩阵的行数和列数,输入的第二行代表要查找的数字。
/** * 输入可能包含多个测试样例,对于每个测试案例, 输入的第一行为两个整数m和n(1 输入的第二行包括一个整数t(1 接下来的m行,每行有n个数,代表题目所给出的m行n列的矩阵(矩阵如题目描述所示, 每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。 * */原创 2014-04-23 00:20:33 · 12427 阅读 · 0 评论 -
归并排序_完成merge方法
/** * 在工程问题中,当对大量数据进行排序的时候,数据往往是放在数组中的。 这时进行排序需要一些腾挪的技巧。一般是使用一个临时的数组空间保存中间结果,排好序以后,再拷贝回原来的数组。 */package cn.itcast.sort;public class MergeSort {static int number=0;static void merg原创 2014-04-14 22:38:16 · 829 阅读 · 0 评论 -
链式基数排序_对整数序列进行排序,低关键字优先的基数排序算法很有创新。
package cn.itcast.sort;import java.util.ArrayList;import java.util.List;/** * * 请对整数序列进行排序。 随机产生1000个整数,其中整数的范围0~9999 可以用十进制的每个位为关键字。排序时使用十个动态数组为临时空间,进行分配和收集。原创 2014-04-15 22:27:00 · 3042 阅读 · 0 评论 -
递归实现图的深度和广度遍历
递归实现广度优先遍历:原创 2014-05-08 20:34:47 · 2301 阅读 · 0 评论 -
最短路径_求最小值(牵马从a到b,求最短时间)
package cn.itcast.demo;/* n匹马从A村运往B村 每次骑1匹马牵1匹马,回来时骑1匹马。 已知每匹马从A村到B村需要的时间(数字越大越慢) 两匹马同行时只能迁就较慢者。 求最小的运输时间。 输入:41425程序应该输出:12*/import java.util.*;原创 2014-05-09 21:31:15 · 1369 阅读 · 0 评论 -
试探与回溯_找出更大差三角
package cn.itcast.demo;/** * 3 1 4 5 6 2 看出什么特征吗? 首先,它包含了1~6的连续整数。 重要的是:每个数字都是其下方相邻的两个数字的差(当然是大数减去小数) * 满足这样特征的三角形,称为:差三角。 * */public class chaTriangle {static boolean check1(int[原创 2014-05-11 16:15:15 · 800 阅读 · 0 评论 -
一般树形结构_求通路长度
iimport java.util.ArrayList;import java.util.List;import java.util.Vector;import cn.itcast.tree.MyTree.Node;class MyTree{ private List lst = new ArrayList(); class Node{ String data; Str原创 2014-03-30 21:33:52 · 1454 阅读 · 0 评论 -
定义一棵二叉树的高度就是从根到叶子的最长距离。试编码求二叉树的高度。
//其思想就是,若二叉树为空,则其深度为0,否则,其深度等于左子树和右子树的深度的最大值加1:class BiTree{ private int data; private BiTree left; private BiTree right; public BiTree(int x) { data = x; } //t为待插入的节点 public void add原创 2014-03-30 20:47:10 · 1736 阅读 · 0 评论 -
Android文本阅读器,SD卡文本阅读
文本阅读器,区别于小说阅读器,不能读取大容量的文件。文件容量过大,就会导致读取的速度变得很慢。 读取一个文本文件需要使用BufferedReader + FileReader来逐行读取内容。还需要准备一个滚动面板配合TextView来显示内容。如果文件比较大,读取时间会比较长,就需要使用ProgressDialog来建立进度条,提示用户当前正在加载数据。注:这里读取文件的原创 2014-03-29 20:28:40 · 4035 阅读 · 3 评论 -
双向循环链表经典案例,20孩子报数,7的倍数或数字中含有7,不出声,数数的方向逆转
package cn.itcast.dlinklist;import java.util.Stack;public class DoubleLinkList { // 节点类Node private static class Node { Object value; Node prev = this; Node next = this; Node(Object v)转载 2014-03-30 21:54:22 · 1389 阅读 · 0 评论 -
菜单,数据结构思想案例,显示孩子节点,是按从长到幼的次序。
每个菜单项有4个指针:parent: 指向父节点child: 指向第一个孩子节点left: 指向本节点的“哥哥”right: 指向本节点的“弟弟”显示孩子节点的时候,是按从长到幼的次序。原创 2014-04-06 22:22:50 · 905 阅读 · 0 评论 -
角谷定理:正整数,偶数除以2,基数乘以3加1,问:10000中最长的角谷数
角谷定理:正整数,偶数除以2,基数乘以3加1,问:10000中最长的角谷数比如:9原创 2014-04-09 14:28:38 · 3163 阅读 · 0 评论 -
按要求操作,按顺序从一字符串中输出3个字符
/** * 从键盘读入一个由字母构成的串(不大于30个字符)。从该串中取出3个不重复的字符,求所有的取法。取出的字符,要求按字母升序排列成一个串。不同的取法输出顺序可以不考虑。例如:输入:abc则输出:abc输入:abcd则输出:abcabdacdbcd输入:abcaa则输出:abc */package cn.原创 2014-04-16 11:29:11 · 2526 阅读 · 0 评论 -
树形选择排序的实现
package cn.itcast.sort;public class SelectSort { /*** 实现原理: * 第一步,首先对n个记录进行两两比较,得到较小的n/2个数再依次比较,依次类推 * 直到得到一个最小值,这是一个构造完全二叉树的过程,根节点即为最小元素,叶子节点为列表元素。 * 构造的此树的存储结构可以用数组表示方原创 2014-04-14 20:41:34 · 1958 阅读 · 0 评论 -
TreeSet与排序_实践应用,TreeSet显示某商品的若干信息
/** * 有如下类型,代表某应用中的点类型 class MyPoint { private int x; //横坐标例如:15 private int y; //纵坐标例如:22 private String color; //点的颜色,例如:red ... } 需要把这种类型的对象加入到 HashSet中去,原创 2014-04-11 11:08:08 · 851 阅读 · 0 评论 -
HashSet重复标准_重复判断的问题,颜色形同,坐标点距离不超过2,则认为是同一个点对象
/** * 有如下类型,代表某应用中的点类型class MyPoint{private int x; //横坐标 例如:15private int y; //纵坐标 例如:22private String color; //点的颜色,例如:red...}需要把这种类型的对象加入到 HashSet中去,请解决重复判断的问题。判定要求: 颜色形同原创 2014-04-11 10:46:50 · 949 阅读 · 0 评论 -
拼音查找,设计一种机制能够从给定的拼音定位到合适的人名
package cn.itcast.map;/** * 我们在使用手机通信录的时候,都希望能快速定位某人。 比较流行的做法是输入拼音首字母。 假设某个列表中存储着许多联系人的名字。请设计一种机制能够从给定的拼音定位到合适的人名,如有多个人匹配,则定位多个人。 能支持模糊音吗? 提示: 汉字的GBK编码就原创 2014-04-11 10:24:22 · 1198 阅读 · 0 评论 -
散列原理_设计方案,从车牌号快速地计算出该车辆的大约停车位置
/*** 某停车场容量为1000,编号从1000~1999 且相邻编号位置肯定是相邻的。最高峰大约需要停放800辆车。假设车牌号码是类似:“京NHK936” 这样的汉字、数字、字母混合。我们需要一种方案,可以从车牌号快速地计算出该车辆的大约停车位置。这样当有人电话询问某辆车的位置时,只要报一下车牌号就可以了。*///汽车牌号的首字母是身份缩写public enu原创 2014-04-11 09:07:48 · 1232 阅读 · 0 评论 -
并非排序,在若干的元素中求出最大的前5个元素
package cn.itcast.map;/** * 在若干的元素中求出最大的前5个元素。比如:23,15,26,38,33,22,19,17,21,35,47,2,18, ...当然,你可以对所有的元素排序,然后找出最大的5个元素,但这样做实际上是做了不必要的多余的工作。如果元素较多,实现完全排序必然很浪费资源,而我们只要前5个元素,其它排好了序,也没什么用处!原创 2014-04-10 22:33:08 · 1037 阅读 · 0 评论 -
Demo8Map典型应用_按要求排序,先按省份的拼音序,每个省份内再按姓名拼音序来排列。
package cn.itcast.map;/** * 某个文本文件中存储如下格式信息: 张小兵 北京 胡进 河北 将达民 四川 高力 河北 卢刊令 北京 .... 读入这个文件,要求输出内容为: 北京: 卢刊令 张小兵 河北: 高力 胡进 四川: 将达民 */import原创 2014-04-10 21:39:18 · 1087 阅读 · 2 评论 -
对象比较_价值计算,设计该对象的价值计算方法,材质,颜色,形状,尺寸
package cn.bh.oop;/** * 某游戏中的对象具有属性: * 1. 材质: 木材,钢铁,合金,塑料2. 颜色: 红 黑 黄 白 红3. 形状: 方 圆 三角 五边4. 尺寸: 整数 1 ~ 1000请设计该对象的价值计算方法。属性的重要性从上到下减小。同一属性的值的重要性从左到右减小。即: 材质好的原创 2014-04-10 12:42:39 · 1024 阅读 · 0 评论 -
Set集合解决年龄问题:年龄的4次方是个6位数。这10个数字正好包含了从0到9这10个数字,
美国数学家维纳(N.Wiener)智力早熟,11岁就上了大学。他曾在1935~1936年应邀来中国清华大学讲学。一次,他参加某个重要会议,年轻的脸孔引人注目。于是有人询问他的年龄,他回答说:“我年龄的立方是个4位数。我年龄的4次方是个6位数。这10个数字正好包含了从0到9这10个数字,每个都恰好出现1次。”请你推算一下,他当时到底有多年轻。dainma原创 2014-04-09 15:08:17 · 3436 阅读 · 0 评论 -
请判断一个串中的括号是否匹配 注意下列不匹配的情况: 左括号太多 右括号太多 右括号先于左括号出现 ..)...(... 挎臂情况 ....[...(....]....)....
import java.util.*; //任意输入一段含括号的式子,判断括号是否匹配public class QueueAndStack { public static boolean isGoodBracket(String s) { //建立一个字符堆栈 Stack a = new Stack(); for (原创 2014-03-30 20:53:07 · 1793 阅读 · 0 评论