
数据结构
文章平均质量分 73
奋斗小子
工作感情无论遇到多大阻碍不退缩不放弃
展开
-
微软数据结构100题
题目来源于July的blog ttp://blog.youkuaiyun.com/v_JULY_v/article/details/6057286我觉得题目挺有意思的,所以自己慢慢做.通过自己编写来提高自己的能力.1.把二元查找树转变成排序的双向链表(树)题目:输入一棵二原创 2011-08-15 15:34:29 · 578 阅读 · 0 评论 -
[算法学习]将一个随机的整数转换成一个按各位上数值大小排序的整数
题目1、将一个随机的整数转换成一个按各位上数值大小排序的整数,例如整数2541转换成1245,随机整数521368转换成123568,用C语言编程来实现,要求不能使用一步到位的库函数。思想:数字只可能为0-9,所以可以先将正数每一位出现的次数存入到数组a[10]中,然后从a[0]开始扫描数组,拼成按数值大小排序的数.#includeint specialSort(int a);in原创 2012-07-12 20:07:54 · 831 阅读 · 0 评论 -
[算法学习]发帖水王
来自:http://blog.youkuaiyun.com/v_july_v/article/details/6890054题目1:Tango是微软亚洲研究院的一个试验项目,如图1所示。研究院的员工和实习生们都很喜欢在Tango上面交流灌水。传说,Tango有一大“水王”,他不但喜欢发帖,还会回复其他ID发的每个帖子。坊间风闻该“水王”发帖数目超过了帖子总数的一半。如果你有一个当前论坛上所有帖子(包括回帖原创 2012-07-09 20:43:30 · 610 阅读 · 0 评论 -
[算法学习]在字符串中删除特定的字符
题目:输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。例如,输入”They are students.”和”aeiou”,则删除之后的第一个字符串变成”Thy r stdnts.”。题目来源于何海涛老师(http://zhedahht.blog.163.com/blog/static/25411174200801931426484/)思想: 构建hash数原创 2012-08-16 20:21:06 · 1041 阅读 · 0 评论 -
[算法学习]寻找缺失的数
题目:有一组数字,从1到n,中减少了一个数,顺序也被打乱,放在一个n-1的数组里,请找出丢失的数字。思路1: 求出1-n的总和,减去数组中n-1个数,则剩下的值就是丢失的数字。这种方法求和的时候,有可能溢出。可以采用1-a[0]+2-a[1]+3-a[2]+....n-1-a[n-2]+n;/**功能:1-n的和,与数组和的相差就是所缺少的数.这种方式只适合于数比较小,不然原创 2012-08-02 16:35:04 · 1684 阅读 · 0 评论 -
[算法学习]常用排序算法实现
1.插入排序 插入排序是最简单最直观的排序算法了,它的依据是:遍历到第N个元素的时候前面的N-1个元素已经是排序好的了,那么就查找前面的N-1个元素把这第N个元素放在合适的位置,如此下去直到遍历完序列的元素为止。 算法的复杂度也是简单的,排序第一个需要1的复杂度,排序第二个需要2的复杂度,因此整个的复杂度就是 1 + 2 + 3 + …… + N = O(N ^ 2)的复杂度。原创 2012-08-14 11:53:02 · 760 阅读 · 0 评论 -
[算法学习]不改变正负数之间相对顺序重新排列数组.时间O(N),空间O(1)
参考http://blog.youkuaiyun.com/v_july_v/article/details/7329314题目如下: 一个未排序整数数组,有正负数,重新排列使负数排在正数前面,并且要求不改变原来的正负数之间相对顺序。 比如: input: 1,7,-5,9,-12,15 ,ans: -5,-12,1,7,9,15 。且要求时间复杂度O(N),空间O(1) 。原创 2012-07-03 11:45:46 · 2440 阅读 · 0 评论 -
[算法学习]杨氏矩阵
1.定义 杨氏矩阵中,每行元素是递增的,每列元素也是递增的。2.杨氏矩阵中查找 思想:从矩阵的右上角(或者左下角)开始查找num,如果a[i][j]num,则比较a[i-1][j]与num之间的关系。当a[i][j]等于num,或者i、j至少有一个超出矩阵范围,则结束查找。 查找流程图如下所示: 算法复杂度:o(n+m)3、按从小到大顺序输出杨氏矩阵中原创 2012-07-06 11:26:26 · 707 阅读 · 0 评论 -
常见算法学习笔记
1)、求单向链表倒数第k个元素思想:通过双指针实现,设指针p、q初试都指向头结点。指针p后移k次,然后指针p、q一起后移直到p指向空指针。写代码过程中要考虑一些异常情况,如K大于链表长度等。实现代码如下:#includeusing std::cin;using std::cout;using std::endl;using std::runtime_error;struc原创 2012-04-11 15:50:57 · 485 阅读 · 0 评论 -
树的遍历(包括递归和非递归)
记录下来,以后找工作的时候复习复习.#ifndef TREE_H#define TREE_H#include#include#includeusing namespace std;template struct node{ typeName key; nod原创 2011-08-15 14:33:54 · 590 阅读 · 0 评论 -
[算法学习]大数据量算法题
参考:http://blog.youkuaiyun.com/v_july_v/article/details/67121711.腾讯面试题:给40亿个不重复的unsigned int的整数,没排过序的,然后再给一个数,如何快速判断这个数是否在那40亿个数当中?思想:用数组来存这40亿个数,而且只能用bit来表示。why?40亿约等于4G,就算你用一个字节来,也需要4GB,32位的机子爆掉了。如果用bi原创 2012-07-13 10:10:20 · 1049 阅读 · 0 评论