数据结构问题 在邻接表中啥是表节点?啥是表头节点?啥是头节点?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构问题 在邻接表中啥是表节点?啥是表头节点?啥是头节点?相关的知识,希望对你有一定的参考价值。
邻接表,存储方法跟树的孩子链表示法相类似,是一种顺序分配和链式分配相结合的存储结构。如这个表头结点所对应的顶点存在相邻顶点,则把相邻顶点依次存放于表头结点所指向的单向链表中。
对于无向图来说,使用邻接表进行存储也会出现数据冗余,表头结点A所指链表中存在一个指向C的表结点的同时,表头结点C所指链表也会存在一个指向A的表结点。
数据结构中,在单链表的第一个结点之前附设一个结点,它没有直接前驱,称之为头结点。
扩展资料:
头结点是链表里面第一个结点,他的数据域可以不存放任何信息(有时候也会存放链表的长度等等信息),他的指针区域存放的是链表中第一个数据元素的结点(就是传说中的首元结点)存放的地址。
1、防止单链表是空的而设的.当链表为空的时候,带头结点的头指针就指向头结点.如果当链表为空的时候,头结点的指针域的数值为NULL.
2、是为了方便单链表的特殊操作,插入在表头或者删除第一个结点.这样就保持了单链表操作的统一性!
3、单链表加上头结点之后,无论单链表是否为空,头指针始终指向头结点,因此空表和非空表的处理也统一了,方便了单链表的操作,也减少了程序的复杂性和出现bug的机会[1] 。
4、对单链表的多数操作应明确对哪个结点以及该结点的前驱。不带头结点的链表对首元结点、中间结点分别处理等;而带头结点的链表因为有头结点,首元结点、中间结点的操作相同,从而减少分支,使算法变得简单,流程清晰。
对单链表进行插入、删除操作时,如果在首元结点之前插入或删除的是首元结点,不带头结点的单链表需改变头指针的值,在TurboC算法的函数形参表中头指针一般使用指针的指针(在C++中使用引用&);
而带头结点的单链表不需改变头指针的值,函数参数表中头结点使用指针变量即可,对初学者更易接受。
参考资料来源:百度百科-头结点
参考资料来源:百度百科-邻接表
参考技术A邻接表是图的一种最主要存储结构,用来描述图上的每一个点。
参见http://baike.baidu.com/view/549594.htm
再给你看一下数据结构的课件解释
第二个图是个标准的邻接表实例 右上角是图,共有5个点,v1到v5
按照每个点来建立单链表组成邻接表。
首先 以v1作为头结点,和v1相邻的有v2和v4,则v1指向地址3即v3,v2的指向地址1即v2,v2指向空说明单链表结束。以此类推构成整个邻接表。
追问哪表头节点是什么?
这个是表节点?
这个是头节点对吗?
第一个是头结点 第二个是表结点
本回答被提问者和网友采纳 参考技术B邻接表是图的一张链式存储结构 。 邻接表中,对图中每个顶点建立一个单链表 ,每个结点由3个域组成每个链表上附设一个表头结点。
一个表结点由三部分组成 头结点两部分组成
adjvex nextarc info data firstarc在Java中啥是<>符号[重复]
【中文标题】在Java中啥是<>符号[重复]【英文标题】:In Java What is the < > notation [duplicate]在Java中什么是<>符号[重复] 【发布时间】:2013-01-18 14:13:38 【问题描述】:可能重复:What does Map<?, ?> mean in Java?Java Generics - What is this syntax for?
例如,我想知道 < >
在 Java 中的作用是什么。
public static class Map extends MapReduceBase
implements Mapper<LongWritable, Text, Text, IntWritable>
我不是任何方面的 Java 专家。对于使用< >
符号背后的原因,我希望您能提供一些明确的答案。
【问题讨论】:
你可能想读一下 -> docs.oracle.com/javase/tutorial/java/generics 看:docs.oracle.com/javase/tutorial/java/generics/types.html 用什么指令来证明对这类新手问题投了这么多票是合理的? @downvoters:这不是一个特别容易搜索的东西......当然,任何中级 Java 教程都会涵盖它,但仍然看起来相当苛刻...... @EricLeschinski 投反对票,因为一个使用 Hadoop 接口的人不知道泛型......不是 hello world 程序...... 【参考方案1】:它表示泛型。 Mapper
是一个泛型,您从 Mapper<LongWritable, Text, Text, IntWritable>
继承,这是专门针对这些类型的泛型。
就像Vector
- 也是通用的 - 你可以有Vector<Object>
和Vector<SomeOtherClass>
。
【讨论】:
以上是关于数据结构问题 在邻接表中啥是表节点?啥是表头节点?啥是头节点?的主要内容,如果未能解决你的问题,请参考以下文章