DateStruct
菜鸟的编程之路
菜鸟的编程之路
展开
-
【原创】Java与数据结构(中篇:树)
1. 二叉树 遍历算法package tree;import java.util.ArrayDeque;import java.util.Queue;/** * 二叉树的四种遍历方式 * 先序,中序,后序,广度优先遍历 * * @author yinger */public class IteratorAlgorithm {转载 2013-07-30 12:42:54 · 515 阅读 · 0 评论 -
[转]树状数组
来源:http://www.cnblogs.com/yykkciwei/archive/2009/05/08/1452889.html今天来讨论一下树状数组.问题提出:已知数组a[],元素个数为n,现在更改a中的元素,要求得新的a数组中i到j区间内的和(1思考:对于这个问题,我们可以暴力地来解决,从a[i]一直累加到a[j],最坏的情况下复杂度为O(n),对于m次change&qu转载 2013-08-12 20:11:45 · 471 阅读 · 0 评论 -
快速幂取模
快速幂取模就是在O(logn)内求出a^n mod b的值。算法的原理是ab mod c=(a mod c)(b mod c)mod c 因此很容易设计出一个基于二分的递归算法。以下是我的代码,以下代码必须保证输入的是合法的表达式,比如不能出现0^0 mod b:long exp_mod(long a,long n,long b){ long t;转载 2013-08-12 20:12:05 · 570 阅读 · 0 评论 -
进制转换的方法
int n1 = 14; //十进制转成十六进制: Integer.toHexString(n1); //十进制转成八进制 Integer.toOctalString(n1); //十进制转成二进制 Integer.toBinaryString(12); //十六进制转成十进制 Integer.valueO原创 2013-08-12 17:32:38 · 730 阅读 · 0 评论 -
Java容器类
Java容器类 Java的API中提供了很多丰富的接口,对我们开发者来说,非常重要的三大点分别为:java.util里的容器类,或者叫集合类java.util.concurrent中的并发框架java.io和java.nio中的IO工具类在本人的小站上,对Java的容器类和集合类进行了一些分析和整理,包括用法要点和源码分析。下面列表中的文章主要是不考虑并转载 2013-08-09 16:49:47 · 443 阅读 · 0 评论 -
堆的学习总结
参考书籍《Java数据结构与算法》 第12章 堆1.堆的引入优先级队列 和 堆 2.堆的特点①堆是完全二叉树②堆一般用数组来保存③堆中的每个节点都满足一定的条件,也就是当前节点的关键值必须大于等于(或者小于等于)它的子节点的关键值 3.堆的操作(以最大堆为例)(1)移除最大的节点 从堆中删除节点的过程:删除的一定是堆的根节点,删除之后将转载 2013-07-30 12:51:55 · 601 阅读 · 0 评论 -
图论复习
http://wenku.baidu.com/view/56a4984cfe4733687e21aaba.html原创 2013-08-07 15:03:47 · 521 阅读 · 0 评论 -
并查集
并查集 (Disjoint Set)导引问题在某个城市里住着n个人,现在给定关于 n个人的m条信息( 1和2认识,5和6认识等 ),假设所有认识的人一定属于同一个单位,请计算该城市最多有多少单位?如何实现?什么是并查集?英文:Disjoint Set,即“不相交集合”将编号分别为1…N的N个对象划分为不相交集合,在每个集合中,选择其中某个元素原创 2013-08-05 10:36:52 · 828 阅读 · 0 评论 -
2694:逆波兰表达式
总时间限制:1000ms 内存限制: 65536kB 描述 逆波兰表达式是一种把运算符前置的算术表达式,例如普通的表达式2 + 3的逆波兰表示法为+ 2 3。逆波兰表达式的优点是运算符之间不必有优先级关系,也不必用括号改变运算次序,例如(2 + 3) * 4的逆波兰表示法为* + 2 3 4。本题求解逆波兰表达式的值,其中运算符包括+ - * /四个。输入 输入为一行,其中运算原创 2013-08-01 10:44:17 · 702 阅读 · 0 评论 -
括号配对问题nyist 4h
括号配对问题时间限制:3000 ms | 内存限制:65535 KB难度:3描述现在,有一行括号序列,请你检查这行括号是否配对。输入第一行输入一个数N(0输出每组输入数据的输出占一行,如果该字符串中所含的括号是配对的,则输出Yes,如果不配对则输出No样例输入3[(])(])([[]()])样例输出No原创 2013-08-01 01:15:50 · 606 阅读 · 0 评论 -
KMP算法学习
(1) 参考网址:KMP算法: http://www.cnblogs.com/dolphin0520/archive/2011/08/24/2151846.html --- 用递推思想和直接法两种方式求解next数组KMP学习心得: http://www.java3z.com/cwbwebhome/article/article19/res023.h转载 2013-07-30 12:50:13 · 560 阅读 · 0 评论 -
【原创】Java与数据结构(下篇:图)
1. 有向图的BFS和DFSpackage graph;import java.util.ArrayDeque;import java.util.ArrayList;import java.util.List;/** * 有向图的表示和遍历 * 邻接矩阵和邻接表表示法和BFS/DFS * * @author yinger */publ转载 2013-07-30 12:48:38 · 549 阅读 · 0 评论 -
Java与数据结构(上篇:排序算法)
花了两天的时间坐在图书馆里,终于写完了所有主要的数据结构,包括其中的算法部分,呵呵,保研和面试的第一关估计没问题了,下面就是看OS和Network了心得:纸上得来终觉浅,绝知此事要躬行!当自己回想着算法的整个过程,然后一行一行的敲下来,发现算法太精辟了,看似简单,写起来可真不是那么回事,而且,写多了,熟悉了,思路就快了,写起来就得心应手了!可能你会觉得算法和数据结构对现在的程序员来说已转载 2013-07-30 11:28:17 · 540 阅读 · 0 评论 -
pku 1077 Eight BFS
EightTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 21718 Accepted: 9611 Special Judgehttp://poj.org/problem?id=1077DescriptionThe 15-puzzle has原创 2013-08-15 11:50:11 · 625 阅读 · 0 评论