| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> 数据结构名词解析 -> 正文阅读 |
|
[数据结构与算法]数据结构名词解析 |
数据结构: 是相互之间存在一种或多种特定关系的数据元素的集合,是计算机存储和数据组织的方式,它分为三个方面,即数据的逻辑结构,数据的物理结构,数据的操作。 数据项: 是数据不可分割的最小单位,用它可以识别一个或一个组数据,一个数据元素可由若干数据项组成。 数据对象: 是性质相同的数据元素的集合,是数据的一个子集。 数据: 是对客观事物的符号表示,在计算机科学中是指所有能输入到计算机中被计算机程序处理的符号的总称,是计算机化的信息。 数据类型: 是一个值的集合以及定义在这个值集上的一组操作,可分为原子类型和结构类型。 抽象数据类型: 是基于一类逻辑关系的数据类型以及定义在这个类型之上的一组操作。 逻辑结构: 是数据元素之间逻辑关系的描述。 物理结构(存储结构): 是指数据的逻辑结构在计算机中的映像(又称表示),即数据结构在计算机中的存储方法。 算法: 是对特定问题求解步骤的一种描述,它是指令的有限序列,其中每一条指令表示一个或多个操作。 时间复杂度: 算法执行所需时间的量度。空间复杂度:算法执行所需存储空间的量度。 存储密度: 指结点数据本身所占存储量和整个结构所占存储量之比。 程序设计的一些基本原则: 分解、抽象和信息隐蔽。根据数据元素之间关系的不同特性,有四类基本的数据结构:集合结构,线性结构,树形结构,图形结构(网状结构)。 数据的存储结构有: 顺序存储结构、链式(链接)存储结构、索引结构、散列存储结构常用的两种存储结构:顺序存储结构和链式存储结构。 算法的五个特性: 确定性、有穷性、可行性、输入和输出。(可以有零个或多个数据输入,但必须至少有一个输出数据。 算法设计的要求: 正确性、可读性、稳健性、高效率低存储量。 (算法分析)衡量算法的两个标准: 时间复杂度和空间复杂度。一个算法的设计取决于所选的逻辑结构。一个算法的实现取决于所选的存储结构。 结构化程序设计思想的要求: 自顶向下、逐步细化、模块化设计、结构化编程。 线性表: 是最常用,最简单的一种数据结构,一个线性表是n个数据元素的有限序列,除首尾元素外,每个元素有唯一的前驱和唯一的后继。 顺序表: 采用顺序存储结构的线性表通常称为顺序表。 链表: 采用链式存储结构的线性表通常称为顺序表。 结点: 由数据元素和指示其后继结点地址的信息组成的存储映像称为结点。 表长: 表中元素的个数称为表的表长。 循环链表: 是另一种形式的链式存储结构,它的特点是表中最后一个结点的指针域指向头结点,整个链表形成一个环。 双链表: 采用链式存储结构的线性表,每个结点除一个数据域外,还有两个指针域,其一指向直接前驱,另一指向直接后继。 静态单链表: 是利用一块连续的空间,按链表的存储方式组织数据,按顺序存储结构分配空间,所构成的一种链表。 头指针: 是指向链表表头结点的指针,只要链表存在,该指针始终不会改变,单链表由头指针唯一确定,因单链表可以用头指针的名字来命名。 头结点: 在链表的开始结点之前附加的一个结点,是链表的表头,当链表不空时,其内的指针指向链表的第一个结点,当链表是空链表时,该指针为空指针。 栈: 也叫后进先出表,是限定仅在表尾进行插入和删除操作的线性表,表尾端称为栈顶,表头端称为栈底,不含元素的空表称为空栈 顺序栈: 采用顺序存储结构的栈称为顺序栈 链栈: 采用链式存储结构的栈称为链栈. 队列: 是一种先进先出的线性表,它只允许在表的一段进行插入,而另一端删除元素,允许插入的一端叫做队尾,允许删除的一端称为队首 链队列: 用链表示的队列,需要两个指针分别指示队头和队尾,为了操作方便,也给链队列添加一个哨兵结点 循环队列: 队列是"先进先出表”,随着入队出队的进行,会使整个队列整体向后移动,当队尾指针移到最后,若再有元素入队就会出现“假溢出”,因为此时队头部分还有空间可用,循环队列是将队列的数据区看成头尾相接的循环结构,可解决“假溢出” 串: 是由零个或多个字符組成的有限序列. 子串: 串中任意个连续的字符组成的子序列称作该串的子串 主串: 包含子串的串相应的称为主串 子串在主串中的位置: 子串的第一个字符在主串中的位置表示 空串: 长度为零的串称为空串 空格串: 串中元素均为空格的串称为空格串. 串相等: 长度相等且对应位置字符都相等 广义表: 是由零个或多个单元素或子表所构成的有限序列,是线性表的推广,也有人称其为列表 数组: 类型一致的有限个数据元素按顺序连续存储 矩阵的压缩存储: 有的矩阵中有许多值相同元素或者是零元素,为了节省存储空间对这类矩阵采用多个值相同的元素只分配一个存储空间,有时零元素不存储的存储策略,称为矩阵的压缩存储 特殊矩阵: 值相同的元素或者零元素在矩阵中的分布有一定规律的矩阵称为特殊矩阵 稀疏矩阵: 非零的数据元素个数很少的矩阵称为稀疏矩阵 对称矩阵: 一个n阶方阵,若满足aij=aji,则称该矩阵为对称矩阵 三角矩阵: 主对角线上方和下方的元素(不包括对角线)均为常数或零元素的矩阵 行表: 记录稀疏矩阵中每行非零元素在三元组表中的起始位置的表 三元组表: 若线性表顺序存储的每一个结点均是三元组,则该线性表的存储结构称为三元组表 带状矩阵: 所有非零元素均集中在以主对角线为中心的带状区域的矩阵 树: 是n个结点的有限集合,n≥0,有且只有一个称为根的结点,根结点无前驱 有序树: 树中结点的各子树看成是从左至右依次有序的,且不能交换 森林: m(m≥1)棵互不相交的树的集合 二叉树: 是一种树型的结构,它的特点是每个结点之多有两棵子树,且有左右之分,不可任意颠倒。 完全二又树: 深度为k的有n个结点的二叉树,当且仅当其每一个结点都与深度为k的满二叉树中编号从1至n的结点一一对应时 满二叉树: 是一棵深度为k的,且有(2^k)-1个结点的二又树 遍历二叉树:是按照某种搜索路径巡访二叉树中的每个结点,使得这些结点均被访问一次 线索二叉树: 由每个结点中包含左指针,左标志位,数据域,右标志位,右指针五部分组成的二叉链表,叫做线索链表,指向前驱或后继的指针叫做线索,以二又树某种遍历顺序给空指针加线索的过程叫做线索化,线索化了的二叉树称为线索二叉树 哈夫曼树: 又称最优二叉树,是一类带权路径长度最短的树. 哈夫曼编码: 在哈夫曼树中,约定左分支代表0,右分支代表1,把叶子结点到根结点的路径上的左右分支代表的码从下至上一次连接起来,组成的字符串称为该叶子结点的哈夫曼编码,这就是哈夫曼编码 二又排序树:或者是空树,或者是符合以下性质的二叉树 1.若它的左子树不空,则左子树上所有结点均小于它的根结点值 2.若它的右子树不空则右子树上所有结点均大于它的根结点值. 平衡二叉排序树(AVL树): 或者是空树,或者是符合一下性质的二又排序树1.左子树和右子树的高度之差的绝对值小于等于12左子树和右子树也是平衡二叉排序树 图: 图G由两个集合V和E组成,记为G=(V,E),其中V是顶点的有穷非空集合,E是由V中顶点的序偶组成的有穷集,这些序偶称为边或弧 顶点: 图中的数据元素称为顶点 完全图: 边数恰好等于n(n-1)/2的n个顶点的无向图称为完全图(无向图中任意两个顶点之间都有一条边相连,称该图为完全图) 有向完全图: 有n(n-1)条边的有向图称为有向完全图(图中每个顶点和其余n-1个顶点都有弧相连) 入度: 以顶点V为头的弧的数目称为V的入度 出度: 以顶点V为尾的弧的数目称为V的出度 连通图: 在无向图中,任意两个顶点之间都有路径相通 强连通图: 在有向图中,任意两个顶点之间都有来回路径相通 生成树: 生成树是无向连通图的一个极小连通子图,它含有图中的全部顶点和使任意顶点都连通的最少的边 邻接矩阵: 表示图中结点之间关系的矩阵称为邻接矩阵 邻接表: 由顶点数据表和表示数据关系的边(弧)构成的表 十字链表: 可以把它看成是将有向图的邻接表和逆邻接表结合起来形成的一种存储形式 图的遍历: 从某一顶点出发按序访问图中所有结点,且使每个结点仅被访问一次 最小生成树: 无向网中边上权值之和为最小的生成树 DAG: 有向无环网 拓扑排序: 由某个集合上的一个偏序得到该集合上一个全序的操作称为拓扑排序 关键路径: 在AOE网中,从源点到汇点的最长路径称为关键路径 AOE网: 用顶点表示事件,用弧表示活动,弧的权值表示活动所需的时间,构造的有向网称为AOE网 简单路径: 一条路径上除了开始顶点和结束顶点外,其余顶点均不相同 弧头: 边的终点称为弧头 弧尾: 边的始点称为弧尾 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 8:43:07- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |