数据结构和算法
文章平均质量分 78
bigwangdi
通信专业六年学习,具有扎实的专业基础,软件开发实习一年,积累了开发经验。热爱软件开发、互联网、搜索、云计算等。热爱研究技术,喜欢使用所学知识解决实际问题,对技术有较强的领悟能力。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【算法】快速排序
快速排序是一种排序方法,使用快速排序对n个数字进行排序,在最坏情况下对运算时间为O(n*n)。但是由于平均情况下,运算时间比较低为O(nlgn),并且可以实现就地排序,所以 快速排序是经常用到的比较实用的排序方法。快速排序使用分治的方法进行排序。对于长度为n的数组A[],快速排序依据数组元素的大小,把小于A[n-1]和大于A[n-1]的部分分为两部分分别排序。采用递归的方法完成排序。其过程原创 2012-11-16 14:38:35 · 846 阅读 · 0 评论 -
Trie树及其应用
Trie树Trie树,又称单词查找树、字典树,是一种树形结构,是一种哈希树的变种,是一种用于快速检索的多叉树结构。典型应用是用于统计和排序大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。Trie树的优点是:最大限度地减少无谓的字符串比较,查询效率比哈希表高。 Trie的核心思想是空间换时间。利用字符串的公共前缀来降低查询时间的开销以达到提高效率的目的。 Tri原创 2013-07-11 15:51:10 · 1078 阅读 · 0 评论 -
Microsoft2013校园招聘笔试题及解答
继续求拍砖!!!!1. You are managing the database of a book publichser, you currently store the book orders your company receives in the following BookOrders table. You manager has asked you to generate原创 2013-06-21 20:18:09 · 1842 阅读 · 2 评论 -
海量数据面试题举例
大数据量的问题是很多面试笔试中经常出现的问题,比如baidu google 腾讯 这样的一些涉及到海量数据的公司经常会问到。下面的方法是我对海量数据的处理方法进行了一个一般性的总结,当然这些方法可能并不能完全覆盖所有的问题,但是这样的一些方法也基本可以处理绝大多数遇到的问题。下面的一些问题基本直接来源于公司的面试笔试题目,方法不一定最优,如果你有更好的处理方法,欢迎与我讨论。1.Bloom转载 2013-06-21 20:35:47 · 854 阅读 · 0 评论 -
【笔试】Microsoft 2013实习生招聘笔试题及解答
题目是自己做的,求拍砖1. Which of the following callingconvension(s) support(s) support variable length parameter(e.g. printf)? (3Points)A. cdecl B. stdcall C.pascal原创 2013-06-18 20:41:24 · 1210 阅读 · 0 评论 -
【面试】求数组子序列的最大和
一、问题描述输入一个整形数组,数组里可以有正数或负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。求所有子数组的和的最大值。要求时间复杂度为O(n)。 例如输入的数组为1, -2, 3, 10, -4, 7, 2, -5,和最大的子数组为3, 10, -4, 7, 2,因此输出为该子数组的和18。第一次遇到这道题是参加x迅的笔试。题目中给出了两种解法,让原创 2013-06-17 01:59:04 · 1934 阅读 · 0 评论 -
【面试】求数组元素最大差值的问题
一、问题描述:如果一个人在知道了股票每天的股价以后,对该股票进行投资,问什么时候买入和卖出(注意这里有先后顺序)能取得最大的收益。其数学模型就是,给定一个整数数组,a[1],a[2],...,a[n],每一个元素a[i]可以和它左边(a[i-1],a[i-2],...,a[0])元素做差,求这个数组中最大的差值。最初遇到这道题是在某度参加面试,当时只想到比较简单的方法。对于复杂度降低到O(原创 2013-06-16 16:46:45 · 2147 阅读 · 0 评论 -
【编程之美】字符串移位包含的问题
问题描述:给定两个字符串s1和s2,要求判定s2是否能被s1循环移位(rotate)得到的字符串包含。例如,给定字符串s1=AABCD和s2=CDAA,返回true;给定s1=ABCD和s2=ACBD返回false。 分析:从问题的描述来看,最直接的方式就是对字符串s1进行循环移位,再判断s1是否包含s2. 关于字符串匹配可以使用KMP算法,这不是本问题的中心,因此原创 2013-05-23 21:42:17 · 993 阅读 · 0 评论 -
【算法】计数排序
计数排序是一种线性时间排序方法,在以下条件满足时对n个数的数组A[]进行排序,其时间为O(n):一:数组A[]中的元素的大小均小于k二:k=O(n)算法代码如下:#include #include /** * 计数排序 * a[] (input)要排序的数组 * b[] (output) 排序结果 * n (input) 排序的数字的个数 * k原创 2012-11-16 16:26:35 · 736 阅读 · 0 评论 -
Crack The Code Interview第一章Arrays & Strings读书笔记
问题一:Implement an algorithm to determine if a string has all unique characters. What if you can not use additional data structures?如果只是要判断有没有重复的字符,使用一个bool的数组是一个很简单的方案:bool isUniqueCharStr(string s原创 2013-07-09 15:21:59 · 1571 阅读 · 0 评论
分享