摘要:
本文目录: 前言 普通类、抽象类、接口的表示 类图之间关系 总结 前言 类图和序列图是UML中最常用的两种Diagram。我将做详细的总结。在许多书中,或者网站中,在介绍一个系统的子系统的设计时,很多时候,都是给出简单的类图来简述构成子系统的类之间的关系。这足以说明类图的重要性。 对类图的基本认识有 阅读全文
posted @ 2018-11-16 16:47
弄潮儿儿
阅读(342)
评论(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
弄潮儿儿
阅读(160)
评论(0)
推荐(0)
摘要:
/** * 归并排序--分治法 * */ 阅读全文
posted @ 2018-11-16 15:23
弄潮儿儿
阅读(118)
评论(0)
推荐(0)
摘要:
快速排序 阅读全文
posted @ 2018-11-16 15:23
弄潮儿儿
阅读(121)
评论(0)
推荐(0)
摘要:
直接插入排序就是从待排序列中选出一个元素,插入到已经有序的元素之中,直到所有的元素都插入到有序序列中所有的元素就全部有序了。 通常的做法就是将第一个元素看做是有序的元素(即待排序列的第一个元素看做是有序序列),然后我们将第二个元素和有序序列(即 9 第一个元素)作比较,按正确的序列插入到序列中去。然后在将第三个元素和前面有序序列(即整个待排序列的前两个元素)作比较,将第三个插入到前两个元素中去... 阅读全文
posted @ 2018-11-16 15:22
弄潮儿儿
阅读(152)
评论(0)
推荐(0)
摘要:
原理:每一趟从待排序的记录中选出最小的元素,顺序放在已排好序的序列最后,直到全部记录排序完毕。也就是:每一趟在n-i+1(i=1,2,…n-1)个记录中选取关键字最小的记录 作为有序序列中第i个记录。基于此思想的算法主要有简单选择排序、树型选择排序和堆排序。(这里只介绍常用的简单选择排序) 简单选择排序的基本思想:给定数组:int[] arr={里面n个数据};第1趟排序,在待排序数据... 阅读全文
posted @ 2018-11-16 15:21
弄潮儿儿
阅读(411)
评论(0)
推荐(0)
摘要:
/** * 冒泡以及三种优化 * */ 阅读全文
posted @ 2018-11-16 15:20
弄潮儿儿
阅读(159)
评论(0)
推荐(0)
摘要:
/** * 题目:二叉树中和为某一值的路径 * 描述: 输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。 * 路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径 * 方案: * * */ 阅读全文
posted @ 2018-11-16 15:18
弄潮儿儿
阅读(123)
评论(0)
推荐(0)
摘要:
/** * 题目:二叉搜索树的后序遍历序列 * 描述:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同 * 二叉搜索树,又叫二叉排序树,它或者是一颗空树,或者具有以下性质: * 若他的左子树都不为空,则左子树上所 阅读全文
posted @ 2018-11-16 15:17
弄潮儿儿
阅读(124)
评论(0)
推荐(0)
摘要:
/** * 题目:从上往下打印二叉树 * 描述:从上往下打印出二叉树的每个节点,同层节点从左至右打印。 * 方案: * 思路:使用两个队列一个存放节点,一个存放值。先将根节点加入到队列中,然后遍历队列中的元素,遍历过程中, * 访问该元素的左右节点,再将左右节点加入到队列中来。 * * */ 阅读全文
posted @ 2018-11-16 15:16
弄潮儿儿
阅读(142)
评论(0)
推荐(0)
摘要:
/** * 题目:二叉树的镜像 * 描述:二叉树的镜像定义:源二叉树 8 / \ 6 10 / \ / \ 5 7 9 11 镜像二叉树 8 / \ 10 6 / \ / \ 11 9 7 5 * 解决方案: ①注意特殊输入的判断;②交换根结点的左右孩子结点③递归访问所有的结点(每个结点的左右孩子交 阅读全文
posted @ 2018-11-16 15:15
弄潮儿儿
阅读(118)
评论(0)
推荐(0)
摘要:
/** * 题目:重建二叉树 * 描述:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。 * 例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 * 解决方案:思 阅读全文
posted @ 2018-11-16 15:13
弄潮儿儿
阅读(155)
评论(0)
推荐(0)
摘要:
/** * 题目:树的子结构 * 描述:输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构) * 解决方案:思路: 1.是子树分为三种情况①当前结点已经是子树了,②当前结点左孩子存在子树③当前结点右孩子存在子树 * 2.判断是否是子树必须满足:结点值相等,左右节 阅读全文
posted @ 2018-11-16 15:13
弄潮儿儿
阅读(219)
评论(0)
推荐(0)
摘要:
/** *题目: 调整数组顺序使奇数位于偶数前面 *描述:输入一个整数数组,实现一个函数来调整该数组中数字的顺序, * 使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变 *解决方案: * */ 阅读全文
posted @ 2018-11-16 15:10
弄潮儿儿
阅读(133)
评论(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
弄潮儿儿
阅读(245)
评论(0)
推荐(0)
摘要:
/** *题目:数值的整数次方 *描述:给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。 *解决方案: 求次方得考虑exponent的范围 * ①等于0,怎都等于0; * ②大于0,相当于exponent个base相乘 * ③小于0,相当 阅读全文
posted @ 2018-11-16 15:09
弄潮儿儿
阅读(136)
评论(0)
推荐(0)
摘要:
/** * 题目:二进制中1的个数 * 描述:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示 * 解决方案: ①如果确定是正数:将这个整数target的二进制与1进行与运算,如果每次结果等于1,那么这个target的二进制最右边就为1,可以定义一个变量count来进行记录二进制中1的 阅读全文
posted @ 2018-11-16 15:08
弄潮儿儿
阅读(149)
评论(0)
推荐(0)
摘要:
/** * 题目:栈的压入、弹出序列 * 描述:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。 * 例如序列1,2,3,4,5是某 栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该 阅读全文
posted @ 2018-11-16 15:07
弄潮儿儿
阅读(216)
评论(0)
推荐(0)
摘要:
/** * 题目:包含min函数的栈 * 描述: 定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。 * 注:用data来保存数据,用另一个栈min保存依次入栈最小的数 * 每次入栈的时候,如果入栈的元素比min中的栈顶元素小或等于则入栈,否则不入栈。 * 方案: * */ 阅读全文
posted @ 2018-11-16 15:06
弄潮儿儿
阅读(117)
评论(0)
推荐(0)
摘要:
/** * 题目:用两个栈实现队列 * 描述:用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 * 解决方案:方法一:一个作为存储用,一个作为弹出用 * */ 阅读全文
posted @ 2018-11-16 15:05
弄潮儿儿
阅读(102)
评论(0)
推荐(0)
摘要:
/** * 题目:字符串的排列 * 描述: 输入一个字符串,按字典序打印出该字符串中字符的所有排列。 * 例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。 结果请按字母顺序输出。 * 输入一个字符串,长度不超过9(可能有字符重复) 阅读全文
posted @ 2018-11-16 15:04
弄潮儿儿
阅读(149)
评论(0)
推荐(0)
摘要:
/** * 题目:替换空格() * 描述:请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 * 解决方案: 方法一: 在java中,String有一个方法replaceAll(); 传入rege 阅读全文
posted @ 2018-11-16 15:02
弄潮儿儿
阅读(201)
评论(0)
推荐(0)
摘要:
/** * 题目:二叉搜索树与双向链表 * 描述:输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向 * 方案:在中序遍历中添加前驱结点 * */ 阅读全文
posted @ 2018-11-16 15:01
弄潮儿儿
阅读(165)
评论(0)
推荐(0)
摘要:
/** * 题目:复杂链表的复制 * 描述:输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。 * (注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空) * 方案:方法一: ① 遍历原链表 阅读全文
posted @ 2018-11-16 14:58
弄潮儿儿
阅读(119)
评论(0)
推荐(0)
摘要:
/** * 题目:合并两个排序的链表 * 描述:输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 * 解决方案: * */ 阅读全文
posted @ 2018-11-16 14:57
弄潮儿儿
阅读(161)
评论(0)
推荐(0)
摘要:
/** *题目: 反转链表 *描述:输入一个链表,反转链表后,输出链表的所有元素。 *解决方案: 新new一个ListNode,处理next的指向关系 * */ 阅读全文
posted @ 2018-11-16 14:56
弄潮儿儿
阅读(140)
评论(0)
推荐(0)
摘要:
题目:链表中倒数第k个结点描述:输入一个链表,输出该链表中倒数第k个结点。解决方案:思路: 根据规律得出倒数第k个节点是 n-k+1个节点 方法一:先计算出链表的长度,在循环走到n-k+1步。(相当于去掉链表最后k-1个元素,然后求此时链表最后一个元素)方法二:两个指针指向头结点,第一个指针走k-1 阅读全文
posted @ 2018-11-16 14:56
弄潮儿儿
阅读(155)
评论(0)
推荐(0)
摘要:
/** * 题目:从尾到头打印链表 * 描述:输入一个链表,从尾到头打印链表每个节点的值。 * 解决方案:方法一:反转链表后进行遍历 * 方法二:使用额外空间栈 * 方法三:递归 * */ 阅读全文
posted @ 2018-11-16 14:54
弄潮儿儿
阅读(187)
评论(0)
推荐(0)
摘要:
/** * 题目:旋转数组的最小数字 * 描述: 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 * 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 * 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 * NOTE:给出的所有 阅读全文
posted @ 2018-11-16 14:52
弄潮儿儿
阅读(158)
评论(0)
推荐(0)
摘要:
/** * 题目:二维数组中的查找 * 描述: 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。 * 请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 * 解决方案: 方法一:遍历数组,进行比较 时间复杂度为O(n*k) * 方法 阅读全文
posted @ 2018-11-16 14:51
弄潮儿儿
阅读(217)
评论(0)
推荐(0)
摘要:
/** * 题目:矩形覆盖 * 描述:我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? * 解决方案:思路 :举例说明 * n = 1时 一个2*1的小矩形 2*1的大矩形 1种方法(直接填充) * n = 2时 2个2 阅读全文
posted @ 2018-11-16 14:48
弄潮儿儿
阅读(172)
评论(0)
推荐(0)
摘要:
/** *题目: 变态蛙跳台阶 *描述:一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 *解决办法: 思路:n级台阶有n级跳法,,举例说明 * 台阶的阶数:1,2,3,4,5,··· * 对应的跳法:1,2,4,8,16,··· * 1 阅读全文
posted @ 2018-11-16 14:47
弄潮儿儿
阅读(247)
评论(0)
推荐(0)
摘要:
/** *题目: 跳台阶 *描述:一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 *解决方案:方法一:思路:举例说明并从中找到规律,列出台阶数和跳法之后,发现裴波那契列类似 * 步骤:根据公式写出代码即可。 * 1 (n=1) * f(n) 2 (n=2) 阅读全文
posted @ 2018-11-16 14:46
弄潮儿儿
阅读(114)
评论(0)
推荐(0)
摘要:
/** * 题目:斐波那契数列 * 描述:大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。n<=39 * 解决方案:方法一:递归 * 方法二:动态规划,如果需要缓存所有的结果,用额外的数组空间进行存储。只要结果的话,就只需要中间的一个变量 * * 裴波那契背景:又称黄金 阅读全文
posted @ 2018-11-16 14:45
弄潮儿儿
阅读(204)
评论(0)
推荐(0)
摘要:
1.数据元素之间的四种基本逻辑结构 集合;同属于一个集合 线性结构;线性表、队列、栈 树:一个对多个 , 人跟机器下象棋 图:多个对多个, 多岔路口交通灯管理问题、古老的七桥问题 2.存储结构 顺序存储 链式存储 散列存储--通过关键字计算得到元素的存储位置(类似于一个函数) 3.算法分析主要方法 阅读全文
posted @ 2018-11-16 14:39
弄潮儿儿
阅读(361)
评论(0)
推荐(0)

浙公网安备 33010602011771号