德仔

工作学习之笔记

[操作系统]最佳置换算法和先进先出置换算法

4.7.1 最佳置换算法和先进先出置换算法  1. 最佳(Optimal)置换算法  最佳置换算法是由Belady于1966年提出的一种理论上的算法。其所选择的被淘汰页面,将是以后永不使用的,或许是在最长(未来)时间内不再被访问的页面。采用最佳置换算法,通常可保证获得最低的缺页率。  假定系统为某...

2014-10-23 14:53:25

阅读数:3097

评论数:0

[操作系统]最近最久未使用(LRU)置换算法

4.7.2 最近最久未使用(LRU)置换算法  1. LRU(Least Recently Used)置换算法的描述  2. LRU置换算法的硬件支持  1) 寄存器  为了记录某进程在内存中各页的使用情况,须为每个在内存中的页面配置一个移位寄存器,可表示为R=Rn-1Rn-2Rn-3 … R2R...

2014-10-23 14:51:54

阅读数:2614

评论数:0

[操作系统]两级页表(Two-Level Page Table)

对于要求连续的内存空间来存放页表的问题,可利用将页表进行分页,并离散地将各个页面分别存放在不同的物理块中的办法来加以解决,同样也要为离散分配的页表再建立一张页表,称为外层页表(Outer Page Table),在每个页表项中记录了页表页面的物理块号。下面我们仍以前面的32位逻辑地址空间为例来说明...

2014-10-23 10:22:39

阅读数:3509

评论数:0

[数据结构与算法]基数排序

编程论到极致,核心非代码,即思想。所以,真正的编程高手同时是思想独到及富有智慧(注意与聪明区别)的人。每一个算法都是一种智慧的凝聚或萃取,值得我们学习从而提高自己,开拓思路,更重要的是转换思维角度。其实,我们大多数人都活在“默认状态”下。没有发觉自己的独特可设置选项-----思想。言归正传(呵呵!...

2014-10-20 10:08:01

阅读数:1126

评论数:0

[数据结构与算法]归并排序

归并排序是利用递归和分而治之的技术将数据序列划分成为越来越小的半子表,再对半子表排序,最后再用递归步骤将排好序的半子表合并成为越来越大的有序序列,归并排序包括两个步骤,分别为:      1)划分子表      2)合并半子表      首先我们来讨论归并算法,归并算法将一系列数据放到一个向量中,...

2014-10-20 09:52:53

阅读数:1033

评论数:0

[数据结构与算法]快速排序

上一节的冒泡排序可以说是我们学习第一个真正的排序算法,并且解决了桶排序浪费空间的问题,但在算法的执行效率上却牺牲了很多,它的时间复杂度达到了O(N2)。假如我们的计算机每秒钟可以运行10亿次,那么对1亿个数进行排序,桶排序则只需要0.1秒,而冒泡排序则需要1千万秒,达到115天之久,是不是很吓人。...

2014-10-19 15:43:57

阅读数:1129

评论数:0

[数据结构与算法]简单选择排序算法

简单选择排序:设所排序序列的记录个数为n。i取1,2,…,n-1,从所有n-i+1个记录(R,R[i+1],…,R[n]中找出排序码最小的记录,与第i个记录交换。执行n-1趟 后就完成了记录序列的排序。 代码如下: public void SimpleSelect() ...

2014-10-17 16:16:08

阅读数:1298

评论数:0

[数据结构与算法]C#冒泡排序

1:原理以此比较相邻的两个元素,每次比较完毕最大的一个字跑到本轮的末尾。 目的:按从小到大排序。 方法: 假设存在数组:72, 54, 59, 30, 31, 78, 2, 77, 82, 72 第一轮比较相邻两个元素,如果左边元素大于右边元素,则交换。 72和54比较的结果就是,54在前,72在...

2014-10-17 15:44:05

阅读数:1084

评论数:0

[数据结构与算法]直接插入排序

直接插入排序 每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子列表当中的适当位置,直到全部记录插入完成为止。

2014-10-17 15:36:06

阅读数:997

评论数:0

[数据结构与算法]AVL树的旋转

平衡二叉树在进行插入操作的时候可能出现不平衡的情况,AVL树即是一种自平衡的二叉树,它通过旋转不平衡的节点来使二叉树重新保持平衡,并且查找、插入和删除操作在平均和最坏情况下时间复杂度都是O(log n)       AVL树的旋转一共有四种情形,注意所有旋转情况都是围绕着使得二叉树不平衡的第一个节...

2014-10-16 16:51:05

阅读数:1201

评论数:1

[数据结构与算法]最短路径—Dijkstra算法和Floyd算法

Dijkstra算法1.定义概览Dijkstra(迪杰斯特拉)算法是典型的单源最短路径算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra算法是很有代表性的最短路径算法,在很多专业课程中都作为基本内容有详细的介绍,如数据结构,图...

2014-10-16 13:37:38

阅读数:1085

评论数:0

[数据结构与算法]拓 扑 排 序

拓 扑 排 序    一个较大的工程往往被划分成许多子工程,我们把这些子工程称作活动(activity)。在整个工程中,有些子工程(活动)必须在其它有关子工程完成之后才能开始,也就是说,一个子工程的开始是以它的所有前序子工程的结束为先决条件的,但有些子工程没有先决条件,可以安排在任何时间开始。为了...

2014-10-16 12:50:51

阅读数:1149

评论数:0

[数据结构与算法]最小生成树(普利姆算法、克鲁斯卡尔算法)

给定一个带权的无向连通图,如何选取一棵生成树,使树上所有边上权的总和为最小,这叫最小生成树.求最小生成树的算法(1) 克鲁斯卡尔算法图的存贮结构采用边集数组,且权值相等的边在数组中排列次序可以是任意的.该方法对于边相对比较多的不是很实用,浪费时间.(2) 普里姆算法图的存贮结构采用邻接矩阵.此方法...

2014-10-16 11:56:57

阅读数:1039

评论数:0

[数据结构与算法]图的遍历

转载请注明来源chengyaogen.blog.chinaunix.net 图的遍历是树的遍历的推广,是按照某种规则(或次序)访问图中各顶点依次且仅一次的操作,亦是将网络结构按某种规则线性化的过程。 由于图存在回路,为区别一顶点是否被访问过和避免顶点被多次访问,在遍历过程中,应记下每个访问过的顶点...

2014-10-16 11:24:38

阅读数:818

评论数:0

[数据结构与算法]Huffman树及其应用

2014-10-16 09:46:20

阅读数:1945

评论数:0

[数据结构与算法]树、森林与二叉树的转换

树、森林与二叉树的转换 1、树转换为二叉树由于二叉树是有序的,为了避免混淆,对于无序树,我们约定树中的每个结点的孩子结点按从左到右的顺序进行编号。将树转换成二叉树的步骤是:(1)加线。就是在所有兄弟结点之间加一条连线;(2)抹线。就是对树中的每个结点,只保留他与第一个孩子结点之间的连线,删除它与其...

2014-10-16 09:06:53

阅读数:3369

评论数:1

[MSSQL]不正常关机引起的数据库置疑

不正常关机引起的数据库置疑昨晚因为家里有事需要马上回家,在下班的时候马上就关机(手提电脑),生怕赶不上公交回去,但是Windows7关机关了很久(感觉Windows7关机比WindowsXP关机速度相差太远了)还没有关机完毕,于是本人就拔掉电源,收拾好笔记本电脑就赶公交去了结果回到家,打开SSMS...

2014-10-07 10:25:51

阅读数:1879

评论数:0

[MSSQL]分享一个SQLSERVER脚本(计算数据库中各个表的数据量和每行记录所占用空间)

分享一个SQLSERVER脚本(计算数据库中各个表的数据量和每行记录所占用空间)很多时候我们都需要计算数据库中各个表的数据量和每行记录所占用空间这里共享一个脚本CREATE TABLE #tablespaceinfo ( nameinfo VARCHAR(500) , ...

2014-10-07 10:16:46

阅读数:1229

评论数:1

恢复SQLSERVER被误删除的数据

恢复SQLSERVER被误删除的数据曾经想实现Log Explorer for SQL Server的功能,利用ldf里面的日志来还原误删除的数据这里有一篇文章做到了,不过似乎不是所有的数据类型都支持以下为译文:http://raresql.com/2011/10/22/how-to-recove...

2014-10-07 10:12:06

阅读数:1151

评论数:0

提示
确定要删除当前文章?
取消 删除