数据结构包括哪些?哪些是重点?哪些必须掌握?掌握了哪些算是合格?
来源:学生作业帮助网 编辑:作业帮 时间:2024/08/17 01:44:55
![数据结构包括哪些?哪些是重点?哪些必须掌握?掌握了哪些算是合格?](/uploads/image/z/9890261-53-1.jpg?t=%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E5%8C%85%E6%8B%AC%E5%93%AA%E4%BA%9B%3F%E5%93%AA%E4%BA%9B%E6%98%AF%E9%87%8D%E7%82%B9%3F%E5%93%AA%E4%BA%9B%E5%BF%85%E9%A1%BB%E6%8E%8C%E6%8F%A1%3F%E6%8E%8C%E6%8F%A1%E4%BA%86%E5%93%AA%E4%BA%9B%E7%AE%97%E6%98%AF%E5%90%88%E6%A0%BC%3F)
数据结构包括哪些?哪些是重点?哪些必须掌握?掌握了哪些算是合格?
数据结构包括哪些?
哪些是重点?哪些必须掌握?掌握了哪些算是合格?
数据结构包括哪些?哪些是重点?哪些必须掌握?掌握了哪些算是合格?
常用结构有
数组 (Array)
在程序设计中,为了处理方便,把具有相同类型的若干变量按有序的形式组织起来.这些按序排列的同类数据元素的集合称为数组.在C语言中,数组属于构造数据类型.一个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型或是构造类型.因此按数组元素的类型不同,数组又可分为数值数组、字符数组、指针数组、结构数组等各种类别.
栈 (Stack)
是只能在某一端插入和删除的特殊线性表.它按照先进后出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(最后一个数据被第一个读出来).
队列 (Queue)
一种特殊的线性表,它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作.进行插入操作的端称为队尾,进行删除操作的端称为队头.队列是按照“先进先出”或“后进后出”的原则组织数据的.队列中没有元素时,称为空队列.
链表 (Linked List)
是一种物理存储单元上非连续、非顺序的存储结构,它既可以表示线性结构,也可以用于表示非线性结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的.链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成.每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域.
树 (Tree)
是包含n(n>0)个结点的有穷集合K,且在K中定义了一个关系N,N满足 以下条件:
(1)有且仅有一个结点 K0,他对于关系N来说没有前驱,称K0为树的根结点.简称为根(root).(2)除K0外,K中的每个结点,对于关系N来说有且仅有一个前驱.
(3)K中各结点,对关系N来说可以有m个后继(m>=0).
图 (Graph)
图是由结点的有穷集合V和边的集合E组成.其中,为了与树形结构加以区别,在图结构中常常将结点称为顶点,边是顶点的有序偶对,若两个顶点之间存在一条边,就表示这两个顶点具有相邻关系.
堆 (Heap)
在计算机科学中,堆是一种特殊的树形数据结构,每个结点都有一个值.通常我们所说的堆的数据结构,是指二叉堆.堆的特点是根结点的值最小(或最大),且根结点的两个子树也是一个堆.
散列表 (Hash)
若结构中存在关键字和K相等的记录,则必定在f(K)的存储位置上.由此,不需比较便可直接取得所查记录.称这个对应关系f为散列函数(Hash function),按这个思想建立的表为散列表.
主要要掌握的除了图以外.都得清楚的知道哦~