![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 79
罗虾米
做专才能做强
展开
-
基础算法系列总结:贪心算法
基础算法系列总结:贪心算法 前几天参加了一下ACM比赛,呵呵,权当陪太子读书了,成绩有一点点不好,不过都已经过去了。比赛可以没有,博文不能不继续,呵呵,今天我总结我最近练习的贪心算法。我写文章的顺序是先写的 动态规划 , 回溯算法 ,分支限界算法 然后再准备写写贪心算法以及基本的递归和分治算法,计算机最常用的算法就这么几种了,如果真正对算法感兴趣的话可以多研究研究算法转载 2014-03-29 00:28:22 · 445 阅读 · 0 评论 -
缓存淘汰算法系列之1——LRU类
缓存淘汰算法系列之1——LRU类1. LRU1.1. 原理LRU(Least recently used,最近最少使用)算法根据数据的历史访问记录来进行淘汰数据,其核心思想是“如果数据最近被访问过,那么将来被访问的几率也更高”。1.2. 实现最常见的实现是使用一个链表保存缓存数据,详细算法实现如下:1. 新数据插入到链表头部;2. 每当缓转载 2014-03-25 08:15:36 · 384 阅读 · 0 评论 -
缓存淘汰算法系列之2——LFU类
缓存淘汰算法系列之2——LFU类分类: 软件设计2012-06-09 17:46 2799人阅读 评论(1) 收藏 举报缓存淘汰算法LFU目录(?)[+]1. LFU类1.1. LFU1.1.1. 原理LFU(Least Frequently Used)算法根据数据的历史访问频率来淘汰数据,其核心思想是“如果数据过去被转载 2014-03-25 08:21:33 · 445 阅读 · 0 评论 -
缓存淘汰算法系列之3——FIFO类
缓存淘汰算法系列之3——FIFO类1 FIFO1.1. 原理按照“先进先出(First In,First Out)”的原理淘汰数据。1.2. 实现FIFO队列,具体实现如下:1. 新访问的数据插入FIFO队列尾部,数据在FIFO队列中顺序移动;2. 淘汰FIFO队列头部的数据;1.3. 分析l 命中率转载 2014-03-25 08:22:32 · 364 阅读 · 0 评论 -
数据结构之二叉树
数据结构之二叉树 第一篇:数据结构之链表 第二篇:数据结构之栈和队列 在这篇文章里面,我们主要探讨和树相关的话题。 首先,我们来对树进行定义:树是n(n>= 0)个节点的有限集。在任何一个非空树中:(1)有且仅有一个特定的称为“根”的节点;(2)当n>1时,其余节点可分为m(m>0)个互相相关的有限集T1、T2、T3……,其中每一个集合本身又是一棵树,转载 2014-03-31 17:12:55 · 296 阅读 · 0 评论 -
数据结构之字符串
数据结构之字符串 第一篇:数据结构之链表 第二篇:数据结构之栈和队列 第三篇:数据结构之二叉树 第四篇:数据结构之排序 在这篇文章里,我们关注和字符串相关的话题。 在谈论到字符串时,通常情况下,我们是在讨论ASCII码范围内的字符串,即它包括256个字符。在设计字符串相关的算法时,我们需要在时间和空间这两者之间进行权衡。 下面我们来看转载 2014-03-31 17:11:05 · 306 阅读 · 0 评论 -
数据结构之栈和队列
数据结构之栈和队列 第一篇:数据结构之链表 这次,我们主要看栈和队列的相关题目。 栈是“后进先出”的数据结构,队列是“先进先出”的数据结构,我们假设栈和队列中存储的都是整型数值,先来定义这两种数据结构(都采用数组的形式来存储信息,当达到数组边界时,对数组进行扩容处理)。 栈主要包括Push、Pop和Peek和Count三个方法,如下:栈的定义转载 2014-03-31 17:12:17 · 400 阅读 · 0 评论 -
数据结构之排序
数据结构之排序 第一篇:数据结构之链表 第二篇:数据结构之栈和队列 第三篇:数据结构之二叉树 这篇文章主要讨论常见的排序算法。 排序算法分为内部排序和外部排序两种,内部排序是指只利用内存来完成的排序,外部排序是指借助外部存储设备完成的排序。外部排序主要针对记录比较多、内存无法一次全部加载的情况。我们这里主要关注内部排序。 内部排序大致分为四转载 2014-03-31 17:13:30 · 322 阅读 · 0 评论 -
数据结构之链表
数据结构之链表在面试过程中,数据结构和算法基本上算是研发类岗位必考的部分,而链表基本上又是数据结构中相对容易掌握、而且容易出题的部分,因此我们先整理一下链表部分的经典题目。(声明:以下所有程序都是用java编写)首先,我们来定义一个链表的数据结构,如下:View Code有了这个数据结构后,我们需要一个方法来生成和输出链表,其中链表中每个元素的值采用的是转载 2014-03-31 17:11:44 · 319 阅读 · 0 评论 -
基础算法系列总结:动态规划(解公司外包成本问题)
基础算法系列总结:动态规划(解公司外包成本问题)理论辅助: 动态规划算法通常用于求解具有某种最优性质的问题。在这类问题中,可能会有许多可行解。每一个解都对应于一个值,我们希望找到具有最优值的解。动态规划算法与分治法类似,其基本思想也是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。与分治法不同的是,适合于用动态规划求解的转载 2014-03-29 00:29:02 · 580 阅读 · 0 评论 -
排序算法之总结
排序算法之总结2011-12-05 16:05 377人阅读 评论(0) 收藏 举报算法n2存储shell【版权声明:转载请保留出处:blog.csdn.net/algorithm_only。邮箱:liuy0711@foxmail.com】前面几节讲了几种排序算法(包括算法思想、算法实现、算法分析),本节将要对这几种算法进行一个综合比较分析,大致有如下结果:转载 2014-03-30 11:07:12 · 306 阅读 · 0 评论 -
基础算法系列总结:回溯算法(解火力网问题)
基础算法系列总结:回溯算法(解火力网问题)理论辅助:回溯算法也叫试探法,它是一种系统地搜索问题的解的方法。回溯算法的基本思想是:从一条路往前走,能进则进,不能进则退回来,换一条路再试。用回溯算法解决问题的一般步骤为:1、定义一个解空间,它包含问题的解。2、利用适于搜索的方法组织解空间。3、利用深度优先法搜索解空间。4、利用限界函数避免移动到不可能产生转载 2014-03-29 00:30:10 · 533 阅读 · 0 评论 -
基础算法系列总结:分支限界算法
基础算法系列总结:分支限界算法今天,我一反常态,其他的算法系列文章都是先介绍算法的理论,然后再讲到具体的问题,后来有人给我反应,对于那些随便看看的人,看到那些我贴了别的地方的理论文字就特别的反感,然后就不想继续往下面看了,对于分支限界算法,我采用问题先行的总结方法。首先我们来关注一个问题:问题描述:布线问题:印刷电路板将布线区域划分成n×m个方格阵列,要求确定连接方格阵转载 2014-03-29 00:30:55 · 539 阅读 · 0 评论 -
算法系列总结:分而治之——分治算法
算法系列总结:分而治之——分治算法 分治算法的基本思想是将一个规模为N的问题分解为K个规模较小的子问题,这些子问题相互独立且与原问题性质相同。求出子问题的解,就可得到原问题的解。分治法解题的一般步骤:(1)分解,将要解决的问题划分成若干规模较小的同类问题;(2)求解,当子问题划分得足够小时,用较简单的方法解决;(3)合并,按原问题的要求,将子问题的解逐转载 2014-03-29 00:27:33 · 540 阅读 · 0 评论 -
白话经典算法系列之七 堆与堆排序
白话经典算法系列之七 堆与堆排序分类: 白话经典算法系列2011-08-22 20:04 66005人阅读 评论(100) 收藏 举报堆堆排序数据结构白话经典算法算法目录(?)[+] 堆排序与快速排序,归并排序一样都是时间复杂度为O(N*logN)的几种常见排序方法。学习堆排序前,先讲解下什么是数据结构中的二叉堆。二叉堆的定义二叉转载 2014-03-30 10:49:25 · 383 阅读 · 0 评论 -
哈希算法快速查表的原理
哈希算法快速查表的原理 2011-11-15 20:00:09分类:原文地址:哈希算法快速查表的原理 作者:Randy_Xu哈希算法快速查表的原理HashMap、Map等是很多公司面试、笔试的时候常考的题目,也是实际开发中经常用到的数据结构,必须好好掌握。因此我从《J2EE开发全程实录》中摘取了下面的片段,希望对同学们有帮助。学习时请对照着《数据转载 2014-03-26 02:20:58 · 474 阅读 · 0 评论