
Algorithm
rocksword
这个作者很懒,什么都没留下…
展开
-
动态规划:从新手到专家
March 26, 2013作者:Hawstein出处:http://hawstein.com/posts/dp-novice-to-advanced.html声明:本文采用以下协议进行授权: 自由转载-非商用-非衍生-保持署名|Creative Commons BY-NC-ND 3.0 ,转载请注明作者及出处。前言本文翻译自TopCoder上的一篇文章:转载 2015-03-21 13:58:48 · 218 阅读 · 0 评论 -
一个链表问题:复制带随机指针的链表
一个链表问题:复制带随机指针的链表 题目:有一个链表L,其每个节点有2个指针,一个指针next指向链表的下个节点,另一个random随机指向链表中的任一个节点,可能是自己或者为空,写一个程序,要求复制这个链表的结构并分析其复杂性 解决方法一:O(n)的复杂度,扫面两边即可。转载 2015-03-21 17:46:02 · 224 阅读 · 0 评论 -
最短路径之Dijkstra算法详细讲解
最短路径之Dijkstra算法详细讲解 2009-01-12 23:08:48| 分类: 3S|举报|字号 订阅 1 最短路径算法在日常生活中,我们如果需要常常往返A地区和B地区之间,我们最希望知道的可能是从A地区到B地区间的众多路径中,那一条路径的路途最短。最短路径问题是图论研究中的一个经典算法问题, 旨在寻找图(由结点和路径组成的)中两结点之间的最短路径。 算转载 2015-03-21 19:16:22 · 270 阅读 · 0 评论 -
最大堆的插入/删除/调整/排序操作
堆有最大堆和最小堆之分,最大堆就是每个节点的值都>=其左右孩子(如果有的话)值的完全二叉树。最小堆便是每个节点的值都 设有n个元素的序列{k1,k2,...,kn},当且仅当满足下列关系时,称之为堆。 堆的三种基本操作(以下以最大堆为例): ⑴最大堆的插入 由于需要维持完全二叉树的形态,需要先将要插入的结点x放在最底层的最右边,插入后满 足完全二叉树转载 2015-05-04 18:26:40 · 226 阅读 · 0 评论 -
动态规划的逆向思维法
动态规划是一种思维方法,没有统一的、具体的模式。动态规划可以从多方面去考察,不同的方面对动态规划有不同的表述。我们不打算强加一种统一的表述,而是从多个角度对动态规划的思维方法进行讨论,希望大家在思维具体问题时,也能够从多个角度展开,这样收获会更大。 逆向思维法是指从问题目标状态出发倒推回初始状态或边界状态的思维方法。如果原问题可以分解成几个本质相同、规模较小的问题,很自然就会联想到从逆向转载 2015-05-05 18:36:16 · 1294 阅读 · 0 评论 -
Quicksort
QuicksortQuicksort is a fast sorting algorithm, which is used not only for educational purposes, but widely applied in practice. On the average, it has O(n log n) complexity, making quicksort suitab转载 2015-01-26 17:44:53 · 271 阅读 · 0 评论 -
JAVA算法面试
【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1.程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21…. public class exp2{ public static void main(String args[]){ int i=0; f转载 2015-03-19 00:07:40 · 204 阅读 · 0 评论 -
Quicksort in Java
Quicksort in Java - TutorialLars VogelVersion 0.6Copyright © 2009 -2010 vogella GmbH06.08.2010Quicksort with JavaThis article describes how to i转载 2015-01-26 17:44:35 · 285 阅读 · 0 评论