代码改变世界

阅读排行榜

《算法导论》第15章 动态规划 (1)装配线调度

2012-04-14 08:56 by htc开发, 248 阅读, 收藏,
摘要: 动态规划通常用于有很多种可行解,而找出最优解的问题。具体可分为4个步骤:1)描述最优解的结构。2)递归定义最优解的值。3)自底向上计算最优解的值。4)由最优解的值构造出最优解。下面通过一个具体问题来看究竟如何用动态规划算法来解决问题。Colonel汽车公司在有两条装配线的工厂里生成汽车。每一条装配线上有n个装配站,两条生产线上相同位置的装配站功能相同,但所需时间不同,并且汽车底盘在两条装配线间转移要花费一定的时间。如下图所示两条生产线。这里首先尝试下下一章的贪心算法,在每一步都取最省时间的装配站。首先进入装配线1时间为2 + 7小于装配线2的4 + 8,因此进入装配线1。之后装配站2的时间9大 阅读全文

《算法导论》第6章 堆排序 (3)K路归并

2012-02-15 21:58 by htc开发, 248 阅读, 收藏,
摘要: 问题描述:问题来自习题6.5-8 给出一个时间为O(nlgk),用来将k个已排序链表合并为一个排序链表的算法。此处n为所有输入链表中元素的总数。(提示:用一个最小堆来做k路合并)。在K路归并问题中,取出最小堆的根元素(最小元素)后,如果此元素没有后继元素(next为空),则有两种方案:一、从K路中的另一个链表取出一个元素放到根位置。二、将堆底部最后一个元素挪到根位置,并将堆大小减一。此处采用方案二。堆大小每减一,说明K路中某一个链表已处理完。当堆大小为零时,处理结束。源码与注释:// 链表结点类classNode {intvalue;Nodenext;}publicclassKMerge {p 阅读全文

Activity生命周期

2011-12-12 15:06 by htc开发, 248 阅读, 收藏,
摘要: Activity有三个状态: l当它在屏幕前台时(位于当前任务堆栈的顶部),它是激活或运行状态。它就是响应用户操作的Activity。 l当它上面有另外一个Activity,使它失去了焦点但仍然对用户可见时(如右图),它处于暂停状态。在它之上的Activity没有完全覆盖屏幕,或者是透明的,被暂停的Activity仍然对用户可见,并且是存活状态(它保留着所有的状态和成员信息并保持和窗口管理器的连接)。如果系统处于内存不足时会杀死这个Activity。l当它完全被另一个Activity覆盖时则处于停止状态。它仍然保留所有的状态和成员信息。然而对用户是不可见的,所以它的窗口将被隐藏,如果其它地方需 阅读全文

多线程编程-线程的创建和终止

2011-04-10 20:15 by htc开发, 248 阅读, 收藏,
摘要: 1.引言:Linux系统下的多线程遵循POSIX线程接口,称为pthread。编写Linux下的多线程程序,需要使用头文件pthread.h,连接时需要使用库libpthread.a。顺便说一下,Linux下pthread的实现是通过系统调用clone()来实现的。clone()是Linux所特有的系统调用,它的使用方式类似fork,关于clone()的详细情况,有兴趣的读者可以去查看有关文档说明。 pthread_t在头文件/usr/include/bits/pthreadtypes.h中定义: typedef unsigned long int pthread_t;它是一个线程的标识符.. 阅读全文

一个题目涉及到的50个SQL语句

2011-12-13 17:11 by htc开发, 247 阅读, 收藏,
摘要: Student(S#,Sname,Sage,Ssex) 学生表Course(C#,Cname,T#) 课程表SC(S#,C#,score) 成绩表Teacher(T#,Tname) 教师表问题:1、查询"001"课程比"002"课程成绩高的所有学生的学号; select a.S# from (select s#,score from SC where C#='001') a,(select s#,score from SC where C#='002') b where a.score>b.score and a.s 阅读全文
上一页 1 ··· 44 45 46 47 48 49 50 51 52 ··· 105 下一页