数据结构与算法
文章平均质量分 59
yongtao_liu
移动游戏 游戏
展开
-
阿里笔试部分题目分析(2015实习生 C/C++研发)
1、 找出海量数据(N)中的最大值K(<10000)个数,最开的平均时间复杂度是(O(n*logk)) 针对此类典型的TOP K问题,采取的对策往往是:hashmap + 堆。如下所示: hash_map统计:先对这批海量数据预处理。具体方法是:维护一个Key为Query字串,Value为该Query出现次数的HashTable,即hash_map(Query,Value),每次读取一个Que原创 2015-04-19 20:54:20 · 1429 阅读 · 0 评论 -
阿里2015实习生笔试附加题第一个
enum{ __ALIGN = 8 }; enum{ __MAX_BYTES = 128 }; enum{ __NFREELISTS = __MAX_BYTES / __ALIGN };template <bool threads, int inst> class FreeList { private: static size_t ROUND_UP(size_t bytes) {原创 2015-04-15 19:07:54 · 591 阅读 · 0 评论 -
阿里笔试题第二题之-------容错技术
阿里笔试题第二题之——-容错技术 定义:容错就是当由于种种原因在系统中出现了数据、文件损坏或丢失时,系统能够自动将这些损坏或丢失的文件和数据恢复到发生事故以前的状态,使系统能够连续正常运行一种技术。 容错FT(Fault Tolerant)技术一般利用冗余硬件交叉检测操作结果。随着处理器速度的加快和价格的下跌而越来越多地转移到软件中。未来容错技术将完全在软件环境下完成,那时它和高可用性技术之间的原创 2015-04-06 17:38:33 · 1234 阅读 · 0 评论 -
链表问题总结
链表问题总结//求链表中节点的个数 unsigned int GetLenthList(ListNode * Head) { if (Head == NULL) { return 0; } unsigned int length = 0; ListNode *pCurrent = Head; while (pCurrent != NU原创 2015-04-06 14:04:47 · 420 阅读 · 0 评论 -
二叉树总结
//二叉树节点定义: struct BinaryTreeNode { int m_nValue; BinaryTreeNode* m_pLeft; BinaryTreeNode* m_pRight; }; /* * 二叉树中节点的个数 *用递归解比较好:如果二叉树为空,节点树为0;不为空,二叉树的节点个数= 左子树 + 右子树 +1; **/ int Get原创 2015-04-14 11:28:06 · 885 阅读 · 0 评论 -
排序算法总结
/*冒泡排序 *思路:比较相邻的前后二个数据,如果前面数据大于后面的数据, *就将二个数据交换。这样对数组的第0个数据到N-1个数据进行一次遍历后, *最大的一个数据就“沉”到数组第N-1个位置。 N=N-1,如果N不为0就重复前面二步, *否则排序完成。 **/ void BubbleSort1(int a[], int n) { int i, j; for (i = 0原创 2015-04-23 20:09:25 · 409 阅读 · 0 评论