
算法
文章平均质量分 69
owengbs
这个作者很懒,什么都没留下…
展开
-
最长子段问题求解
问题描述: 一个N个整数的数组(A[0] ... A[n-1]), 求这个数组的子数组的最大和。举例:数组:A = [1, -2, 3, 5, -3, 2] 返回: 8解法一: 穷举法穷举出所有的子数组,分别求和,最后选出最大值n个元素的组合有n*(n-1)种,对每种组合求和需要c次,其中c为该组合元素数因而该算法复杂度为O(n2)*O(n) = O(n3)假设原创 2012-04-12 14:36:18 · 865 阅读 · 0 评论 -
线性时间排序
最近的几篇文章将都关于排序算法,希望能跟大家一起进步,一起深入的去理解排序问题的本质与思路。由于本人在算法方面还处于菜鸟阶段,所以文章的面向读者为广大算法入门人士,希望高手门高抬贵手。本文将讨论线性时间排序算法,关于非线性时间算法将另开专题讨论。开篇:御剑术---计数排序计数排序,一言以蔽之,就是统计每个元素的个数,用来推断它最终的位置:显然,它的最终位置等于比它小的数原创 2012-04-17 22:14:07 · 818 阅读 · 0 评论 -
Bloom Filter算法
介绍: Bloom filter 是一种节约空间的数据结构,用于检测元素是否为集合的成员。Bloom filter可能误判,但不会漏判,所以可以用于判断:“元素是否在集合中(有一定错误概率)”“元素一定不在集合中(找到所有可能在的,剩下就是一定不在的)”。 误判的概率随着元素数目增多而变大。算法描述: 一个空的Bloom filter含有原创 2012-05-31 10:37:16 · 1115 阅读 · 0 评论 -
数组个数匹配
题目来自http://topic.youkuaiyun.com/u/20101011/16/2befbfd9-f3e4-41c5-bb31-814e9615832e.html给你10 分钟时间,根据上排给出十个数,在其下排填出对应的十个数 要求下排每个数都是先前上排那十个数在下排出现的次数。 上排的十个数如下: 【0,1,2,3,4,5,6,7,8,9】 初看此题,貌似很难,10 分钟过去原创 2012-05-26 11:20:18 · 1086 阅读 · 0 评论 -
初学sqlite 锁协议
对Sqlite3的锁机制简单分析,本人新手,欢迎大家指正。sqlite用五种锁实现ACID:1. Nolock:应用处于初始状态2. Shared:在读操作前获得的锁。(可以有多个应用共享Shared lock)3. Reserved:表示应用将来有写的意图。(此时其他应用可以获得Shared lock)4. Pending:表示应用正在因为要执行写操作而等全部Shar原创 2013-01-21 14:20:38 · 1749 阅读 · 0 评论 -
Apriori中的hash tree
总算把hash tree算法弄懂了,不敢独乐,特来分享hash tree(哈希树),是由tree和hash table结合,旨在优化hash table冲突解决方案的一种数据结构。在链式hash table中,若关键字发生冲突,则创建单个新节点链到冲突节点之后,并把关键字插入到新节点。而在hash tree结构中,若关键字发生冲突,则创建一组新节点链到冲突节点之后,并把关键字hash后原创 2012-06-02 15:32:20 · 19881 阅读 · 12 评论