数据结构
文章平均质量分 90
那就叫老王吧
这个作者很懒,什么都没留下…
展开
-
8.排序——数据结构(严蔚敏C语言版)
8.排序8.1概念1.什么是排序?排序:将一组杂乱无章的数据按一定规律顺次排列起来。即,将无序序列排成一个有序序列(由小到大或由大到小)的运算。如果参加排序的数据结点包含多个数据域,那么排序往往是针对其中某个域而言。8.2插入排序8.2.1直接插入排序1.基本思想:每步将一个待排序的对象,按其关键码大小,插入到前面已经排好序的一组对象的适当位置上,直到对象全部插入为止。即边插入边排序,保证子序列中随时都是排好序的。2.插入方法:在插入a[i]前,数组a的前半段(a[0]----a[i-1原创 2021-08-18 00:05:40 · 1957 阅读 · 1 评论 -
7.查找——数据结构(严蔚敏 C语言版)
7.查找7.1概念7.1.1查找的分类查找表可分为两类:静态查找表:仅作"查询”(检索) 操作的查找表。动态查找表:作"插入"和“删除”操作的查找表。注:有时在查询之后,还需要将"查询”结果为“不在查找表中”的数据元素插入到查找表中;或者,从查找表中删除其"查询”结果为"在查找表中”的数据元素,此类表为动态查找表。7.1.2评价查找算法查找算法的评价指标:关键字的平均比较次数,也称平均查找长度ASL(Average Search Length)(关键字比较次数的期望值)n原创 2021-08-15 19:37:02 · 1344 阅读 · 0 评论 -
6.图——数据结构(严蔚敏 C语言版)
6.图6.1定义和术语无向图: 每条边都是无方向的有向图: 每条边都是有方向的完全图: 任意两个点都有一条边相连。无向完全图:n个顶点,n(n-1)/2条边有向完全图:n个顶点,n(n-1)条边网: 边/弧带权的图。邻接: 有边/弧相连的两个顶点之间的关系。存在(v, v),则称v,和v互为邻接点;存在<Vi; Vj>,则称vi邻接到vj,vj邻接于vi。顶点的度: 与该顶点相关联的边的数目,记为TD(v);在有向图中,顶点的度等于该顶点的入度与出度之和。顶点v的入原创 2021-08-06 17:06:33 · 1472 阅读 · 0 评论 -
5.哈夫曼树——数据结构(严蔚敏 C语言版)
5.哈夫曼树5.1概念哈夫曼树: 哈夫曼(Huffman )树又称最优树,是一类带权路径长度最短的树,在实际中有广泛的用途。哈夫曼树的定义,涉及路径、路径长度、权等概念,下面先给出这些概念的定义,然后再介绍哈夫曼树。(1) 路径: 从树中一个结点到另一个结点之间的分支构成这两个结点之间的路径。(2) 路径长度: 路径上的分支数目称作路径长度。(3) 树的路径长度: 从树根到每一结点的路径长度之和。(4) 权: 赋予某个实体的一个量,是对实体的某个或某些属性的数值化描述。在数据结构中,实体有结点(原创 2021-08-04 18:46:42 · 3049 阅读 · 0 评论 -
4.树和森林——数据结构(严蔚敏 C语言版)
2.10树和森林2.10.1树的存储1.双亲表示法节点形式:数据域:存放结点本身信息。双亲域:指示本结点的双亲结点在数组中的位置。2.孩子表示法,双亲孩子表示法3.孩子兄弟表示法节点形式:具体形式:2.11树,森林,二叉树的转换2.11.1树转二叉树步骤:所有的相邻兄弟结点间加一条连线;保留每个节点与第一个孩子间的连线,删去其他线;将所生成的二叉树顺时针旋转45°;转换后的根节点的右孩子必为空。2.11.2森林转二叉树步骤:把森林中的树全部转换原创 2021-07-29 19:11:08 · 301 阅读 · 0 评论 -
4.树和二叉树——数据结构 (严蔚敏C语言版)
1.树1.1树的定义树(Tree)是n(n≥0)个结点的有限集,它或为空树(n=0);或为非空树,对于非空树T:(1)有且仅有一个称之为根的结点;(2)除根结点以外的其余结点可分为m (m>0)个互不相交的有限集T1, T2,…,Tm,其中每一个集合本身又是一棵树,并且称为根的子树( SubTree )。1.2树的基本术语1.结点: 树中的一个独立单元。包含一个数据元素及若干指向其子树的分支,如中的A、B、C、D等。2. 结点的度: 结点拥有的子树数称为结点的度。例如,A的度为3,原创 2021-07-29 00:57:57 · 914 阅读 · 0 评论 -
3.串,数组,广义表——数据结构 (严蔚敏C语言版)
串,数组,广义表串的定义串(String): 零个或多个任意字符组成的有限序列。子串: 一个串中任意个连续字符组成的子序列(含空串)称为该串的子串。主串: 包含子串的串相应地称为主串。字符位置: 字符在序列中的序号为该字符在串中的位置。子串位置: 子串第一个字符在主串中的位置。空格串: 由一个或多个空格组成的串,与空串不同。例:字符串a、b、c、da= D,b= ‘JING'C=‘BEIJING'd=‘BEI JING'------------它们的长度是:3 4 7 8c的原创 2021-07-23 17:19:29 · 492 阅读 · 0 评论 -
2.栈和队列——数据结构 (严蔚敏C语言版)
【思考】假设有3个元素a, b,c,入栈顺序是a,b,c,则它们的出栈顺序有几种可能?原创 2021-07-19 17:36:37 · 811 阅读 · 2 评论 -
0.数据结构 (严蔚敏C语言版)绪论
绪论数据是能输入计算机且能被计算机处理的各种符号的集合是对客观事物的符号表示数据元素是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。也简称为元素,或称为记录、结点或顶点。数据项构成数据元素的不可分割的最小单位。1.数据、数据元素、数据项三者之间的关系:数据>数据元素>数据项 (前一个由后一个组成)2.数据对象是性质相同的数据元素的集合,是数据的一个子集。例如:N={0,±1,±2,..}; //整数数据对象是集合C={'A','B原创 2021-07-14 11:13:16 · 277 阅读 · 0 评论 -
1.线性表:顺序表、链表 —— 数据结构 (严蔚敏C语言版)
线性表线性表定义线性表(Linear List) : 由n个具有相同特性的数据元素(结点)a1, a2,…组成的有限序列。其中数据元素的个数n定义为表的长度。当n=0时称为空表将非空的线性表(n>0)记作: (a1, a2, …an)线性表特性线性表的逻辑特征是:在非空的线性表, 有且仅有一个开始结点a1,它没有直接前趋,而仅有一个直接后继a2;有且仅有一个终端结点an,它没有直接后继,而仅有一个直接前趋an-1;其余的内部结点都有且仅有一个直接前趋ai-1.和一个直接后继ai原创 2021-07-14 12:00:48 · 757 阅读 · 0 评论