
算法
chang_ge
这个作者很懒,什么都没留下…
展开
-
总结——01背包问题 (动态规划算法)
0-1 背包问题:给定 n 种物品和一个容量为 C 的背包,物品 i 的重量是 wi,其价值为 vi 。问:应该如何选择装入背包的物品,使得装入背包中的物品的总价值最大?分析一波,面对每个物品,我们只有选择拿取或者不拿两种选择,不能选择装入某物品的一部分,也不能装入同一物品多次。解决办法:声明一个 大小为 m[n][c] 的二维数组,m[ i ][ j ] 表示 在面对第 i 件物品,且背包容量...转载 2018-04-08 13:36:43 · 514 阅读 · 0 评论 -
LSM-tree 一种高效的索引数据结构
LSM-tree 一种高效的索引数据结构 论文 The Log-Structure Merge-Tree(LSM-tree)(http://www.google.com.my/url?sa=t&rct=j&q=&esrc=s&source=web&cd=4&cad=rja&ved=0CDoQFjAD&url=http%3A%2F...转载 2018-04-10 12:00:14 · 519 阅读 · 0 评论 -
类似队列的java实现
实现了栈后,索性又实现以下队列。本文主要介绍队列的定义、队列的java实现和队列的作用。队列的定义队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表,特点是“先进先出,后进后出”。队列的实现这里说一下,我这实现的和队列的定义其实不符合,只是遵从了先进先出的思想。为了防止出现“假溢出”的问题,...转载 2018-05-29 14:48:56 · 236 阅读 · 0 评论 -
栈的java实现
昨天心血来潮用java实现了一下栈(Stack),在这分享一下。栈的概念栈(stack)又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈(push),它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈(pop),它是把栈顶元素删除掉,使其相邻的元素...转载 2018-05-29 14:54:06 · 3562 阅读 · 0 评论