【数据结构】节点和结点,到底怎么区分?

你们有没有纠结过这样一个问题,就是数据结构链表中结点的“结”到底是哪个字?

说实话,在写这篇博客之前,我一直以为链表中的结点叫“节点”,,所以不管是给代码写注释,还是理解方面,我都觉得是“节点”,今天就来说一下节点和结点到底有什么不同?

节点呢,被认为是一个实体,有处理能力,比如,网络上的一台计算机;而结点则只是一个交叉点,像“结绳记事”,打个结,做个标记,仅此而已,还有就是,要记住:一般算法中点的都是点。

我们在数据结构的图形表示中,对于数据集合中的每一个数据元素用中间标有元素值的方框表示,一般称它为数据结点,简称结
点。在链表数据结构中,链表中每一个元素称为“结点”,每个结点都应包括两个部分:一个是需要用的实际数据data;另一个就是存储下一个结点地址的指针,即数据域和指针域。数据结构中的每一个数据结点对应于一个存储单元,这种储存单元称为储存结点,也可简称结点。

说到这里,我再补充一个关于链表的知识(不知道有没有哪位童鞋和我一样,在初学时不理解(捂脸))

链表中前驱和后继是啥?

举例来说明哈:
(1)对于线性存储结构:

1, 2, 3, ......, n, n+1, .......

结点n+1的直接前驱结点为n结点


(2)而对于链表存储结构

// 结点的定义
struct node
{
int data; // 数据域
struct node* next; // 指针域 
};

在上面数据结构中,struct node* head表示链表的头结点,head->next表示为头结点head的后继结点;而head则为head->next的前驱节点。

 

你可能感兴趣的:(【数据结构】节点和结点,到底怎么区分?)