
数据结构
cy1046090768
这个作者很懒,什么都没留下…
展开
-
图的遍历
DFS深度优先遍历:1 .将顶点元素取出,标记该节点已经被访问过,放入栈中2 .从栈中将顶点元素peek出来,查找他的没有被访问过的邻居节点,如果不存在,则将该顶点从栈中pop出来,如果存在邻居节点则将其标记为访问过,输出,入栈3 .循环步骤2直至 栈为空BFS广度优先遍历:1.取出根节点,放入队列中,标记该节点已被访问过true2.将队列中的根节点poll出来,访问他的所有相邻的节点,将他们的访问原创 2016-03-18 08:22:40 · 334 阅读 · 0 评论 -
如何找出数组中唯一的重复元素
最容易实现的方法是对数组进行遍历,相信这个大家都会,若果采用递归方法怎么解决呢,主要思路:“数组元素的第一个值”与“数组中其他元素组成的字数组的最大值”的最大值代码实现public class MaxNumber { public static int findMax(int[] A, int begin){ int len = A.length - begin;原创 2016-02-27 11:01:47 · 1698 阅读 · 0 评论 -
格雷码
格雷码(Gray Code)是一个数列集合,每个数使用二进位来表示,假设使用n位元来表示每个数字,任两个数之间只有一个位元值不同。例如以下为3位元的格雷码: 000 001 011 010 110 111 101 100 。如果要产生n位元的格雷码,那么格雷码的个数为2^n.1位元的格雷码: 0 , 12位元的格雷码 ,在1位元的格雷码的基础上添加0和1: 00 ,01, 11 ,103位元的格原创 2016-03-24 20:32:36 · 664 阅读 · 0 评论