数据结构基础(二)

一、链表

  1. 定义

  • 链表是一种类似于铁链状的数据结构,锁链的每一节可以者成是链表的一个元素。每一节只会

记录它之前、之后是哪一节。

  • 类似于锁链,链表的每一节可以打开,能够快速做到一些用数组存储数据时较麻烦的操作,比

如在中间插入或删除数据,取下一段数据,对一段数据进行翻转等操作。

  • 但链表在访问特定编号节点的时候,需要按链上顺序逐个查找,不如数组来的直接。

  1. 存储结构

  • 链表上的数据存储单元,一般称为节点(Node),类似于数组中的一个位置。

  • 一个节点会包含它的存储数据(data),以及一或两个用来指向上一个/下一个节点的位置的链接(links)。

  1. 分类

  • 单向链表

只记录每个节点的后继。

  • 双向链表

记录每个节点的前驱和后继。

  • 循环单向链表

单链表,最后一个节点后继为第一个节点。

  • 循环双向链表

双链表,形成环形 。

二、二叉树

  1. 定义

  • 所有节点的度不超过2的树称为二叉树。

  • 因为每个二叉树的节点最多只会有两个子结点,它的两个子节点一般会被称为左右儿子,两棵子树一般会被称为左右子树。当然,左右儿子甚至根节点本身都有可能缺失(一个节点都没有可以称为空二叉树)

  • 具有相同的节点深度的二叉树节点处于同一层。

  1. 特殊的二叉树

  • 完全二叉树:除了最后一层外其他层的节点个数全满,而且最后一层的节点从左到右排满直到最后一个节点。

  • 满二叉树:所有层的节点全满 。

  1. 二叉树的遍历顺序

二叉树的遍历顺序可分为先序遍历、中序遍历和后序遍历,以访问根节点的时间做区分 。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值