![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
—Algorithm
文章平均质量分 83
Wang_Zhenwei
这个作者很懒,什么都没留下…
展开
-
算法1_字符串的循环移位
问题描述: 将一个字符串a像左旋转i个位置。例如,当n=8且i=3时(n为字符串有效长度),向量abcdefgh旋转为defghabc。要求时间复杂度O(n),空间复杂度为O(1)问题求解: 直接将前i个数组复制到一个临时数组,将余下的元素左移,再将临时数组中的i个元素复制到末尾的方法可得正确解,但空间复杂度为O(n)。每次移动一个到末尾,剩余的前移也能得正确解转载 2016-07-18 23:32:40 · 537 阅读 · 0 评论 -
算法19_各种排序算法的分析及java实现
排序一直以来都是让我很头疼的事,以前上《数据结构》打酱油去了,整个学期下来才勉强能写出个冒泡排序。由于下半年要准备工作了,也知道排序算法的重要性(据说是面试必问的知识点),所以又花了点时间重新研究了一下。 排序大的分类可以分为两种:内排序和外排序。在排序过程中,全部记录存放在内存,则称为内排序,如果排序过程中需要使用外存,则称为外排序。下面讲的排序都是属于内排序。 内排序有可以转载 2016-10-13 13:52:00 · 331 阅读 · 0 评论 -
算法16_笔试_数字逻辑推理题2
51. 1 , 2 , 1 , 6 , 9 , 10 , ( )A.13 B.12 C.19 D.17解析:1+2+1=4=2平方2+1+6=3平方1+6+9=4平方6+9+10=5平方9+10+(?)=6平方 答案:1752. 1/2 ,1/6 ,1/12 ,1/30 ,( )A.1/42 B.1/4转载 2016-09-19 21:08:45 · 5358 阅读 · 0 评论 -
算法15_笔试_数字逻辑推理题1
1. 256 ,269 ,286 ,302 ,( ) A.254 B.307 C.294 D.316 解析: 2+5+6=13 256+13=269 2+6+9=17 269+17=2862+8+6=16 286+16=302?=302+3+2=3072. 72 , 36 , 24 , 18 , ( ) A.12转载 2016-09-19 21:06:18 · 4938 阅读 · 0 评论 -
算法18_五大常用算法之二:动态规划算法
一、基本概念 动态规划过程是:每次决策依赖于当前状态,又随即引起状态的转移。一个决策序列就是在变化的状态中产生出来的,所以,这种多阶段最优化决策解决问题的过程就称为动态规划。二、基本思想与策略 基本思想与分治法类似,也是将待求解的问题分解为若干个子问题(阶段),按顺序求解子阶段,前一子问题的解,为后一子问题的求解提供了有用的信息。在求解任一子问题时,列出各种可能转载 2016-10-08 21:04:33 · 367 阅读 · 0 评论 -
算法13_10种海量数据处理方法
1. Bloom Filter【Bloom Filter】Bloom Filter(BF)是一种空间效率很高的随机数据结构,它利用位数组很简洁地表示一个集合,并能判断一个元素是否属于这个集合。它是一个判断元素是否存在集合的快速的概率算法。Bloom Filter有可能会出现错误判断,但不会漏掉判断。也就是Bloom Filter判断元素不再集合,那肯定不在。如果判断元素存在集合中,转载 2016-08-12 13:42:20 · 1576 阅读 · 0 评论 -
算法14_隐马尔可夫模型(HMM)攻略
隐马尔可夫模型 (Hidden Markov Model,HMM) 最初由 L. E. Baum 和其它一些学者发表在一系列的统计学论文中,随后在语言识别,自然语言处理以及生物信息等领域体现了很大的价值。平时,经常能接触到涉及 HMM 的相关文章,一直没有仔细研究过,都是蜻蜓点水,因此,想花一点时间梳理下,加深理解,在此特别感谢 52nlp 对 HMM 的详细介绍。 考虑下面交通灯的转载 2016-09-02 21:14:03 · 667 阅读 · 0 评论 -
算法12_海量数据处理算法—Bloom Filter
1. Bloom-Filter算法简介 Bloom-Filter,即布隆过滤器,1970年由Bloom中提出。它可以用于检索一个元素是否在一个集合中。 Bloom Filter(BF)是一种空间效率很高的随机数据结构,它利用位数组很简洁地表示一个集合,并能判断一个元素是否属于这个集合。它是一个判断元素是否存在集合的快速的概率算法。Bloom Filte转载 2016-08-05 16:54:13 · 382 阅读 · 0 评论 -
算法11_海量数据处理算法—Bit-Map
1. Bit Map算法简介 来自于《编程珠玑》。所谓的Bit-map就是用一个bit位来标记某个元素对应的Value, 而Key即是该元素。由于采用了Bit为单位来存储数据,因此在存储空间方面,可以大大节省。2、 Bit Map的基本思想 我们先来看一个具体的例子,假设我们要对0-7内的5个元素(4,7,2,5,3)排序转载 2016-08-05 10:32:52 · 935 阅读 · 0 评论 -
算法10_B-树和B+树的应用:数据搜索和数据库索引
B-树1 .B-树定义B-树是一种平衡的多路查找树,它在文件系统中很有用。定义:一棵m 阶的B-树,或者为空树,或为满足下列特性的m 叉树:⑴树中每个结点至多有m 棵子树;⑵若根结点不是叶子结点,则至少有两棵子树;⑶除根结点之外的所有非终端结点至少有[m/2] 棵子树;⑷所有的非终端结点中包含以下信息数据: (n,A0,K1转载 2016-08-04 16:31:47 · 772 阅读 · 0 评论 -
算法9_ 二叉树的应用详解
平衡树——特点:所有结点左右子树深度差≤1排序树——特点:所有结点“左小右大字典树——由字符串构成的二叉排序树判定树——特点:分支查找树(例如12个球如何只称3次便分出轻重)带权树——特点:路径带权值(例如长度)最优树——是带权路径长度最短的树,又称 Huffman树,用途之一是通信中的压缩编码。1. 二叉排序树(二叉查找树 Binary Searc转载 2016-08-04 15:09:58 · 709 阅读 · 0 评论 -
算法8_最短路径—Dijkstra算法和Floyd算法
注意:以下代码 只是描述思路,没有测试过!! Dijkstra算法1.定义概览Dijkstra(迪杰斯特拉)算法是典型的单源最短路径算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra算法是很有代表性的最短路径算法,在很多专业课程中都作为基本内容有详细的介绍,如数据结构,图论,运筹学等等。注意该算转载 2016-08-04 10:52:04 · 548 阅读 · 0 评论 -
算法7_图的应用详解
概述最小生成树——无向连通图的所有生成树中有一棵边的权值总和最小的生成树拓扑排序 ——由偏序定义得到拓扑有序的操作便是拓扑排序。建立模型是AOV网关键路径——在AOE-网中有些活动可以并行地进行,所以完成工程的最短时间是从开始点到完成点的最长路径的长度,路径长度最长的路径叫做关键路径(Critical Path)。最短路径——最短路径问题是图研究中的一个经典算法转载 2016-08-01 14:53:40 · 2867 阅读 · 0 评论 -
算法6_二叉树遍历
1. 二叉树遍历1.1 遍历算法:1.先序遍历的递归算法定义: 若二叉树非空,则依次执行如下操作: (1) 访问根结点; (2) 遍历左子树; (3) 遍历右子树。2.中序遍历的递归算法定义: 若二叉树非空,则依次执行如下操作: (1)遍历左子树; (2)访问根结点;转载 2016-08-01 10:25:39 · 537 阅读 · 0 评论 -
算法5_图的遍历
概述图的遍历是指从图中的任一顶点出发,对图中的所有顶点访问一次且只访问一次。图的遍历操作和树的遍历操作功能相似。图的遍历是图的一种基本操作,图的其它算法如求解图的连通性问题,拓扑排序,求关键路径等都是建立在遍历算法的基础之上。由于图结构本身的复杂性,所以图的遍历操作也较复杂,主要表现在以下四个方面:① 在图结构中,没有一个“自然”的首结点,图中任意一个顶点都可作为第一个被访转载 2016-08-01 09:26:16 · 609 阅读 · 0 评论 -
算法2_实现一个栈,除了push和pop操作,还要实现min函数以返回栈中的最小值,时间复杂度都为O(1)(keep it up)
实现一个栈,除了push和pop操作,还要实现min函数以返回栈中的最小值。 push,pop和min函数的时间复杂度都为O(1)。看到这个题目最直接的反应是用一个变量来保存当前栈的最小值,让我们来看看这样可行否?如果栈一直push那是没有问题,入栈元素如果比当前最小值还小,那就更新当前最小值。 可是如果pop掉的栈顶元素就是最小值,那么我们如何更新最小值呢?显然不太好办。转载 2016-07-19 23:51:54 · 711 阅读 · 0 评论 -
算法4_查找算法
几种查找算法:顺序查找,折半查找,分块查找,散列表一、顺序查找的基本思想: 从表的一端开始,向另一端逐个按给定值kx 与关键码进行比较,若找到,查找成功,并给出数据元素在表中的位置;若整个表检测完,仍未找到与kx 相同的关键码,则查找失败,给出失败信息。说白了就是,从头到尾,一个一个地比,找着相同的就成功,找不到就失败。很明显的缺点就是查找效率低。【适用转载 2016-07-30 09:29:43 · 649 阅读 · 0 评论 -
算法3_八大排序算法
概述排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。我们这里说说八大排序就是内部排序。 当n较大,则应采用时间复杂度为O(nlog2n)的排序方法:快速排序、堆排序或归并排序序。 快速排序:是目前基于比较的内部排序中被认为是最好的方法,转载 2016-07-28 21:40:44 · 357 阅读 · 0 评论 -
算法17_ 十道海量数据处理面试题
海量数据处理:十道面试题与十个海量数据处理方法总结作者:July、youwang、yanxionglu。时间:二零一一年三月二十六日本文之总结:教你如何迅速秒杀掉:99%的海量数据处理面试题。有任何问题,欢迎随时交流、指正。出处:http://blog.csdn.net/v_JULY_v。 第一部分、十道海量数据处理面试题1、海量日志数据转载 2016-09-28 14:35:23 · 457 阅读 · 0 评论