C++算法
文章平均质量分 75
walxiaosage
我的初级博客:http://blog.sina.com.cn/u/1745044065
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
大数问题
1、假设在32位机器上,请在2亿个随机的、未经排序的32位整型数字中找出中间值 2亿个32位整型数字共占用空间大小:2*10^8*4(个字节)= 2*10^8*4/(1024*1024), 32位机器可表示的最大的值为2^32 1)如果是查找大小为中间值的数: 定义一个bit数组,大小为2^32,读入数字的时候讲该bit位置1,并且统计1的个数n,然后再取出n/21的下标,就是原创 2015-09-06 21:54:48 · 3876 阅读 · 0 评论 -
随机数生成器
题目一:已知rand7()可以产生1~7的7个数(均匀概率),利用rand7() 产 生 rand10() 1~10(均匀概率)。 int rand10(){ int temp1,temp2; do{ temp1=rand7(); }while(temp1>5);//产生1~5 do{ temp2=rand7(); }while(temp2>2);//产生1~2 ret原创 2015-09-06 10:38:36 · 871 阅读 · 0 评论 -
大数据的积累
http://blog.youkuaiyun.com/v_july_v/article/details/7382693 作者:July 出处:结构之法算法之道blog 前言 一般而言,标题含有“秒杀”,“99%”,“史上最全/最强”等词汇的往往都脱不了哗众取宠之嫌,但进一步来讲,如果读者读罢此文,却无任何收获,那么,我也甘愿背负这样的罪名,:-),同时,此文可以看做是转载 2015-09-11 21:18:48 · 1051 阅读 · 0 评论 -
从B 树、B+ 树、B* 树谈到R 树
作者:July、weedge、Frankie。编程艺术室出品。 说明:本文从B树开始谈起,然后论述B+树、B*树,最后谈到R 树。其中B树、B+树及B*树部分由weedge完成,R 树部分由Frankie完成,全文最终由July统稿修订完成。 出处:http://blog.youkuaiyun.com/v_JULY_v 。 第一节、B树、B+树、B*树 1.前言: 动态查找树主要有:二叉查找树转载 2015-09-11 15:15:18 · 337 阅读 · 0 评论 -
STL之map和set
摘要:本文列出几个基本的STL map和STL set的问题,通过解答这些问题讲解了STL关联容器内部的数据结构,最后提出了关于UNIX/LINUX自带平衡二叉树库函数和map, set选择问题,并分析了map, set的优势之处。对于希望深入学习STL和希望了解STL map等关联容器底层数据结构的朋友来说,有一定的参考价值。 STL map和set的使用虽不复杂,但也有一些不易理解的转载 2015-09-18 11:13:39 · 311 阅读 · 0 评论 -
STL之hashtable
之前对hash一直存在恐惧感,毕竟没用过……最近在一个组件里面自己实现了一个hashtable,感觉也就这么回事;回头看看书上对hashtable的分析,发现是极其的相似。不过,旧版本的C++标准里面并没有hashtable这个东西,而C++11中引入了相关的容器(std::unordered_set, std::unordered_multiset, std::unordered_map, st原创 2015-09-18 11:15:53 · 311 阅读 · 0 评论 -
快速排序及其优化
1、快速排序的基本思想: 快速排序使用分治的思想,通过一趟排序将待排序列分割成两部分,其中一部分记录的关键字均比另一部分记录的关键字小。之后分别对这两部分记录继续进行排序,以达到整个序列有序的目的。 2、快速排序的三个步骤: (1)选择基准:在待排序列中,按照某种方式挑出一个元素,作为 "基准"(pivot) (2)分割操作:以该基准在序列中的实际位置,把序列分成两个转载 2015-09-19 09:36:50 · 391 阅读 · 0 评论 -
单链表的排序(归并和快排)
本题目来源于LeetCode,具体如下: Sort a linked list in O(n log n) time using constant space complexity. 题目要求复杂度O(nlogn),因此我们很自然考虑使用快速排序或者归并排序,但是后来经过实践证明,使用快速排序总是AC超时,归并排序则可以正确AC。 分析一下原因,个人认为是与测试数据有关,因为转载 2015-09-20 20:14:30 · 914 阅读 · 1 评论 -
最长回文子串
问题描述 回文串是指这个字符串无论从左读还是从右读,所读的顺序是一样的;简而言之,回文串是左右对称的。现在,对于一个给定的母串 abcdedcb 可以找出子串a, ded,cdedc, bcdecdb等均是回文串;显然,bcdecdb是其中最长的那一个。但是该如何找出最长的回文子串呢? 问题解法 最容易想到的依然是穷举法,穷举所有子串,找出是回文串的子串,统计出最长的那一个。 动态规划原创 2015-09-24 16:34:01 · 468 阅读 · 0 评论
分享