2021-08-27 数组、链表、二叉树简单介绍

第四章 集合、链表、二叉树

3.1.1 类集设置的目的

集合 数据的容器,存储数据使用的。

对象数组: 数组中的元素个数是固定的,不能动态扩充大小,所以最早的时候可以通过链表实现一个动态对象数组


数据结构的知识点

数据结构: 相互之间存在一种或多种特点关系的数据元素的集合。

数据结构ADT 逻辑结构、存储结构、数据的运算

接触过的数据结构

线性结构:数组、栈、队列

非线性结构:树、图、集合


二叉树

二叉树:每个结点至多只有两颗子树(即二叉树中不存在度大于2的结点),并且二叉树的子树有左右之分,其次序不能任意颠倒


链表

链表[Linked list]:链表是由一组不必相连的内存结构(节点),按照 特定 的顺序链接在一起的抽象数据类型。

​ 补充:

​ 抽象数据类型(Abstract Data Type[ADT]):表示数学中抽象出来的一些操作的集合。 内存结构:内存中的结构,如:strut、特殊内存块。。。等等之类。

数组和链表的区别和优缺点:

​ 数组是一种连续存储线性结构,元素类型相同,大小相等。

数组的优点:

​ 存取速度快

数组的缺点:

​ 事先必须知道数组的长度

​ 插入删除元素很慢 O(n) (而链表 插入平均时间复杂度 O(1))

​ 空间通常是有限制的

​ 需要大块连续的内存块

​ 插入删除元素的效率很低

链表是离散存储线性结构

​ n个节点离散分配,彼此通过指针相连,每个节点只有一个前驱节点,每个节点只有一个后续节点,首节点没有前驱节点,尾节点没有后续节点。

链表的优点:

​ 空间没有限制

​ 插入删除元素很快

链表的缺点:

​ 存取速度很慢

2.链表共分几类

​ 链表常用的有3类:单链表、双向链表、循环链表。

请添加图片描述


关于树我单独再写一篇进行详细介绍

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值