
算法/数据结构
文章平均质量分 76
yuanhaitaozz
啊啊啊啊啊啊啊啊
展开
-
如何使用 c++ stl 中的 map 以及红黑树 (一)
Two SumGiven an array of integers, find two numbers such thatthey add up to a specific target number.The function twoSum should return indices of the twonumbers such that they add up原创 2015-01-28 20:19:54 · 8065 阅读 · 2 评论 -
树状数组---数据结构
本文章标记为[转], 是因为我这里大部分都是从别的博客取来的, 然后进行了整合. 博客地址已经注明.在POJ上面遇到一道题, 说难并不难, 但其中用到的数据结构却能拓展到某一种问题的求解上, 于是对此作下记录.题目地址: http://poj.org/problem?id=2352本文主要借鉴: 关于树状数组实现部分 :http://www.cnblogs.c转载 2015-08-04 17:06:09 · 442 阅读 · 0 评论 -
Substring with Concatenation of All Words字符串中找到包含所有单词的子串
Substring with Concatenation of All WordsYou are given a string, s, and a list of words,words, that are all of the same length. Find all starting indices of substring(s) ins that is a concaten原创 2015-10-04 11:40:29 · 541 阅读 · 0 评论 -
Median of Two Sorted Arrays 求出两个已排序数组的中位数
题目为:There are two sorted arrays nums1 and nums2 of size m and n respectively. Find the median of the two sorted arrays. The overall run time complexity should be O(log (m+n)).大意就是求出两个已排序数组的中位数. 如原创 2015-09-01 11:30:48 · 507 阅读 · 0 评论 -
Bloom Filter 简介. 海量数据查找
本文转载自:http://www.cnblogs.com/heaad/archive/2011/01/02/1924195.htmlBloom Filter是由Bloom在1970年提出的一种多哈希函数映射的快速查找算法。通常应用在一些需要快速判断某个元素是否属于集合,但是并不严格要求100%正确的场合。 一. 实例 为了说明Bloom Filter存在的重要意义,举一转载 2015-09-01 21:24:42 · 522 阅读 · 0 评论 -
关于二分查找, 关注细节
今天在看面试题时, 遇到二分查找, 虽然思路很快就有了, 但一些细节却着实让我手忙脚乱了一会儿. 有幸看到下面这篇文章, 感谢博主.转自: http://blog.youkuaiyun.com/int64ago/article/details/7425727 看到这个标题无论你是处于怎样的心理进来看了,我觉得都是值得的。因为这个问题太简单,任何一个开始接触“真正”转载 2015-08-03 12:09:54 · 366 阅读 · 0 评论 -
部分KMP算法
/*#include #include //求字串定位 // 普通算法 时间复杂度为 O(m+n) 有事可达到O(m*n)int Index(char *S,char *T,int pos){ int sl = strlen(S),tl = strlen(T); //记录字符串长度 int i,j; i = pos; j=0; while(i<sl && j<tl)原创 2015-04-06 17:07:15 · 433 阅读 · 0 评论 -
简单的用栈实现后缀表达式
不想过多解释了,其实就是将普通的表达式画成树的形式,进行后序遍历,后缀表达式就出来了多写几个找规律就行了直接给出代码#include //后缀表达式的实现(栈的应用)#include "stack.h"int main(){ s X; init(&X); char s[30],*tp,tc; scanf("%s",s); tp = s; //原创 2015-04-06 15:42:45 · 1738 阅读 · 0 评论 -
栈和队列之间的互相实现
第一部分、两个队列实现一个栈本来想画图,可实在没这时间,且理解起来相对容易主要思想是,先将 所有数先导入一个队列A中去,另一个队列B此刻为空。将队列A中除了最后一个数其他都导入B中,然后将A中仅剩的一个数输出,这样循环下去,就造成了栈的假象。实现如下://队列实现#ifndef QUEUE_H#define QUEUE_H#include #include #inclu原创 2015-04-06 15:24:03 · 686 阅读 · 0 评论 -
字符串左转
题目为: 定义字符串的左旋转操作:把字符串前面的若干个字符移动到字符串的尾部,如把字符串abcdef左旋转2位得到字符串cdefab。请实现字符串左旋转的函数,要求对长度为n的字符串操作的时间复杂度为O(n),空间复杂度为O(1)。 首先想到的自然是暴力解决,不过肯定有更好的办法,如下://代码如下:#incl原创 2015-04-06 14:05:33 · 713 阅读 · 0 评论 -
算法复习 -------------------- 0、零零零零零
本来也写了好些字,但最后想想无非是为以后坚持不下去找借口。 索性随便写两句,坚持不坚持的下去完全没有必要苛责,这都是自己的选择,做了就要承担责任,就别说后悔。 自己的苦始终自己吃。无论是因为过去还是将来。原创 2015-01-22 20:11:35 · 537 阅读 · 0 评论 -
位图数据结构的实现与应用
位图在索引, 数据压缩等方面有广泛应用这里先给出两个海量数据的问题. 1. 文件包含1千万条电话号码记录(10**7次方),每条记录都是7位整数,没有重复的整数。要求对文件进行排序,注意大约只有1MB的内存空间可用,有充足的磁盘存储空间可用。请设计一个高效的算法。 2. 给40亿个不重复的unsigned int的整数,没排过序的,然后再给一个数,如何快速判断这个数原创 2015-08-04 11:29:44 · 1028 阅读 · 2 评论