关闭

Arithmetic problem | Target Sum

题目如下:You are given a list of non-negative integers, a1, a2, …, an, and a target, S. Now you have 2 symbols + and -. For each integer, you should choose one from + and - as its new symbol.Find out how m...
阅读(6721) 评论(0)

Arithmetic problem | 书籍复印

题目如下: 给出一个数组A包含n个元素,表示n本书以及各自的页数。现在有个k个人复印书籍,每个人只能复印连续一段编号的书,比如A[1],A[2]由第一个人复印,但是不能A[1],A[3]由第一个人复印,求最少需要的时间复印所有书。样例: A = [3,2,4],k = 2返回5,第一个人复印前两本书解题思路: 这个题有一定难度,先提出合理假设B(l,k)为l个数据规模的k人分配使用最短时间。把...
阅读(5554) 评论(0)

Arithmetic problem | 非法二进制数

题目如下:如果一个二进制数包含连续的两个1,我们就称这个二进制数是非法的。找出在所有 n 位二进制数(一共有2^n个)中,非法二进制数有多少个。例如对于 n = 3,有 011, 110, 111 三个非法二进制数。由于结果可能很大,你只需要输出模10^9+7的余数。输入 一个整数 n (1 ≤ n ≤ 100)。输出 n 位非法二进制数的数目模10^9+7的余数。样例输入:3样例输出:3解题思...
阅读(4242) 评论(0)

Arithmetic problem | The Triangle

题目如下:Figure 1 shows a number triangle. Write a program that calculates the highest sum of numbers passed on a route that starts at the top and ends somewhere on the base. Each step can go either diagon...
阅读(7714) 评论(2)

Garbage Collection | 引用计数的改善考察(三)

5 环形引用计数续前篇,引用计数技术无法回收环形数据结构,这个由McBeth首先 注意到的问题可能是反对引用计数的最有力的论据[McBeth, 1963]。环形结构在应用层和系统层都是相当常见的。一般来说,当程序员们使用反向指针(back-pointer)、或是为了以自然的方式表达某些领域相关问题时,往往会创建一个环。此外,程序员有时也会在无意中创建环,例如在一个哈希表链(hash table ch...
阅读(23413) 评论(2)

Garbage Collection | 引用计数的改善考察(二)

3 计数域大小受限得引用计数续前文,引用计数技术需要再每个单元中保留一定空间以存放引用计数值。理论上,再最糟糕得情况下,这个域必须达到足够存放堆中节点核根所保存得指针的总数,换句话说,这个域必须核指针一样大。然而,若是说所有的应用里计数值都会增长到这么大,那未免泰国不可思议了。因此,我们可以使用较小的引用计数域来节省空间,代价则识必须小心地处理溢出问题。3.1 “粘住的”计数值对于某个单元,引用计数...
阅读(9093) 评论(0)

Garbage Collection | 引用计数的改善考察(一)

1 非递归的释放之前的博文中,所介绍的简单的引用计数算法中,每当指向某个对象的指针被改写的时候,Update过程就会减小那个对象的引用计数数值。如果计数值变为0,那么在将该对象所占据的内存归还给自由链表之前,必须递归地删除这个对象所包含的指针。因此,简单的递归释放在散布处理开销时并不均匀:删除指向某个对象的最后一个指针的代价不是常数,甚至不是正比于对象大小,而是依赖于以改对象为根的子图的大小。1.1...
阅读(10932) 评论(0)

Garbage Collection | 节点复制算法

这次考察的是基于追踪的算法:节点复制算法。节点复制式收集器将整个堆等分成为两个半区(semi-space),一个包含现有的数据,另一个包含已被废弃的数据,节点复制式垃圾收集从filp两个半区的角色开始。然后收集器在老的半区,也就是Fromspace中遍历存活的苏话剧结构,在第一次访问某个单元时把它复制到新的半区,也就是Tospace中去。在Fromspace中所有存活单元都被访...
阅读(7263) 评论(1)

Garbage Collection | Mark-Sweep算法

这是第一种用于自动内存管理的算法,标记-清扫(mark-sweep)算法【McCartby ,1960】.在这一方案下,内存单元并不会在变成垃圾的同时立刻回收,而是保持不可到达和未被发现的状态,直到所有可用的内存都耗尽。如果此时再次出现对新单元的请求,系统会暂时挂起“有用”的程序,并调用垃圾收集例程,将堆中所有当前并未使用的单元清扫回自由单元池中。标记-清扫算法依靠...
阅读(5348) 评论(0)

Garbage Collection | 引用计数算法

这是一个比较直接的算法,其基本手段是为每一个单元计算指向它的引用(来自其他活动单元或者根)的数量【Collins,1960】.它的优点在于能够非常简单的判断单元是否...
阅读(12217) 评论(1)
38条 共4页1 2 3 4 下一页 尾页
    个人资料
    • 访问:449158次
    • 积分:4092
    • 等级:
    • 排名:第8063名
    • 原创:38篇
    • 转载:0篇
    • 译文:0篇
    • 评论:217条
    博客专栏