线性表、广义表、多重链表
开始实习了,发现每天自我学习的时间好少好少,可能是自己懒吧,其实感觉有很多空闲时间自己可以学习只是自己没有好好把握,以前学数据结构没有好好学,现在补上吧!哈哈还是那句话欠的帐还是要还的。
什么叫线性表?什么叫广义表?什么叫多重链表?
呃....
线性表
借用MOOC上ZJU数据结构姥姥的例子:一元多项式 f(x)=4x5+3x3+2x^2+x
节点:
coef : 系数 ,expon : 指数 ,next : 指向下一个节点
表示:
线性表:同一类型的数据元素组成的有序序列的线性结构。
广义表
二元多项式:f(x,y)=8x12y6+5x12y2+3x3y2+x+y=(8y6+5y2)x12+3x3y^2+x+y
节点:
tag: 0 表示结点是只含有x,1表示该节点含有y
data: 存放系数和指数
sublist:指向存放y信息节点
next:指向下一个节点
表示:
广义表是线性表的推广,也是由n个元素组成的有序序列。与线性表的差别:线性表中的元素都是存储单元素,而广义表中存储的元素不仅仅可以是单元素或另一个广义表。
广义表中结点的两种可能:1、单元素,需要有个域来存储改单元素的值。2、广义表需要有个域来指向另一个链表
多重链表
比如上面的结点:
属于2个链
多重链表:链表中的节点可能同时隶属于多个链
多重链表中结点的指针域会有多个,但包含多个指针域的链表不一定是多重链表。如:双向链表。
感谢MOOC ZJU 数据结构的老师