算法
技术人爱思考
积善成德,而神明自得,圣心备焉。
展开
-
分析一下最简单高效的整数互换方式
正好有空,分析一下之前看到过的整数交换的最高效的方式,打算以后一直采用这种方式了。经验证,负数也是没问题的,可以放心使用。原理:异或操作可以得到两个数间的差异信息,两个数各自结合差异信息即可得到对方的值。/** * Created by Json Wan on 2017/10/7. * Description:异或操作可以得到a,b间的差异信息,a,b各自结合差异信息即可得到对方的值原创 2017-10-07 06:18:54 · 395 阅读 · 0 评论 -
图相关算法(一):无向无权图的深度优先遍历(DFS)-递归版本
核心采用邻接表作为图数据的存储结构对访问过的节点进行记录,文中采用HashSet实现根据深度优先规则递归遍历未访问节点本文建立的图结构如下:实现代码如下:package algorithms;import java.util.ArrayList;import java.util.HashSet;import java.util.List;import java.util...原创 2018-10-19 18:05:16 · 2353 阅读 · 0 评论 -
图相关算法(二):无向无权图的广度优先遍历(BFS)-非递归版本
核心采用邻接表作为图数据的存储结构对访问过的节点进行记录,文中采用HashSet实现采用队列存放未访问的子节点,不断更新队列BFS采用队列实现很简单,采用递归反而更复杂了本文建立的图结构如下:实现代码如下:package algorithms;import java.util.*;/** * Created by Json Wan on 2018/10/19. * ...原创 2018-10-19 18:44:47 · 1229 阅读 · 0 评论