一个操作系统如果只是具备了高优先级任务能够“立即”获得处理器并得到执行的特点,那么它仍然不算是实时操作系统。因为这个查找最高优先级线程的过程决定了调度时间是否具有确定性,例如一个包含n个就绪任务的系统中,如果仅仅从头找到尾,那么这个时间将直接和n相关,而下一个就绪线程抉择时间的长短将会极大的影...
分类:
编程语言 时间:
2015-02-08 12:49:31
阅读次数:
1925
汉诺塔问题递归算法分析: 一个庙里有三个柱子,第一个有64个盘子,从上往下盘子越来越大。要求庙里的老和尚把这64个盘子全部移动到第三个柱子上。移动的时候始终只能小盘子压着大盘子。而且每次只能移动一个。 1、此时老和尚(后面我们叫他第一个和尚)觉得很难,所以他想:要是有一个人能把前63个盘子先移动.....
分类:
编程语言 时间:
2015-02-06 23:14:41
阅读次数:
129
问题描述: 所谓回文串,就是形如"ababa"这样正序和反序序列完全一样的字符串。最长回文子串问题,即是要找出一个字符串的所有子串中最长的那个回文串。 题目链接:http://hihocoder.com/problemset/problem/1032算法分析:考虑所有长度为奇数的子串,可以这样做.....
分类:
其他好文 时间:
2015-02-06 14:32:02
阅读次数:
167
#include #include #include #include #include #define N 100000+2using namespace std;//无根树转有根树算法/* 算法分析:所谓无根树,就是根节点任意的树。我们可以给它确定一个根节点。 我们可以假定认为某一个节点为根.....
分类:
编程语言 时间:
2015-02-03 20:58:09
阅读次数:
185
想花上一个月的时间将 《算法导论》 这门基础课程学好。主要还是借助于网易公开课上MIT的这门课程,另外还有两本参考书籍,一个讲数据结构,一个讲算法的。这个系列就算作学习笔记加上自己的整理了。为什么先学习算法分析几乎所有的算法书籍开篇都会介绍算法分析的知识。它为什么显得如此重要呢?设想,当我们面对别人...
分类:
编程语言 时间:
2015-02-03 10:43:18
阅读次数:
186
文章链接:1> Windows内核情景分析 3.4.1 Windows 进程的句柄表2> Windows 句柄表格式3> Windows句柄表分配算法分析4> 浅谈Windows句柄表5> 句柄啊,3层表啊,ExpLookupHandleTableEntry啊... 5楼-----------...
分类:
其他好文 时间:
2015-02-02 22:43:18
阅读次数:
203
这一章主要内容:
* 抽象数据类型(ADT)的概念
* 实现表/栈/队列
* 了解这三个数据结构的应用场景
1. ADT
ADT: abstract data type, 是抽象的数学模型,在该模型上定义了一系列的操作。使用它的人,不需要了解它的存储方式,只关心它的逻辑特征。可以使用三元组的方法来表示(D,S,P),D是数据对象,S是数据之间的关系,P是对数据的基本操作,具体介绍,可以参...
分类:
编程语言 时间:
2015-02-02 21:35:51
阅读次数:
222
算法设计与分析基础(第3版)
p16 in-place翻译为‘在位’?‘就地’更合适点p38 amortized应翻译为‘均摊’,‘摊销’这个词简直莫名其妙(可能因为翻译是做算法交易导致的?)p64 迭代优于递归(迭代始终是增量式的,而递归就没办法增量了,除非能够dump整个运行时栈)p73 通过算法可视化得到一个更好的非递归算法(人的图像认知直觉思维?)p79 验证一个拓扑...
分类:
编程语言 时间:
2015-02-02 12:35:58
阅读次数:
239
(一)算法时间复杂度定义: 在进行算法分析时,语句总的执行次数T(n)是关于问题规模n的函数,进而分析T(n)随n的变化情况并确定T(n)的数量级。算法的时间复杂度,也就是算法的时间量度,记作:T(n)=O(f(n))。它表示随问题规模n的增大,算法执行时间的增长率和f(n)的增长率相同,称作算法....
分类:
编程语言 时间:
2015-02-02 12:28:56
阅读次数:
284
算法分析基本思想维基百科中记录:快速排序使用分治法(Divide and conquer)策略来把一个序列(list)分为两个子序列(sub-lists)。步骤为:从数列中挑出一个元素,称为"基准"(pivot),重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面(...
分类:
编程语言 时间:
2015-01-30 17:23:16
阅读次数:
233