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