自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 资源 (13)
  • 收藏
  • 关注

转载 进程还是线程?是一个问题!

<br />架构设计:进程还是线程?是一个问题!<br /> <br />2009-03-18 作者:编程随想 来源:编程随想的博客 <br />就像莎士比亚的“To be, or not to be, that is the question”始终困扰着哈姆雷特,对于“进程还是线程?”这个问题,也经常困扰着那些进行软件架构设计的家伙。所以今天打算聊一下我对这个问题的体会。假如你还搞不清楚线程和进程的区别,请先找本操作系统原理的书好好拜读一下,再回来看帖。<br />由于这个问题很容易引发口水战,事先声明如

2010-12-01 13:34:00 339

转载 详细剖析Linux进程调度时机

详细剖析Linux进程调度时机作者: 佚名,  出处:51cto, 责任编辑: 白志飞, 2010-03-09 09:44  Linux进程调度是一个叫Schedule()的函数来具体来完成的,它存在于Linux内核空间中。什么时候使用这个函数,具体时机是怎么样的呢?   Linux在众多进程中是怎么进行调度的,这个牵涉到Linux进程调度时机的概念,由Linux内核中Schedule()的函数来决定是否要进行进程的切换,如果要切换的话,切换到哪个进程等等。  Linux进程调度时机主要有:  1、进程

2010-08-08 15:40:00 283

原创 APUE读书笔记

<br />第一章       UNIX基础知识<br />1.1.        引言<br />所有的操作系统(内核)都需要向他们运行的程序提供各种服务,包括执行新程序、打开文件、读文件、分配存储区以及获得当前时间等。我们要做的便是学会使用操作系统为我们提供的这些服务。<br />1.2.   UNIX体系结构 <br /> <br />1.操作系统的定义:    <br />       在严格意义上,操作系统是一种软件,它控制计算机硬件资源,提供程序运行环境。这种软件就叫作内核,它相对较小,位于环境

2010-08-03 18:54:00 324

转载 windows系统中dll文件详解

Windows的系统中DLL文件详解(很通俗)(2008-09-05 15:11:09)转载 标签:杂谈分类:编程Windows世界中,有无数块活动的大陆,它们都有一个共同的名字——动态链接库。现在就走进这些神奇的活动大陆,找出它们隐藏已久的秘密吧!  初窥门径:Wi

2010-05-27 21:48:00 402

转载 __stdcall,__cdecl,_cdecl,_stdcall,。__fastcall,_fastcall 区别简介

                                          __stdcall,__cdecl,_cdecl,_stdcall,。__fastcall,_fastcall 区别简介__stdcall和__cdecl两者的区别:#define CALLBACK __stdcall#define WINAPI __stdcall#defi

2010-05-26 23:06:00 247

转载 堆和栈的区别

堆和栈的区别 (转贴) 非本人作也!因非常经典,所以收归旗下,与众人阅之!原作者不祥! 堆和栈的区别一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束

2010-05-12 23:40:00 195

转载 二进制文件与文本文件的区别

一. 基本知识:--------------------------------------------------转-----------------------------------------------------------------------------------------------1. 二进制文件与文本文件的区别:将文件看作是由一个一个字节(byte) 组成的, 那么文本

2010-04-11 16:59:00 518

转载 硬盘安装UBUNTU 9.10

Windows XP 环境下用硬盘安装 Ubuntu 9.10 硬盘安装UBUNTU 9.10 一,     下载Grub4Dos: http://download.gna.org/grub4dos/;(官方地址) 二,     提取grub4dos中的“grldr”,“menu.lst”到C盘根目录; 三,     将“ubuntu-9.10-dvd-i386.iso”放在D盘(

2010-03-20 13:32:00 280

学生成绩管理系统 VC版

学生成绩管理系统VC版。。。。。。。连接ACCESS

2010-01-07

数据结构课程设计 程序分析

1. 需求分析 1) 问题描述 读入一个C程序,统计程序中代码、注释和空行数以及函数的个数和平均行数,并利用统计信息分析评价该程序风格。 2) 基本要求如下: (1)、把C程序文件按字符顺序读入源程序; (2)、边读入程序,边识别统计代码行、注释行和空行,同时还要识别函数的开始和结束,以便统计其个数及平均行数。 (3)、程序风格分为代码注释和空行三方面。每方面分A、B、C、D四个等级。 A B C D 代码(函数的平均长度) 10~15行 8~9或16~20 5~7或21~24 24 注释(占总行数比例) 15~25% 10~14或26~30% 5~9或31~35% 35% 空行(占总行数比率) 15~25% 10~14或26~30% 5~9或31~35% 35% 3)输入输出范例 以下是对程序文件ProgAnal.C分析的输出结果示例: The results of analysing program file "ProgAnal.C": Lines of code :180 Lines of comments: 63 Blank lines: 52 Code Comments Space 61% 21% 18% The program includes 9 functions. The average length of a section of code is 12.9 lines. Grade A: Excellent routine size style. Grade A: Excellent commenting style. Grade A: Excellent white space style.

2010-01-07

TCP聊天室 VC版 含实验报告

一、 系统概要 1、 开发平台: Windows XP, Visual C++ 6.0 2、 系统简单描述: 这是一个用VC做的简单的聊天系统。在此系统中,采用TCP协议,程序分为服务器端各客户端。系统能实现简单的聊天室功能包括一对多,而且同时也支持一对一,即私聊功能。在系统运行中,用户可以随时更改自己的用户名。功能虽然单一但也能够满足聊天的基本功能。 二、 通信规范的制作 程序中定义了一个结构体MYMESSAGE来作为信息传送的载体 struct MESSAGE { char flag; //作为标志来区别所发送的信息; char data[100];//发送的内容; char addr[25]; //客户IP地址和端口号 }; 三、 主要模块的设计分析 服务器端: 系统流程如下: 设计思路: 基于TCP/IP的通信基本上都是利用SOCKET套接字进行数据通讯,程序一般分为服务器端和用户端两部分。设计思路(VC6.0下): 第一部分 服务器端 一、创建服务器套接字(create)。 二、服务器套接字进行信息绑定(bind),并开始监听连接(listen)。 三、接受来自用户端的连接请求(accept)。 四、开始数据传输(send/receive)。 五、关闭套接字(closesocket)。 第二部分 客户端 一、创建客户套接字(create)。 二、与远程服务器进行连接(connect),如被接受则创建接收进程。 三、开始数据传输(send/receive)。 四、关闭套接字(closesocket)。

2010-01-04

编译原理实验 编译原理

对PL/0作以下修改扩充: (1)增加单词:保留字 ELSE,FOR,TO,DOWNTO,RETURN 运算符 +=,-=,++,-- (2)修改单词:不等号# 改为 <> (3)增加条件语句的ELSE子句 2. 课程设计 基本内容(成绩范围:“中”、“及格”或“不及格”) (1)扩充赋值运算:+= 和 -= (2)扩充语句(Pascal的FOR语句): ①FOR <变量>:=<表达式> TO <表达式> DO <语句> ②FOR <变量>:=<表达式> DOWNTO <表达式> DO <语句> 其中,语句①的循环变量的步长为1, 语句②的循环变量的步长为-1。 选做内容(成绩评定范围扩大到:“优”和“良”) (1)增加运算:++ 和 --。 (2)增加类型:① 字符类型; ② 实数类型。 (3)扩充函数:① 有返回值和返回语句;② 有参数函数。 (4)增加一维数组类型(可增加指令)。 (5)其他典型语言设施。

2010-01-04

操作系统实验 操作系统实验报告 文件管理 进程管理等

操作系统实验(含实验报告) 1、进程调度 2、作业调度 3、主存空间的分配与回收 4、文件系统 一、 实验目的 用高级语言编写和调试一个进程调度程序,以加深对进程的概念及进程调度算法的理解。 二、实验内容和要求 编写并调试一个模拟的进程调度程序,采用“简单时间片轮转法”调度算法对五个进程进行调度。 每个进程有一个进程控制块( PCB)表示。进程控制块可以包含如下信息:进程名、到达时间、需要运行时间、已运行时间、进程状态等等。 进程的到达时间及需要的运行时间可以事先人为地指定(也可以由随机数产生)。进程的到达时间为进程输入的时间。 进程的运行时间以时间片为单位进行计算。 每个进程的状态可以是就绪 W(Wait)、运行R(Run)两种状态之一。 就绪进程获得 CPU后都只能运行一个时间片。用运行时间加1来表示。 如果运行一个时间片后,进程的已占用 CPU时间已达到所需要的运行时间,则撤消该进程,如果运行一个时间片后进程的已占用CPU时间还未达所需要的运行时间,也就是进程还需要继续运行,此时应分配时间片给就绪队列中排在该进程之后的进程,并将它插入就绪队列队尾。 每进行一次调度程序都打印一次运行进程、就绪队列、以及各个进程的 PCB,以便进行检查。 重复以上过程,直到所要进程都完成为止。 三、实验主要仪器设备和材料 硬件环境:IBM-PC或兼容机 软件环境:C语言编程环境 四、实验原理及设计方案 1、进程调度算法:采用多级反馈队列调度算法。其基本思想是:当一个新进程进入内在后,首先将它放入第一个队列的末尾,按FCFS原则排队等待高度。当轮到该进程执行时,如能在该时间片内完成,便可准备撤离系统;如果它在一个时间片结束时尚为完成,调度程序便将该进程转入第二队列的末尾,再同样地按FCFS原则等待调度执行,以此类推。 2、实验步骤: (1)按先来先服务算法将进程排成就绪队列。 (2)检查所有队列是否为空,若空则退出,否则将队首进程调入执行。 (3)检查该运行进程是否运行完毕,若运行完毕,则撤消进程,否则,将该进程插入到下一个逻辑队列的队尾。 (4)是否再插入新的进程,若是则把它放到第一逻辑队列的列尾。 (5)重复步骤(2)、(3)、(4),直到就绪队列为空。 。。。。。。。。。。。。。。。。。。。。。。

2010-01-04

操作系统实验报告 进程调度 作业调度等

操作系统实验报告 1、进程调度 2、作业调度 3、作业调度4、文件系统 一、 实验目的 用高级语言编写和调试一个进程调度程序,以加深对进程的概念及进程调度算法的理解。 二、实验内容和要求 编写并调试一个模拟的进程调度程序,采用“简单时间片轮转法”调度算法对五个进程进行调度。 每个进程有一个进程控制块( PCB)表示。进程控制块可以包含如下信息:进程名、到达时间、需要运行时间、已运行时间、进程状态等等。 进程的到达时间及需要的运行时间可以事先人为地指定(也可以由随机数产生)。进程的到达时间为进程输入的时间。 进程的运行时间以时间片为单位进行计算。 每个进程的状态可以是就绪 W(Wait)、运行R(Run)两种状态之一。 就绪进程获得 CPU后都只能运行一个时间片。用运行时间加1来表示。 如果运行一个时间片后,进程的已占用 CPU时间已达到所需要的运行时间,则撤消该进程,如果运行一个时间片后进程的已占用CPU时间还未达所需要的运行时间,也就是进程还需要继续运行,此时应分配时间片给就绪队列中排在该进程之后的进程,并将它插入就绪队列队尾。 每进行一次调度程序都打印一次运行进程、就绪队列、以及各个进程的 PCB,以便进行检查。 重复以上过程,直到所要进程都完成为止。 三、实验主要仪器设备和材料 硬件环境:IBM-PC或兼容机 软件环境:C语言编程环境 四、实验原理及设计方案 1、进程调度算法:采用多级反馈队列调度算法。其基本思想是:当一个新进程进入内在后,首先将它放入第一个队列的末尾,按FCFS原则排队等待高度。当轮到该进程执行时,如能在该时间片内完成,便可准备撤离系统;如果它在一个时间片结束时尚为完成,调度程序便将该进程转入第二队列的末尾,再同样地按FCFS原则等待调度执行,以此类推。 2、实验步骤: (1)按先来先服务算法将进程排成就绪队列。 (2)检查所有队列是否为空,若空则退出,否则将队首进程调入执行。 (3)检查该运行进程是否运行完毕,若运行完毕,则撤消进程,否则,将该进程插入到下一个逻辑队列的队尾。 (4)是否再插入新的进程,若是则把它放到第一逻辑队列的列尾。 (5)重复步骤(2)、(3)、(4),直到就绪队列为空。 .................

2010-01-04

操作系统实验(主存的分配与回收)

一、实验目的 熟悉主存的分配与回收。理解在不同的存储管理方式下,如何实现主存空间的分配与回收。掌握动态分区分配方式中的数据结构和分配算法及动态分区存储管理方式及其实现过程。 二、实验内容和要求 主存的分配和回收的实现是与主存储器的管理方式有关的。所谓分配,就是解决多道作业或多进程如何共享主存空间的问题。所谓回收,就是当作业运行完成时将作业或进程所占的主存空间归还给系统。 可变分区管理是指在处理作业过程中建立分区,使分区大小正好适合作业的需求,并且分区个数是可以调整的。当要装入一个作业时,根据作业需要的主存量查看是否有足够的空闲空间,若有,则按需要量分割一个分区分配给该作业;若无,则作业不能装入,作业等待。随着作业的装入、完成,主存空间被分成许多大大小小的分区,有的分区被作业占用,而有的分区是空闲的。 实验要求使用可变分区存储管理方式,分区分配中所用的数据结构采用空闲分区表和空闲分区链来进行,分区分配中所用的算法采用首次适应算法、循环首次适应算法、最佳适应算法三种算法来实现主存的分配与回收。同时,要求设计一个实用友好的用户界面,并显示分配与回收的过程。 三、实验主要仪器设备和材料 硬件环境:IBM-PC或兼容机 软件环境:VC++ 6.0 四、实验原理及设计方案 1、循环首次适应算法 在该算法中,把主存中所有空闲区按其物理地址递增的次序排列。在为作业分配存储空间时,从上次找到的空闲分区的下一个空闲分区开始查找,直到找到第一个能满足要求的空闲区,从中划出与请求的大小相等的存储空间分配给作业,余下的空闲区仍留在空闲区表或链中。 2、 实验步骤 (1)初始化空闲分区; (2)反复对现有的空闲分区进行进程创建和撤消,即内存分配和回收; (3)退出。

2010-01-04

操作系统实验(多道作业调度)

一、实验目的 本实验要求学生模拟作业调度的实现,用高级语言编写和调试一个或多个作业调度的模拟程序,了解作业调度在操作系统中的作用,以加深对作业调度算法的理解。 二、实验内容和要求 1、编写并调度一个多道程序系统的作业调度模拟程序。   作业调度算法:采用基于先来先服务的调度算法。可以参考课本中的方法进行设计。 对于多道程序系统,要假定系统中具有的各种资源及数量、调度作业时必须考虑到每个作业的资源要求。 三、实验主要仪器设备和材料 硬件环境:IBM-PC或兼容机 软件环境:C语言编程环境 四、实验原理及设计方案 采用多道程序设计方法的操作系统,在系统中要经常保留多个运行的作业,以提高系统效率。作业调度从系统已接纳的暂存在输入井中的一批作业中挑选出若干个可运行的作业,并为这些被选中的作业分配所需的系统资源。对被选中运行的作业必须按照它们各自的作业说明书规定的步骤进行控制。 采用先来先服务算法算法模拟设计作业调度程序。 (1)、作业调度程序负责从输入井选择若干个作业进入主存,为它们分配必要的资源,当它们能够被进程调度选中时,就可占用处理器运行。作业调度选择一个作业的必要条件是系统中现有的尚未分配的资源可满足该作业的资源要求。但有时系统中现有的尚未分配的资源既可满足某个作业的要求也可满足其它一些作业的要求,那么,作业调度必须按一定的算法在这些作业中作出选择。先来先服务算法是按照作业进入输入井的先后次序来挑选作业,先进入输入井的作业优先被挑选,当系统中现有的尚未分配的资源不能满足先进入输入井的作业时,那么顺序挑选后面的作业。 (2) 假定某系统可供用户使用的主存空间共100k,并有5台磁带机。 3)流程图:

2010-01-04

操作系统实验(进程调度)

一、 实验目的 用高级语言编写和调试一个进程调度程序,以加深对进程的概念及进程调度算法的理解。 二、实验内容和要求 编写并调试一个模拟的进程调度程序,采用“简单时间片轮转法”调度算法对五个进程进行调度。 每个进程有一个进程控制块( PCB)表示。进程控制块可以包含如下信息:进程名、到达时间、需要运行时间、已运行时间、进程状态等等。 进程的到达时间及需要的运行时间可以事先人为地指定(也可以由随机数产生)。进程的到达时间为进程输入的时间。 进程的运行时间以时间片为单位进行计算。 每个进程的状态可以是就绪 W(Wait)、运行R(Run)两种状态之一。 就绪进程获得 CPU后都只能运行一个时间片。用运行时间加1来表示。 如果运行一个时间片后,进程的已占用 CPU时间已达到所需要的运行时间,则撤消该进程,如果运行一个时间片后进程的已占用CPU时间还未达所需要的运行时间,也就是进程还需要继续运行,此时应分配时间片给就绪队列中排在该进程之后的进程,并将它插入就绪队列队尾。 每进行一次调度程序都打印一次运行进程、就绪队列、以及各个进程的 PCB,以便进行检查。 重复以上过程,直到所要进程都完成为止。 三、实验主要仪器设备和材料 硬件环境:IBM-PC或兼容机 软件环境:C语言编程环境 四、实验原理及设计方案 1、进程调度算法:采用多级反馈队列调度算法。其基本思想是:当一个新进程进入内在后,首先将它放入第一个队列的末尾,按FCFS原则排队等待高度。当轮到该进程执行时,如能在该时间片内完成,便可准备撤离系统;如果它在一个时间片结束时尚为完成,调度程序便将该进程转入第二队列的末尾,再同样地按FCFS原则等待调度执行,以此类推。 2、实验步骤: (1)按先来先服务算法将进程排成就绪队列。 (2)检查所有队列是否为空,若空则退出,否则将队首进程调入执行。 (3)检查该运行进程是否运行完毕,若运行完毕,则撤消进程,否则,将该进程插入到下一个逻辑队列的队尾。 (4)是否再插入新的进程,若是则把它放到第一逻辑队列的列尾。 (5)重复步骤(2)、(3)、(4),直到就绪队列为空。

2010-01-04

计算机网络习题答案(第五版)

第1章 概 述(P22) 1、计算机网络的发展可划分为几个阶段?每个阶段各有何特点? 答:计算机网络的发展可分为以下四个阶段。 (1)面向终端的计算机通信网:其特点是计算机是网络的中心和控制者,终端围绕中心计算机分布在各处,呈分层星型结构,各终端通过通信线路共享主机的硬件 和软件资源,计算机的主要任务还是进行批处理,在20世纪60年代出现分时系统后,则具有交互式处理和成批处理能力。 (2)以分组交换网为中心的多主机互连的计算机网络系统:分组交换网由通信子网和资源子网组成,以通信子网为中心,不仅共享通信子网的资源,还可共享资源子网的硬件和软件资源。网络的共享采用排队方式,即由结点的分组交换机负责分组的存储转发和路由选择,给两个进行通信的用户段续(或动态)分配传输带宽,这样就可以大大提高通信线路的利用率,非常适合突发式的计算机数据。 (3)具有统一的网络体系结构,遵循国际标准化协议的计算机网络:为了使不同体系结构的计算机网络都能互联,国际标准化组织ISO提出了一个能使各种计算机在世界范围内互联成网的标准框架—开放 系统互连基本参考模型OSI.。这样,只要遵循OSI标准,一个系统就可以和位于世界上任何地方的、也遵循同一标准的其他任何系统进行通信。 (4)高速计算机网络:其特点是采用高速网络技术,综合业务数字网的实现,多媒体和智能型网络的兴起。 2、试简述分组交换的特点 答:分组交换实质上是在“存储-转发”基础上发展起来的。它兼有电路交换和报文交换的优点。分组交换在线路上采用动态复用技术传送按一定长度分割为许多小段的数据——分组。每个分组标识后,在一条物理线路上采用动态复用的技术,同时传送多个数据分组。把来自用户发端的数据暂存在交换机的存储器内,接着在网内转发。到达接收端,再去掉分组头将各数据字段按顺序重新装配成完整的报文。分组交换比电路交换的电路利用率高,比报文交换的传输时延小,交互性好。 3、试从多个方面比较电路交换、报文交换和分组交换的主要优缺点。 答: (1)电路交换:电路交换就是计算机终端之间通信时,一方发起呼叫,独占一条物理线路。当交换机完成接续,对方收到发起端的信号,双方即可进行通信。在整个通信过程中双方 一直占用该电路。它的特点是实时性强,时延小,交换设备成本较低。但同时也带来线路利用率低,电路接续时间长,通信效率低,不同类型终端用户之间不能通信 等缺点。电路交换比较适用于信息量大、长报文,经常使用的固定用户之间的通信。 (2)报文交换:将用户的报文存储在交换机的存储器中。当所需要的输出电路空闲时,再将该报文发向接收交换机或终端,它以“存储——转发”方式在网内传输数据。报文交换的 优点是中继电路利用率高,可以多个用户同时在一条线路上传送,可实现不同速率、不同规程的终端间互通。但它的缺点也是显而易见的。以报文为单位进行存储转 发,网络传输时延大,且占用大量的交换机内存和外存,不能满足对实时性要求高的用户。报文交换适用于传输的报文较短、实时性要求较低的网络用户之间的通 信,如公用电报网。 (3)分组交换:分组交换实质上是在“存储——转发”基础上发展起来的。它兼有电路交换和报文交换的优点。分组交换在线路上采用动态复用技术传送按一定长度分割为许多小段 的数据——分组。每个分组标识后,在一条物理线路上采用动态复用的技术,同时传送多个数据分组。把来自用户发端的数据暂存在交换机的存储器内,接着在网内 转发。到达接收端,再去掉分组头将各数据字段按顺序重新装配成完整的报文。分组交换比电路交换的电路利用率高,比报文交换的传输时延小,交互性好。 8、 计算机网络可从哪几个方面进行分类? 答: 从网络的交换功能进行分类:电路交换、报文交换、分组交换和混合交换; 从网络的拓扑结构进行分类:集中式网络、分散式网络和分布式网络; 从网络的作用范围进行分类:广域网WAN、局域网LAN、城域网MAN; 从网络的使用范围进行分类:公用网和专用网。 9、计算机网络中的主干网和本地接入网各有何特点? 答:主干网络一般是分布式的,具有分布式网络的特点,其中任何一个结点都至少和其它两个结点直接相连;本地接入网一般是集中式的,具有集中式网络的特点,所有的信息流必须经过中央处理设备(交换结点),链路从中央交换结点向外辐射。 10、 计算机网络有哪几部分组成? 答:一个计算机网络应当有三个主要的组成部分: (1)若干主机,它们向用户提供服务; (2)一个通信子网,它由一些专用的结点交换机和连接这些结点的通信链路所组成的; (3)一系列协议,这些协议为主机之间或主机和子网之间的通信而用的。 11、试在下列条件下比较电路交换和分组交换。要传送的报文共x(bit),从源站到目的站共经过k段链路,每段链路的传播时延为d(s),数据率为 C(bit/s)。在电路交换时电路的建立时间为s(s)。在分组交换时分组长度为p(bit),且各结点的排队等待时间可忽略不计。问在怎样的条件下,分组交换的时延比电路交换的要小? 答: 对电路交换,当t=s时,链路建立; 当t=s+x/C,发送完最后一bit; 当t=s+x/C+kd,所有的信息到达目的地。 对分组交换,当t=x/C, 发送完最后一bit; 为到达目的地,最后一个分组需经过k-1个分组交换机的转发,。。。。。。。。。。。。。。。。。。

2009-12-15

图的抽象数据类型实现

一、 题目:图的抽象数据类型实现 利用VC++的工作环境实现教材里图的基本抽象数据类型。按照课本的要求运用c语言以及数据结构课程所学的知识,设计合理的数据存储结果,实现图的基本操作。 二、 抽象数据类型定义以及各基本操作的简要描述 ADT MGraph{ 数据对象:n=n是具有相同特征的数据元素集合,称为顶点集。 数据关系:DR={<v,w>|v,w∈n且<v,w>表示从v指向w的弧} 基本操作: CreateMGraph 初始条件:n是图的顶点集,e是图的边集 操作结果:按和n的e定义构造图G DestroyGraph 初始条件: 图G存在 操作结果: 销毁图G GetVex 初始条件: 图G存在,v是G中某个顶点 操作结果: 返回v的值 LocateVex 初始条件:图G存在,v和G中顶点有相同特征 操作结果:若G中存在顶点v,则返回该顶点再图中的位置;否则返回空 PutVex 初始条件: 图G存在,v是G中某个顶点 操作结果: 对v赋值u FirstAdjVex 初始条件: 图G存在,v是G中某个顶点 */ 操作结果: 返回的第一个邻接顶点。若顶点在G中没有邻接顶点,则返回空 NextAdjVex 初始条件: 图G存在,v是G中某个顶点,w是v的邻接顶点 操作结果: 返回v(相对w)的下一个邻接顶点。若w是v的最后一个邻接点,则返回空 InsertVex 初始条件: 图G存在,v和图G中顶点有相同特征 操作结果: 在图G中增添新顶点v(不增添与顶点相关的边,留待InsertArc()去做) DeleteVex 初始条件: 图G存在,v是G中某个顶点 操作结果: 删除G中顶点v及其相关的弧 InsertArc 初始条件: 图G存在,v和W是G中两个顶点 操作结果: 在G中增添弧<v,w> DeleteArc 初始条件: 图G存在,v和w是G中两个顶点 操作结果: 在G中删除弧<v,w> DFSTraverseM 初始条件:图G存在 操作结果:对图进行深度优先遍历 BFSTraverseM 初始条件:图G存在 操作结果:对图进行广度优先遍历 }ADT MGraph

2009-12-15

道法自然源码(面向对象实践指南)

道法自然源码(面向对象实践指南),王咏武的《道法自然》源码,该书的源码下载网站貌似已经无法登陆了。。。

2009-12-08

接口实验报告 接口与通信实验

通信接口实验报告(8259A,电子钟,并行通信等)

2009-12-08

空空如也

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

TA关注的人

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