上一页 1 ··· 11 12 13 14 15 16 17 18 19 ··· 32 下一页
摘要: 本文介绍使用java.util.*包中的HashMap 和 LinkedList 以及 ArrayList类快速实现一个有向图,并实现有向图的深度优先遍历算法。 如何构造图? 本文根据字符串数组来构造一个图。图的顶点标识用字符串来表示,如果某个字符串A的第一个字符与另一个字符串B的最后一个字符相同, 阅读全文
posted @ 2016-08-27 20:35 大熊猫同学 阅读(14813) 评论(0) 推荐(1) 编辑
摘要: 一,问题描述 给定一棵二叉搜索树,在二叉搜索树的基础上,将之转换成有序的双向链表。即,不需要额外的辅助空间。 二,问题分析 对于二叉搜索树而言,它的结点有左孩子和右孩子指针。这类似于双向链表中的 前向指针(指向前驱结点) 和 后向指针(指向下一个结点)。另外,二叉搜索树中序遍历是有序的。在中序遍历二 阅读全文
posted @ 2016-08-25 10:19 大熊猫同学 阅读(2026) 评论(0) 推荐(0) 编辑
摘要: 一,安装 Eclipse Memory Analyzer 在Memory Analyzer的官网找到 update site的地址: 然后:在Eclipse界面 >Help >Install New Software >Add >Add Reposity ,并在 location 中输入:Updat 阅读全文
posted @ 2016-08-23 19:14 大熊猫同学 阅读(601) 评论(0) 推荐(0) 编辑
摘要: Socket通信,主要是基于TCP协议的通信。本文从Socket通信(代码实现)、多线程并发、以及TCP协议相关原理方面 介绍 阻塞Socket通信一些知识。 本文从服务器端的视角,以“Echo Server”程序为示例,描述服务器如何处理客户端的连接请求。Echo Server的功能就是把客户端发 阅读全文
posted @ 2016-08-21 15:02 大熊猫同学 阅读(10632) 评论(2) 推荐(2) 编辑
摘要: 一,问题描述 实现一个栈(元素遵守先入后出顺序),能够通过 min 方法在 O(1)时间内获取栈中的最小元素。同时,栈的基本操作:入栈(Push)、出栈(Pop),也是在O(1)时间内完成的。 二,问题分析 之所以认为这个问题有趣,是因为在实现 min 方法的过程 牵涉到了 “缓存一致性”问题。是不 阅读全文
posted @ 2016-08-18 21:17 大熊猫同学 阅读(4724) 评论(0) 推荐(0) 编辑
摘要: 一,问题描述 给定一个以字符串形式表示的入栈序列,请求出一共有多少种可能的出栈顺序?如何输出所有可能的出栈序列? 比如入栈序列为:1 2 3 ,则出栈序列一共有五种,分别如下:1 2 3、1 3 2、2 1 3、2 3 1、3 2 1 二,问题分析 先介绍几个规律: ①对于出栈序列中的每一个数字,在 阅读全文
posted @ 2016-08-18 11:47 大熊猫同学 阅读(11273) 评论(0) 推荐(0) 编辑
摘要: 一,问题描述 请构造一棵二叉查找树,并给定两个结点,请找出这两个结点的最低公共祖先结点。 这里假设二叉查找树中的结点的权值存储是整型数字(见代码中的BinaryNode内部类),最低公共祖先结点如下:结点5 和 结点12 的最低公共祖先结点是结点10 二,实现思路 假设给定的两个结点的权值分别为 n 阅读全文
posted @ 2016-08-14 17:35 大熊猫同学 阅读(2675) 评论(0) 推荐(0) 编辑
摘要: 现在 有10亿个int型的数字(JAVA中 int 型占4B),以及一台可用内存为1GB的机器,如何找出这10亿个数字的中位数? 中位数定义:数字排序之后,位于中间的那个数。比如将10亿个数字进行排序(位置从1到10亿),排序之后,位于第5亿个位置的那个数 就是中位数。 关于中位数,可参考:快速排序 阅读全文
posted @ 2016-08-13 22:34 大熊猫同学 阅读(19498) 评论(0) 推荐(5) 编辑
摘要: 一,问题描述 给定一个单链表,单链表中有环,请找出这个环的入口结点。比如,如下单链表: 入口结点是,结点4. 二,实现思路 如果仅仅是寻找入口结点,可以更改结点元素的值的话,只需要扫描一遍就可以找到入口结点了。 比如,假设所有的结点值都是正数,从头开始,那么在扫描过程中,将扫描的结点的值与 0 比较 阅读全文
posted @ 2016-08-13 20:27 大熊猫同学 阅读(1242) 评论(0) 推荐(0) 编辑
摘要: 一,问题描述 给定一个字符串,求出该字符串的全排列。 比如:"abc"的全排列是:abc、acb、bac、bca、cab、cba 二,实现思路 采用递归的方式求解。每次先选定一个字符,然后进行“若干次”交换,求出在选定这个字符的条件下,所有的全排列,并把字符“复位”再交换回来。至此,一趟全排列完成。 阅读全文
posted @ 2016-08-10 19:07 大熊猫同学 阅读(18215) 评论(0) 推荐(0) 编辑
上一页 1 ··· 11 12 13 14 15 16 17 18 19 ··· 32 下一页