随笔分类 -  数据结构

Data Structure
不重复随机数列的生成算法 Leetcode 384. Shuffle an Array
摘要:[1] https://blog.csdn.net/yhhwatl/article/details/75003385 阅读全文
posted @ 2019-12-12 10:23 蜗牛快爬 阅读(255) 评论(0) 推荐(0) 编辑
bitmap索引
摘要:[1] https://blog.csdn.net/matrix_google/article/details/82878214 阅读全文
posted @ 2019-07-18 11:05 蜗牛快爬 阅读(112) 评论(0) 推荐(0) 编辑
聪明的木匠 (哈夫曼树)
摘要:假设有n个权值,则构造出的哈夫曼树有n个叶子结点。 n个权值分别设为 w1、w2、…、wn,则哈夫曼树的构造规则为[1]: (1) 将w1、w2、…,wn看成是有n 棵树的森林(每棵树仅有一个结点); (2) 在森林中选出两个根结点的权值最小的树合并,作为一棵新树的左、右子树,且新树的根结点权值为其 阅读全文
posted @ 2016-07-14 21:25 蜗牛快爬 阅读(458) 评论(0) 推荐(0) 编辑
连续区间最值问题
摘要:1. 已知一个一维数组nums,求nums的一个连续区间,使其和最大。返回最大和。(O(n)) hdu1005 2. 已知一个一维数组nums,求nums的一个最长连续区间,使其和为k。返回最大区间长度。(O(n)) 3. 已知一个一维数组nums,求nums的一个连续区间,使其和是不超过k的最大值 阅读全文
posted @ 2016-07-14 18:14 蜗牛快爬 阅读(233) 评论(0) 推荐(0) 编辑
链表反转 (Multi-method)
摘要:链表反转是链表相关问题最基础的知识,做完LeetCode中LinkedList后才会有这种体会,因为ACM算法中不会涉及这一部分。解决这一问题有多种方法,在面试中面试官通常也会要求写出多种。包括stack,iterative,以及recursive。 (1) stack: a. 按顺序将节点push 阅读全文
posted @ 2016-06-12 18:12 蜗牛快爬 阅读(294) 评论(0) 推荐(0) 编辑
二分查找 (最经典代码,及其边界条件的实践分析)
摘要:(注: 原创博客,转载请引用 http://www.cnblogs.com/wubdut/p/5578147.html) 代码举例: Array递增,找第一个不小于target的下标。 int theIndex(vector<int> Array) { int lo = 0, hi = Array. 阅读全文
posted @ 2016-06-12 17:01 蜗牛快爬 阅读(979) 评论(0) 推荐(0) 编辑
深搜和广搜的对比
摘要:Reference: [1] http://www.cnblogs.com/lonelycatcher/archive/2011/07/29/2120654.html [2] http://www.cnblogs.com/celia01/archive/2012/07/30/2615842.html 阅读全文
posted @ 2016-05-20 08:13 蜗牛快爬 阅读(231) 评论(0) 推荐(0) 编辑
马拉车求最大回文字串
摘要:改进的代码 (输入字符串为s): int getLongestPalindrome(string s) { string str; str.push_back('&'); for (char item : s) { str.push_back('#'); str.push_back(item); } 阅读全文
posted @ 2016-02-26 18:10 蜗牛快爬 阅读(213) 评论(0) 推荐(0) 编辑
单调队列
摘要:问题描述:给定一个长度为N的整数数列{ai},i = 0, 1, ... , N-1和窗口长度k.要求: f(i) = max{a(i-k+1), a(i-k+2), ... , a(i)}, i = 0, 1, ... , N-1.解法: 在求f(i)时,其前k+1个数在f(i-1)中比较过,... 阅读全文
posted @ 2015-09-26 10:37 蜗牛快爬 阅读(183) 评论(0) 推荐(1) 编辑
树状数组
摘要:一. 树状数组简介: 树状数组用来求区间元素的和,求一次区间元素和的效率为O(log n). 二. 图解树状数组: 假设序列为:A[1]-A[8],C[]为树状数组. C[1] = A[1]; C[2] = A[1] + A[2]; C[3] = A[3]; C[4] = A[1] + A[2] + 阅读全文
posted @ 2015-09-25 16:02 蜗牛快爬 阅读(143) 评论(0) 推荐(0) 编辑

 
点击右上角即可分享
微信分享提示