上一页 1 ··· 8 9 10 11 12 13 14 15 16 下一页
摘要: 腾讯面试题: 给40亿个无符号整形的不重复的数据,如何迅速判断一个数是否在这40亿个数中。 分析:40亿个数据实在太多并且不重复,并且我们不必知道这些数据的大小,只需标记这些数是否存在。因此我们可以想到用位图来解决这个问题,这样只需占大概500M的内存空间。实现方法如下: #pragma once# 阅读全文
posted @ 2016-11-05 23:25 请叫我小小兽 阅读(206) 评论(0) 推荐(0) 编辑
摘要: #pragma once#include<vector>template<class K>struct __HashFunc{ size_t operator()(const K&key) { return key; }};template<>struct __HashFunc<string> // 阅读全文
posted @ 2016-11-05 10:52 请叫我小小兽 阅读(1114) 评论(0) 推荐(0) 编辑
摘要: #pragma onceenum colour //子节点的颜色{ RED, BLANK,};template<class K,class V>struct RBTreeNode{ K _key; V _value; RBTreeNode<K, V>* _left; RBTreeNode<K, V> 阅读全文
posted @ 2016-11-04 16:58 请叫我小小兽 阅读(406) 评论(0) 推荐(0) 编辑
摘要: AVL树是高度的平衡二插搜索树,其左子树和右子树的高度之差不超过1(树中的左子树和右子树都是AVL树),维持这个高度之差就要控制它的平衡因子。那么判断一颗AVL树是否平衡就需要判断它的左子树和右子树高度差是否为1,并且子树也遵循这个原则。这里我们可以用递归的方法来判断这颗二叉树是否为平衡二叉树,看他 阅读全文
posted @ 2016-10-26 20:53 请叫我小小兽 阅读(2824) 评论(2) 推荐(0) 编辑
摘要: AVL树又称为高度的平衡二叉树,它能保持二叉树高度的平衡,尽量降低二叉树的高度,较少树的平均搜索长度。如下是二叉搜索树比较极端的一种情况,这使得二叉搜索树效率降低。而AVL树就是为了解决这一问题。 AVL树有哪些性质呢?首先它的左子树和有字数的高度差不超过1,并且它的左子树和右子树都要是AVL树才可 阅读全文
posted @ 2016-10-23 11:30 请叫我小小兽 阅读(253) 评论(0) 推荐(0) 编辑
摘要: size_t _FindLeafSize(Node* root) //求二叉树叶子节点的个数 { //static size_t count = 0; if (root == NULL) return 0; if (root->_left == NULL&&root->_right == NULL) 阅读全文
posted @ 2016-10-15 17:56 请叫我小小兽 阅读(3347) 评论(0) 推荐(0) 编辑
摘要: void _PrevOrderNR(Node* root) //非递归前序遍历 { if (root == NULL) return; Node* cur = root; stack<Node*> s; while(cur||!s.empty()) { while (cur) { cout << c 阅读全文
posted @ 2016-10-15 16:05 请叫我小小兽 阅读(323) 评论(0) 推荐(0) 编辑
摘要: 堆排序是一种常见的排序算法,因为他的时间复杂度相比较于其他排序来说是比较优化的了。他的思想就是:先建一个大堆(即堆顶元素是堆中最大的),然后将堆顶元素与堆的最后一个元素交换,堆的大小减一(此时堆中最后一个元素已经是堆中最大的了),然后对剩下的元素再进行排序,如此循环,当堆中元素只剩一个的时候堆排序就 阅读全文
posted @ 2016-10-15 10:46 请叫我小小兽 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 应用场景:2015年春节期间,A公司的支付软件某宝和T公司某信红包大乱战。春节高峰以后,公司Leader要求后台攻城狮对后台的海量的数据进行分析。先要求分析出各地区发红包最多的前100位用户。现在知道人最多的S地区大约有100W用户,要求写一个算法实现。 分析:看到这里,问题可以简化为求很多个数据中 阅读全文
posted @ 2016-10-12 09:32 请叫我小小兽 阅读(279) 评论(0) 推荐(0) 编辑
摘要: #pragma once#include<iostream>using namespace std;#include<vector>template<class T> //仿函数struct Less{ bool operator()(const T&l, const T&r) //重载括号 { r 阅读全文
posted @ 2016-10-11 20:22 请叫我小小兽 阅读(186) 评论(0) 推荐(0) 编辑
上一页 1 ··· 8 9 10 11 12 13 14 15 16 下一页