算法
Zcc?
只要坚持下去,岁月会给你想要的
展开
-
随机打乱一个数组,无重复的获取一定范围内的随机数
package Num1_2_02;import java.util.Random;/** * 随机打乱一个数组,无重复获取随机数 * * @author he * */public class Suffle { private static Random random = new Random(System.currentTimeMillis());原创 2016-05-11 10:13:40 · 895 阅读 · 0 评论 -
从一个队列中取出一个元素再放回去同时保持原来的顺序,不申请非必需的空间存储队列中的元素
今天在写归并两个有序队列的时候突然想到一件很有意思的事,就是在不申请非必需内存的情况怎么从一个队列中取出一个元素使用,使用完之后放回原来的队列同时保持队列原来的顺序,按我原来的思路就是申请额外的数组或者队列存原先队列中的元素,再按原先的顺序放回去保证原队列的顺序,其实完全不需要这样做归并两个队列的代码:https://github.com/xiaoyuzdy/Algorithms/blob/m原创 2016-05-05 12:17:48 · 2526 阅读 · 0 评论 -
Java 单链表的反转 以及 双向链表的实现
Java 单链表的反转 双向链表的实现原创 2016-03-27 09:34:36 · 2443 阅读 · 0 评论 -
Java 打印菱形及优化
之前看到的一道某公司的面试题,早就想写了太懒了一直没动,一个多月没写博客了,今天正好就这个问题写一篇打印的效果图: 网上有很多关于如何打印菱形的,但是基本上都是这个思路:将菱形分为上下两部分,分别打印,代码如下:package E01;/** * 打印菱形 * * 打印空心菱形 即把*换成“ ” 然后一个for()循环结束后打印* 如图中的 - 打印的位置原创 2016-06-10 19:39:37 · 572 阅读 · 0 评论 -
利用二分查找在添加元素是排序
二分查找的用处就我目前了解的有三种: 1、在已排序的数组中查找元素 2、利用二分查找的思想在添加元素时排序原创 2016-06-21 17:26:17 · 439 阅读 · 0 评论 -
加权无向图的最小生成树的Vyssotsky算法
Vyssotsky算法的基本思想:每次将一条边添加到假设的最小生成树中,如果形成环则删除环中权重最大的边,与Prim算法和Kruskal算法比耗时,加入一条边时要判断是否形成环,形成环了要做出相应的处理下面的代码是我根据这个算法的基本思想自己写的,实现了要求,仅供参考首先几个需要用到的类:Edge:加权边的数据结构https://github.com/xiaoyuzdy/Alg原创 2016-08-15 20:39:33 · 1368 阅读 · 0 评论 -
有向无环图中的LCA(最近共同祖先),依据广度优先搜索和图G的反向图
今天写题目的时候遇到的,感觉自己的想法还有点意思就写博客了,如果有错误,欢迎指正算法用到的数据结构:有向图的数据结构:https://github.com/xiaoyuzdy/Algorithms/blob/master/Algorithms/src/Number_4/Digraph.java队列:https://github.com/xiaoyuzdy/Algorithms/blob原创 2016-08-09 21:19:34 · 2218 阅读 · 0 评论 -
在一个包含40亿个随机排列的32位整数的顺序文件中(注意随机排序),找出一个不再文件中的32位整数
完整的题目:在一个包含40亿个随机排列的32位整数的顺序文件中(注意随机排序),找出一个不再文件中的32位整数(即int类型的整数),文件中至少缺少一个这样的数 要求:使用最少的内存,可使用外部的临时文件思路:将每个数转换为2进制数,然后进行0/1探测,将为0的位保存在一块内存中,将为1的位保存在另一块内存中, 一个文件中至多只有20亿个,因为40亿小于2的32次方,所原创 2017-03-24 10:25:23 · 1775 阅读 · 0 评论