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

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

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

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

我们在数据结构的图形表示中,对于数据集合中的每一个数据元素用中间标有元素值的方框表示,一般称它为数据结点,简称结
点。在链表数据结构中,链表中每一个元素称为“结点”,每个结点都应包括两个部分:一个是需要用的实际数据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的前驱结点。

 

  • 96
    点赞
  • 163
    收藏
    觉得还不错? 一键收藏
  • 20
    评论
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值