摘要: 本文目录: 前言 普通类、抽象类、接口的表示 类图之间关系 总结 前言 类图和序列图是UML中最常用的两种Diagram。我将做详细的总结。在许多书中,或者网站中,在介绍一个系统的子系统的设计时,很多时候,都是给出简单的类图来简述构成子系统的类之间的关系。这足以说明类图的重要性。 对类图的基本认识有 阅读全文
posted @ 2018-11-16 16:47 弄潮儿儿 阅读(313) 评论(0) 推荐(0) 编辑
摘要: public class Six { static int[] arr; public static void one() { int len = arr.length; int counter = 1; int h = 1; while(3*h+1 0) { //重复执行,一直到时间间隔=0; ... 阅读全文
posted @ 2018-11-16 15:24 弄潮儿儿 阅读(154) 评论(0) 推荐(0) 编辑
摘要: /** * 归并排序--分治法 * */ 阅读全文
posted @ 2018-11-16 15:23 弄潮儿儿 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 快速排序 阅读全文
posted @ 2018-11-16 15:23 弄潮儿儿 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 直接插入排序就是从待排序列中选出一个元素,插入到已经有序的元素之中,直到所有的元素都插入到有序序列中所有的元素就全部有序了。 通常的做法就是将第一个元素看做是有序的元素(即待排序列的第一个元素看做是有序序列),然后我们将第二个元素和有序序列(即 9 第一个元素)作比较,按正确的序列插入到序列中去。然后在将第三个元素和前面有序序列(即整个待排序列的前两个元素)作比较,将第三个插入到前两个元素中去... 阅读全文
posted @ 2018-11-16 15:22 弄潮儿儿 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 原理:每一趟从待排序的记录中选出最小的元素,顺序放在已排好序的序列最后,直到全部记录排序完毕。也就是:每一趟在n-i+1(i=1,2,…n-1)个记录中选取关键字最小的记录 作为有序序列中第i个记录。基于此思想的算法主要有简单选择排序、树型选择排序和堆排序。(这里只介绍常用的简单选择排序) 简单选择排序的基本思想:给定数组:int[] arr={里面n个数据};第1趟排序,在待排序数据... 阅读全文
posted @ 2018-11-16 15:21 弄潮儿儿 阅读(392) 评论(0) 推荐(0) 编辑
摘要: /** * 冒泡以及三种优化 * */ 阅读全文
posted @ 2018-11-16 15:20 弄潮儿儿 阅读(153) 评论(0) 推荐(0) 编辑
摘要: /** * 题目:二叉树中和为某一值的路径 * 描述: 输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。 * 路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径 * 方案: * * */ 阅读全文
posted @ 2018-11-16 15:18 弄潮儿儿 阅读(116) 评论(0) 推荐(0) 编辑
摘要: /** * 题目:二叉搜索树的后序遍历序列 * 描述:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同 * 二叉搜索树,又叫二叉排序树,它或者是一颗空树,或者具有以下性质: * 若他的左子树都不为空,则左子树上所 阅读全文
posted @ 2018-11-16 15:17 弄潮儿儿 阅读(119) 评论(0) 推荐(0) 编辑
摘要: /** * 题目:从上往下打印二叉树 * 描述:从上往下打印出二叉树的每个节点,同层节点从左至右打印。 * 方案: * 思路:使用两个队列一个存放节点,一个存放值。先将根节点加入到队列中,然后遍历队列中的元素,遍历过程中, * 访问该元素的左右节点,再将左右节点加入到队列中来。 * * */ 阅读全文
posted @ 2018-11-16 15:16 弄潮儿儿 阅读(136) 评论(0) 推荐(0) 编辑
摘要: /** * 题目:二叉树的镜像 * 描述:二叉树的镜像定义:源二叉树 8 / \ 6 10 / \ / \ 5 7 9 11 镜像二叉树 8 / \ 10 6 / \ / \ 11 9 7 5 * 解决方案: ①注意特殊输入的判断;②交换根结点的左右孩子结点③递归访问所有的结点(每个结点的左右孩子交 阅读全文
posted @ 2018-11-16 15:15 弄潮儿儿 阅读(110) 评论(0) 推荐(0) 编辑
摘要: /** * 题目:重建二叉树 * 描述:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。 * 例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 * 解决方案:思 阅读全文
posted @ 2018-11-16 15:13 弄潮儿儿 阅读(139) 评论(0) 推荐(0) 编辑
摘要: /** * 题目:树的子结构 * 描述:输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构) * 解决方案:思路: 1.是子树分为三种情况①当前结点已经是子树了,②当前结点左孩子存在子树③当前结点右孩子存在子树 * 2.判断是否是子树必须满足:结点值相等,左右节 阅读全文
posted @ 2018-11-16 15:13 弄潮儿儿 阅读(203) 评论(0) 推荐(0) 编辑
摘要: /** *题目: 调整数组顺序使奇数位于偶数前面 *描述:输入一个整数数组,实现一个函数来调整该数组中数字的顺序, * 使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变 *解决方案: * */ 阅读全文
posted @ 2018-11-16 15:10 弄潮儿儿 阅读(125) 评论(0) 推荐(0) 编辑
摘要: /** * 题目:顺时针打印矩阵 * 描述:输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵: * 1 2 3 4 * 5 6 7 8 * 9 10 11 12 * 13 14 15 16 * 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9, 阅读全文
posted @ 2018-11-16 15:10 弄潮儿儿 阅读(238) 评论(0) 推荐(0) 编辑
摘要: /** *题目:数值的整数次方 *描述:给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。 *解决方案: 求次方得考虑exponent的范围 * ①等于0,怎都等于0; * ②大于0,相当于exponent个base相乘 * ③小于0,相当 阅读全文
posted @ 2018-11-16 15:09 弄潮儿儿 阅读(124) 评论(0) 推荐(0) 编辑
摘要: /** * 题目:二进制中1的个数 * 描述:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示 * 解决方案: ①如果确定是正数:将这个整数target的二进制与1进行与运算,如果每次结果等于1,那么这个target的二进制最右边就为1,可以定义一个变量count来进行记录二进制中1的 阅读全文
posted @ 2018-11-16 15:08 弄潮儿儿 阅读(139) 评论(0) 推荐(0) 编辑
摘要: /** * 题目:栈的压入、弹出序列 * 描述:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。 * 例如序列1,2,3,4,5是某 栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该 阅读全文
posted @ 2018-11-16 15:07 弄潮儿儿 阅读(200) 评论(0) 推荐(0) 编辑
摘要: /** * 题目:包含min函数的栈 * 描述: 定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。 * 注:用data来保存数据,用另一个栈min保存依次入栈最小的数 * 每次入栈的时候,如果入栈的元素比min中的栈顶元素小或等于则入栈,否则不入栈。 * 方案: * */ 阅读全文
posted @ 2018-11-16 15:06 弄潮儿儿 阅读(109) 评论(0) 推荐(0) 编辑
摘要: /** * 题目:用两个栈实现队列 * 描述:用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 * 解决方案:方法一:一个作为存储用,一个作为弹出用 * */ 阅读全文
posted @ 2018-11-16 15:05 弄潮儿儿 阅读(96) 评论(0) 推荐(0) 编辑