C1任务-13:数据结构常识

数据结构是计算机科学的基础,包括数组、栈、队列、链表、树、堆、图和散列表等。每种结构都有其独特性质和适用场景,如栈的后进先出特性适用于表达式求值,队列用于任务调度,链表处理不连续内存,树和图用于复杂关系建模,散列表则提供快速查找。理解并掌握这些数据结构能提升软件设计效率。
摘要由CSDN通过智能技术生成

任务背景
数据结构是计算机存储、组织数据的方式,它研究的是如何构造复杂软件系统的根基,它的核心内涵是分解与抽象,并得到软件开发过程中需要用到的逻辑结构。用简单直白的话来说,就是同样的数据,在某些场景下,用数组会比用链表好,而在另一些场景下,可能用LIFO(Lastin,Firstout,后进先出)队列就是最合理的了。

任务目标
了解常用的数据结构及其分类
理解不同的数据结构所适用的不同场景

任务训练
数组(Array):它是将具有相同类型的若干数据组织在一起的集合,这是一种最基本而且也是一种最经常使用的数据结构

栈(Stack):一种特殊的线性表,只能在一个表的固定端进行数据节点的插入和删除操作,栈正是一种按照后进先出(LIFO)的原则来存储数据的数据结构

队列(Queue):和栈类似,但不同的是,它是在一端执行入队操作,而在另一端进行出队操作

链表(LinkedList):它和数组一样,也是一组数据的集合,但和数组不一样的是,它并不是一组连续的数据集合,而是通过指针连接在一起的

树(Tree):这是一种典型的非线性结构,之所以叫做“树”,是因为它的结构看起来就像一颗倒过来的树,它只有一个根结点,但可以有多个后继节点

堆(Heap):它是一种特殊的树型结构,它的特点是根结点的值是所有节点中最大或者最小的,而且根结点的子节点也是一个堆结构

图(Graph):这也是一种非线性数据结构,在图结构中,数据节点称为顶点,顶点之间的连线称为边

散列表(Hash):这种数据结构来源于散列函数,它的思想是如果存在x,那么就必然有一个唯一的存储位置f(x)可以找到x,这样通过数学函数就直接计算出x的存储位置而不用在进行比较、查找以后才知道

按照最大堆或最小堆的定义,根结点总比子节点大为最大的堆
根结点总比子节点小为最小的堆

所谓AVL树,就是对于任意一个节点来说,它的左子树比它小,它的右子树比它大;而且任意节点的子节点之间高度差距最大为1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

逻辑鬼才灰太狼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值