[C1进阶之路-通识] 数据结构常识
目录
往期回顾,专栏一览
? 数组(Array)
? 栈(Stack)
? 队列(Queue)
? 链表(Linked List)
? 树(Tree)
? 堆(Heap)
? 图(Graph)
? 散列表(Hash)
? 题目1
? 题目2
? 题目3
往期回顾,专栏一览
? JavaSE ? AWT ? 数据结构 ? C1进阶之路 ? 每日一练 ? 代码报错 ? 活动
?欢迎各路大佬来到 Nick 主页指点
☀️本期文章将学习 [C1进阶之路] 常用网络命令和端口,我是博主Nick。✨
✨我的博客主页:Nick_Bears ?꧔ꦿ
?꧔ꦿ博文内容如对您有所帮助,还请给个点赞 + 关注 + 收藏✨
? 注:资料来源于C1进阶考试资料
? 数据结构是计算机存储、组织数据的方式,它研究的是如何构造复杂软件系统的根基,它的核心内涵是分解与抽象,并得到软件开发过程中需要用到的逻辑结构。用简单直白的话来说,就是同样的数据,在某些场景下,用数组会比用链表好,而在另一些场景下,可能用栈(一种可以实现「后进先出」的线性表)就是最合理的了。
? 数组(Array)
? 它是将具有相同类型的若干数据组织在一起的集合,这是一种最基本而且也是一种最经常使用的数据结构。
? 栈(Stack)
? 一种特殊的线性表,只能在一个表的固定端进行数据节点的插入和删除操作,栈正是一种按照后进先出(LIFO)的原则来存储数据的数据结构。
? 队列(Queue)
? 和栈类似,但不同的是,它是在一端执行入队操作,而在另一端进行出队操作。
? 链表(Linked List)
? 它和数组一样,也是一组数据的集合,但和数组不一样的是,它并不是一组连续的数据集合,而是通过指针连接在一起的。
? 树(Tree)
? 这是一种典型的非线性结构,之所以叫做“树”,是因为它的结构看起来就像一颗倒过来的树,它只有一个根结点,但可以有多个后继节点。
? 堆(Heap)
? 它是一种特殊的树型结构,它的特点是根结点的值是所有节点中最大或者最小的,而且根结点的子节点也是一个堆结构。
? 图(Graph)
? 这也是一种非线性数据结构,在图结构中,数据节点称为顶点,顶点之间的连线称为边。
? 散列表(Hash)
? 这种数据结构来源于散列函数,它的思想是如果存在x,那么就必然有一个唯一的存储位置f(x)可以找到x,这样通过数学函数就直接计算出x的存储位置而不用在进行比较、查找以后才知道。
? 题目1
? 请问下图展示的堆是最大堆?
key:正确
? 按照最大堆或最小堆的定义,这个堆应该是最大堆,因为它的根结点总比子节点大
? 题目2
? 请问下面的二维数组array[3][1]的数值是______(数组下标从0开始)?
key:13
? 按照数组的定义来获取所对应下标的数值,先找到对应的一维数组,再从一维数组里找到对应的值:也就是先找array[3]是哪一个数组,再找array[3][1]是哪一个值
? 题目3
? 请问下面的二叉树是AVL树?
key:错误
? 所谓AVL树,就是对于任意一个节点来说,它的左子树比它小,它的右子树比它大;而且任意节点的子节点之间高度差距最大为1。