自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 资源 (9)
  • 收藏
  • 关注

原创 算法导论 第10章 10.2 链表

一、概念(1)数组的线性序是由数组的下标决定的,链表中的顺序是由各对象中的指针所决定的(2)链表结点结构node *prev;node *next;int key;(3)链表结点node *head;node *nil;//哨兵(4)对链表的操作LIST-SEARCH(L, k)LIST-INSERT(L, x)LIST-DELETE(L, x)

2012-06-29 10:03:37 5111 6

原创 算法导论 第10章 10.1 栈和队列

一、概念1.栈(1)栈实现了后进先出操作。在栈的数组实现中,栈顶指针指向栈顶元素,插入时先修改指针再插入,删除时先取栈顶元素再修改指针。当top[S]=0时,栈中空的。(2)数组栈的结构:int top;//栈顶指针int *s];//指向栈数组(3)在栈上实现的操作STACK-EMPTY(S)//判断栈是否为空PUSH(S, x)            /

2012-06-26 15:43:14 4599 8

原创 算法导论 第9章 排序和顺序统计学算法导论

一、概念第i个顺序统计量是该集合中第i小的元素。当n为奇数时,中位数是出现在i=(n+1)/2处的数。当n为偶数时,中位数分别出现在i=n/2和i=(n+1)/2处。在本文中,忽略n的奇偶性,中位数是指出现在i=(n+1)/2处的数。本文假设集合中的数互异。二、代码#include using namespace std;//书中的程序int length_A

2012-06-25 20:27:50 6856 4

原创 算法导论-9-2-c-带权中位数

算法导论-9-2其它题目见第9章 排序和顺序统计学 题目:说明如何利用一个线性时间的中位数算法(如9.3节中的SELECT),来在最坏情况下O(n)时间内求出n个数的带权中位数思考:step1:利用SELECT中寻找中值的中值的算法,找到主元step2:用主元把数组分为三段,即A[1..q-1] step3:计算A[1..q-1]=0.5的权值和,是否满足题目中的公式

2012-06-25 20:24:25 6425 1

原创 算法导论 9.3-7 O(n)时间求最接近中位数的k个数

题目:给出一个O(n)时间的算法,在给定一个有n个不同数字的集合S以及一个正整数k思考:step1:求出数组的中位数的值O(n)step2:计算数组每个数与中位数差的绝对值,存于另一个数组B中O(n)step3:求出数组B中第k小的数ret O(n)step4:计算数组S中与ret差的绝对值小于ret的数并输出O(n)其中,step4也可以通过划分的方法找出数组S中与r

2012-06-25 14:51:16 6624

原创 算法导论 9.3-6 nlgk时间求k分位数

一、题目对一个含有n个元素的集合来说,所谓k分位数(the kth quantile),就是能把已排序的集合分成k个大小相等的集合的k-1个顺序统计量。给出一个能列出某一集合的k分位数的O(nlgk)时间的算法二、思考令每个子集合的元素个数为t = n / k,A[j]是数组A中下标为j的元素,A(j)是数组是第j大的元素则所求的k分位数是指A(t),A(2t),A(3t)

2012-06-25 12:06:16 7256 2

原创 算法导论 9.3-8 求两个数组的中位数

一、题目设X[1..n]和Y[1..n]为两个数组,每个都包含n个已排好序的数,给出一个求数组X和数组Y中所有2n个元素的中位数的O(lgn)时间的算法二、思路递归求解该问题,解题规模不断减半,最后剩下4个元素时,得到问题的解,本文求的是下中位数,下中位数的特点是:(1)当n为奇数,令n = 2 * m + 1,下中位数是第m+1小的数,数组中有m个数小于下中位数,有m

2012-06-25 09:06:58 7409 18

原创 算法导论-9.3-3-快速排序-最坏时间O(nlgn)

一、题目假定元素的值不同,说明如何才能使快速排序在最坏情况下以O(nlgn)时间运行二、思考要改善最坏情况的下运行时间,就要从划分入手,保证即使是最坏情况,也要尽量均衡地划分。因此,使用SELECT找到中值,再以这个中值为主元进行划分三、代码1.以RANDOMIZED-SELECT作为选择中值的算法//9.3-3#include using name

2012-06-24 19:56:56 6204 3

原创 算法导论-8-3-排序不同长度的数据项

一、题目a)给定一个整数数组,其中不同的整数中包含的数字个数可能不同,但是该数组中,所有整数中总的数字数为n。说明如何在O(n)时间内对该数组进行排序b)给定一个字符串数组,其中不同的串包含的字符个数可能不同,但所有串中总的字符个数为n。说明如何在O(n)时间内对该数组进行排序(注意此处的顺序是指标准的字母顺序,例如,a  二、思路a)先用计数排序算法按数字位数排序O(n)

2012-06-23 15:14:09 3469 2

原创 算法导论8.3-4 O(n)时间内对[0..n^-1]之间的n个数排序

一、题目如何在O(n)时间内,对0到n^2-1之间的n个整数进行排序 二、思路把整数转换为n进制再排序,每个数有两位,每位的取值范围是[0..n-1],再进行基数排序 三、代码#include #include using namespace std;int n, radix, length_A, digit = 2;void Print(int *A, in

2012-06-23 11:27:35 5749

原创 算法导论 7-6 对区间的模糊排序

一、题目考虑这样一种排序问题,即无法准确的知道等排序的各个数字到底是多大.对于其中的每个数字,我们只知道它落在实轴上的某个区间内.亦即,给定的 n 个形如[ai, bi ]的闭区间,其中ai,≤bi .算法的目标是对这些区间进行模糊排序(fuzzy-sort),亦即,产生各区间的一个排序1, i2, i3, i4,…in >,使得存在一个 cj ∈[ai, bi ],满足c1≤c2

2012-06-21 09:19:44 4050 3

原创 算法导论 第8章 线性时间排序

一、概念1.比较排序比较排序是指通过输入元素间的比较来确定各元素次序的排序算法。任何比较排序在最坏情况下都要用O(nlgn)次比较来进行排序合并排序和堆排序是渐近最优的2.非比较排序非比较排序指使用一些非比较的操作来确定排序顺序的排序算法对于非比较排序,下界O(nlgn)不适用计数排序是稳定排序,若n个数据的取值范围是[0..k],则运行时间为O(n+k),

2012-06-20 10:24:08 6577 4

原创 算法导论 第7章 快速排序

一、概念快速排序是基于分治模式的,选择一个数作为主元,经过一遍扫描,所有小于主元的数放在主元的左边,大于主元的数放在主元的右边,这样就划分成了两组数据。然后对两组数分别进行快排。快排的运行时间与划分是否对称有关,关键是如何选择主元。最坏情况下,时间复杂度是O(n^2),最好情况下,时间是O(nlgn)二、程序#include using namespace std;

2012-06-19 11:00:32 7915 4

原创 算法导论 第6章 堆排序

一、概念1.定义(1)堆heap堆是一种数组对象The  (binary) heap  data structure is an array object that can be viewed as a nearly complete binary tree(2)最大堆max-heapfor every node  i  other than the root,A[PARE

2012-06-17 15:42:43 6255 5

原创 在bochs上运行的第一个操作系统(Windows版)

在windows上运行息的操作系统的步骤:.asm->.bim->.img->加载和运行一、制作img镜像文件方法一:1.使用bochs自带的工具bximage.exe生成一个.img文件,生成的是一个全0的空文件,需要往里面写入内容2.创建自己的引导程序boot.asm,这段程序从网上找来的,不知道出处 org 07c00h ; 告诉编译器程序加载到 7c

2012-06-16 15:11:22 8116 6

原创 算法导论6.5-8堆排序-K路合并

一、题目请给出一个时间为O(nlgk)、用来将k个已排序链表合成一个排序链表算法。此处n为所有输入链表中元素的总数。(提示:用一个最小堆来做k路合并)二、步骤step1:取每个链表的第一个元素,构造成一个含有k个元素的堆step2:把根结点的值记入排序结果中。step3:判断根结点所在的链表,若该链表为空,则go to step4,否则go to step5step

2012-06-16 10:39:33 8708 4

转载 虚拟机中的Linux安装VMware Tools

操作过程如下:[root@localhost ~]# cd /[root@localhost /]# lsbin   dev home lost+found misc net proc sbin     srv tftpboot usrboot etc lib   media       mnt   opt root selinux sys tmp

2012-06-13 13:39:40 9861

原创 Linux2.6块设备驱动程序

一、块设备的操作的处理体系结构1.VFS(虚拟文件系统)VFS位于块设备的处理体系结构的上层,提供一个通用的文件模型。VFS和块设备的关系见Linux2.6设备管理系统调用的服务例程调用一个合适的VFS函数,将文件描述符和文件内的偏移量传递给它。2.磁盘高速缓存VFS函数确定所请求的数据是否已经存在磁盘高速缓存中,若存在,就没有必须访问磁盘上的数据了。3.映

2012-06-09 16:21:57 2038

原创 Linux2.6设备管理

一、设备管理与文件管理的关系1.文件操作是对设备操作的组织与抽象设备操作是对文件操作的最终实现二、设备驱动程序模型1./sys -----> 总线 -----> PCI -----> 驱动程序 -----> 串口 -----> 设备2.设备驱动程序模型中的几个主要的层次:(1)总线,见Linux2.6 I/O体系结构(2)PCI总线,见三(3

2012-06-05 14:30:34 1855 1

原创 Linux2.6 I/O体系结构

一、I/O体系结构二、I/O总线1.总线计算机内部大部分硬件设备通过总线连接一台计算机可以有几条总线,可以是不同类型总线与总线之间用桥连接2.I/O总线CPU与I/O设备之间的数据通路通常称为I/O总线其中,地址总线16位,数据总线8位、16位或32位三、I/O端口1.概念每个连接到I/O总线上的调和都有自己的I/O地址集

2012-06-04 11:15:47 1584

原创 Linux2.6虚拟文件系统VFS

一、什么是虚拟文件系统1.VFS是用户的应用程序与文件系统实现之间的抽象层2.VFS支持以下三种类型的文件系统(1)磁盘文件系统(2)网络文件系统(3)特殊文件系统二、通用文件系统模型1.VFS的主要思想是引入一个文件系统模型,这个模式能够表示所有支持的文件系统2.通用文件模型的构成(1)超级块super_block:存放

2012-06-01 22:13:12 1430

CPPUTest 3.6

开源的UT框架 CPPUTest 3.6 用于单元测试 如何使用该框架可参考本人博客

2014-11-15

自己动手写操作系统

《自己动手写操作系统》,PDF+源码,杨文博著。只有前三章

2013-08-05

VC++和VS写的小游戏贪吃蛇

用MFC实现的小游戏贪吃蛇,包含多个版本,和不同的游戏规则。 大部分是VC++6.0,也有VS2008 随便写的,没有经过很好的模块设计,代码有点乱

2012-06-12

背包问题九讲

P09: 背包问题问法的变化 P08: 泛化物品 P07: 有依赖的背包问题 P06: 分组的背包问题 P05: 二维费用的背包问题 P04: 混合三种背包问题 P03: 多重背包问题 P02: 完全背包问题 P01: 01背包问题

2012-05-14

openGL的配置文件

openGL的配置文件,包含:gl.h glaux.h glext.h glu.h glut32.dll glut32.lib glut.dll glut.h glut.lib

2011-04-08

windows下的远程控制工具vncviewer

windows下的远程控制工具vncviewer

2011-04-08

IIS配置所需要的软件fcgisetup_1.5_x86_rtw.zip

IIS配置所需要的软件fcgisetup_1.5_x86_rtw.zip

2011-04-08

数据结构演示软件,用C和pascal语言

数据结构演示软件,用C和pascal语言

2011-04-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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