`
touchmm
  • 浏览: 1003349 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

考研复习(8)-图的基本操作

阅读更多
一。图的储存结构
1.临接矩阵表示
易确认两任意顶点是否有边,要确定有多少条则要遍历全图
适合稠密图
#include <stdio.h>
#include <stdlib.h>
#define MAXVEX 100
#define inf 2000000000
typedef char vertexType;
struct vertex
{
int num;
vertexType data;
};
typedef struct graph
{
struct vertex vexs[MAXVEX];//vertex
int edges[MAXVEX][MAXVEX];//adjacency matrix
}adjmax;
2.临接表
无向图有n个顶点,e条边,则临接表需要n个结点哥2e个表节点,适合稀疏图;
无向图中vi的度为第i个链表中的结点数;
有向图中vi的出度为第i个链表中的结点数,求入度需遍历全图,可建立逆临接表;
易找到任一顶点的第一哥邻接点和下一个临接点,但搜索vi和vj之间是否有边或弧需搜索第i个或第j个链表。
#include <stdio.h>
#include <stdlib.h>
#define MAXVEX 100
#define inf 2000000000
typedef char vertexType;
struct edgeNode{
int from;
int weight;
struct edgeNode *next;
vertexType data;
};
typedef struct vexnode
{
vertexType data;
int No;
struct edgeNode *link;
}adjlist[MAXVEX];
二。两种遍历
深搜:
类似于树的先根遍历
//deep first search
void dfs(adjlist adj,int v,int visited[])
//adj is a adjlist, v is the No. of first point,visited is a assistant array
{
int i;
struct edgeNode *p;
visited[v]=1;
printf("[%d,%c]",v,adj[v].data);
p=adj[v].link;
while(p!=NULL)
{
if(visited[p->from]==0) dfs(adj,p->from,visited);
p=p->next;
}
}
宽搜
类似树的层次遍历
访问v之后依次访问各个未曾访问过的临接点,然后分别从这些临接点出发依次访问他们的临接点
//broad first search
void bfs(adjlist adj,int v,int visited[])
{
struct edgeNode *p;
visited[v]=1;
int front=-1,rear=-1;
int i;
rear++;
printf("[%d,%c]",v,adj[v].data);
queue[rear]=v;
while(front!=rear)
{
front=(front+1)%MAXVEX;
i=queue[front];
p=adj[i].link;
while(p!=NULL)
{
if(visited[p->from]==0)
{
printf("..%d,%d:\n",p->from,visited[p->from]);
visited[p->from]=1;
printf("[%d,%c]",p->from,adj[p->from].data);
rear=(rear+1)%MAXVEX;
queue[rear]=p->from;
}
p=p->next;
}
}


}

分享到:
评论

相关推荐

    王道2019年操作系统计算机考研复习指导PDF

    王道的2019操作系统考研复习资料,希望对2019计算机考研的同学有帮助,绝对不存在欺骗,可能清晰度不够高,但是基本上不影响使用

    天勤2019操作系统计算机考研复习指导PDF

    天勤的2019操作系统高分笔记考研复习资料,希望对2019计算机考研的同学有帮助,绝对不存在欺骗,可能清晰度不够高,但是基本上不影响使用

    数据结构考研复习精编

    (一)线性表的定义和基本操作 (二)线性表的实现 1.顺序存储结构 2.链式存储结构 3.线性表的应用 二、栈、队列和数组 (一)栈和队列的基本概念 (二)栈和队列的顺序存储结构 (三)栈和队列的链式存储结构 (四...

    操作系统考研学习笔记.zip

    本人2020年考研,考试科目为北京邮电大学803,包括计算机组成原理,数据结构,操作系统,计算机网络。本文档是我的笔记扫描版,全部是我学习过程中的对教材,辅导书以及错题,难题的总结。可以用作考研学生的复习...

    计算机组成原理+数据结构+计算机网络+操作系统考研学习笔记.rar

    本人2020年考研,考试科目为北京邮电大学803,包括计算机组成原理,数据结构,操作系统,计算机网络。本文档是我的笔记扫描版,全部是我学习过程中的对教材,辅导书以及错题,难题的总结。可以用作考研学生的复习...

    2016计算机考研讲义+网络+数据结构+组成原理

    2016计算机考研的四门专业课讲义,包含C语言,计算机网络,数据结构,组成原理,都是总结的基本考点,很详细

    考研学习笔记序列之数据结构(线性表的定义和基本操作)

    这是我复习过程中的一些资料,不过还没整理好,为了方便存取,需要的朋友可以下载,不需要资源分。

    计算机网络考研学习笔记.zip

    本人2020年考研,考试科目为北京邮电大学803,包括计算机组成原理,数据结构,操作系统,计算机网络。本文档是我的笔记扫描版,全部是我学习过程中的对教材,辅导书以及错题,难题的总结。可以用作考研学生的复习...

    数据结构考研学习笔记.zip

    本人2020年考研,考试科目为北京邮电大学803,包括计算机组成原理,数据结构,操作系统,计算机网络。本文档是我的笔记扫描版,全部是我学习过程中的对教材,辅导书以及错题,难题的总结。可以用作考研学生的复习...

    计算机组成原理考研学习笔记.zip

    本人2020年考研,考试科目为北京邮电大学803,包括计算机组成原理,数据结构,操作系统,计算机网络。本文档是我的笔记扫描版,全部是我学习过程中的对教材,辅导书以及错题,难题的总结。可以用作考研学生的复习...

    计算机 考研入学攻略

    计算机学科专业基础综合考试涵盖数据机构、计算机组成原理、操作系统和计算机网络等学科专业基础课程。要求考生比较系统地掌握上述专业基础课程的概念、基本原理和方法,能够运用所学的基本原理和基本方法分析、判断...

    2010年计算机考研大纲详解

    详细的考研大纲,数据结构,操作系统,计算机组成原理,计算机网络,各科基本考研复习内容

    操作系统各部分内容详细思维导图.zip

    包括操作系统各部分内容,适合考试及复习使用。搭配Xmind软件可打开 操作系统的概念、特征、功能和提供的服务  (二)操作系统的发展与分类  (三)操作系统的运行环境  1.内核态与用户态  2.中断、异常  3....

    南京大学OS复习资料

    这是一套南京大学期末考试的复习资料,内附有南大的部分讲义和习题解答。还附有一些名牌高校的考研试题。其中操作系统笔记是有学生整理,基本涵盖所有本科os考试范围。

    考研复试c语言程序设计的细节总结.doc

    计算机/软件类研究生复试机试一般都会采用c语言作为标准语言,对于长期未使用c语言的考生来说需要先复习一下c语言的基本操作如输入输出的格式控制、字符串操作函数、运算符优先级等等知识点,这样才不会出现有了编程...

    操作系统总结.doc

    1.1 操作系统基本概念 1.1.1 操作系统概念 计算机系统自下而上可分为:硬件、操作系统、应用程序和用户;操作系统控制和协调各用户的应用程序对硬件的分配与使用;它是系统软件 1.1.2 操作系统的特征 1.并发:两...

    操作系统课程PPT

    收集的操作系统的PPT,期末考试基本按照他复习的,知识点很全

    数据结构高分笔记

    因此,相信本书会给读者的考研复习带来很大的帮助。 另外,本书配有微信公众号来收集读者的反馈,这也是本书不断更新完善的重要途径,即根据考生最需要的内容来作为调整讲解的依据。 本书特点: (1)精心挑选出...

    数据结构总结.doc

    5.抽象数据类型(ADT):包括数据对象、数据关系和基本操作集 6.数据结构:逻辑结构、存储结构和数据的运算 1.1.2 数据结构的三要素 1.逻辑结构:分为线性和非线性结构 2.存储结构(物理结构):包括顺序、链式...

    PowerWord.exe

    可个性化定制雅思、考研、四六级、美剧、时尚等英语资讯精选文章,精简生词本功能,优化生词本界面,提高生词复习和记忆效率,独特的一键退出功能,提供给用户快速退出应用的选择,化繁为简,去掉语音、拍照取词,...

Global site tag (gtag.js) - Google Analytics