- 博客(6)
- 收藏
- 关注
转载 从M个数中随机等可能的取出N个的问题
从0到m-1这m个数中随机取出n个(n 第一个方法是把这m个数丢到一个List里面 然后用nextInt(list.size())来产生随机数 然后把list里面对应的元素丢到另一个数组或者list里面 这个方法本来是不错的 但要注意的是 为了保证每个元素取到的概率相等 需要每取出一个元素 就把它从list里面删除 原因就不解释了 简单的概率问题 但众所周
2014-10-17 13:47:46 842
转载 寻找和为定值的两个数/多个数
一、寻找和为定值的两个数1、若无序,先排序后二分,时间复杂度总为O(n*logn),空间复杂度为O(1)2、扫描一遍X-S[i] 映射到一个数组或构造hash表,时间复杂度为O(n),空间复杂度为O(n)3、两个指针两端扫描(若无序,先排序后扫描),时间复杂度最后为:有序 O(n),无序O(n*logn+n)=O(n*logn),空间复杂度都为O(1)。
2014-10-15 18:26:06 1149
转载 旋转字符串
题目描述:定义字符串的左旋转操作:把字符串前面的若干个字符移动到字符串的尾部,如把字符串abcdef左旋转2位得到字符串cdefab。请实现字符串左旋转的函数,要求对长度为n的字符串操作的时间复杂度为O(n),空间复杂度为O(1)。 一、指针翻转法
2014-10-10 11:13:06 501
转载 外排序之多路归并&&位图法
外部排序技术之多路归并1.外部排序概述外部排序指的是大文件的排序,即待排序的记录存储在外存储器上,待排序的文件无法一次装入内存,需要在内存和外部存储器之间进行多次数据交换,以达到排序整个文件的目的。外部排序最常用的算法是多路归并排序,即将原文件分解成多个能够一次性装人内存的部分,分别把每一部分调入内存完成排序。然后,对已经排序的子文件进行归并排序。2. 多路归并的实现
2014-10-10 09:23:42 1432
转载 海量数据处理之--哈希分治
方法介绍对于海量数据而言,由于无法一次性装进内存处理,不得不把海量的数据通过hash 映射的方法分割成相应的小块数据,然后再针对各个小块数据通过hash_map 进行统计或其他操作。那什么是hash 映射呢?简单来说,就是为了便于计算机在有限的内存中处理大数据,我们通过一种映射散列的方式让数据均匀分布在对应的内存位置(如大数据通过取余的方式映射成小数据存放在内存中,或大文件映射
2014-10-09 22:18:03 2694
转载 trie树(字典树)&& 后缀树
rie树,即字典树,又称单词查找树或键树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计和排序大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:最大限度地减少无谓的字符串比较,查询效率比哈希表高。 Trie的核心思想是空间换时间。利用字符串的公共前缀来降低查询时间的开销以达到提高效率的目的。
2014-10-09 15:59:29 796
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人