
数据结构-C语言
用C语言描述的数据结构
秃头暴躁哥
这个作者很懒,什么都没留下…
展开
-
数据结构
数据结构 基础概念 数据:描述客观失误的数值、字符、以及能输入机器且能被储存的各种符号集合 数据元素:组成数据的基本单位,是数据集合的个体 数据对象:数据对象是性质相同的数据元素的集合,是数据的一个子集。 数据结构:数据结构是指相互之间存在一种或多种特定关系的数据元素集合 数据类型:数据类型是一-组性质相同的值集合以及定义在这个值集合上的–组操作的总称。 抽象数据类型 数据的抽象 抽象数据类型ADT(abstract data type),包括数据对象、数据元素间的结构关系、原创 2020-09-28 21:55:17 · 500 阅读 · 0 评论 -
线性表
线性表 特点:一个前驱,一个后继,一对一的关系 单链表 插入可头插法/尾插法 循环链表 判断是否尾节点:p!=L或p->next!=L 双向链表 静态链表: 每个节点有两个域:data域和cursor域。其中,cursor存放游标而不是指针,游标存放后继节点的标号 基于时间、空间的需求,灵活选择 ...原创 2020-09-28 21:57:05 · 90 阅读 · 0 评论 -
栈和队列
栈和队列 栈 后进先出(LIFO),last_in_first_out 顺序栈: top == -1表示空 双端栈:栈底不变,栈顶相互正对(底在两边,顶在中间) 链栈 栈和递归 递归进层(i->i+1层)系统需要做三件事: 保留本层参数与返回地址 为被调用函数的局部变量分配存储区,给下层参数赋值 将程序转移到被调函数的人口。 而从被调用函数返回调用函数之前,递归退层(i<-i+1层)系统也应完成三件工作: 保存被调丽数的计算结果 释放被调函数的原创 2020-09-28 21:59:02 · 542 阅读 · 0 评论 -
串
串String 子串在主串中的位置以子串的第一个字符在主串位置表示 o 串的匹配 Brute-Force算法(暴力匹配) 略 KMP算法 戳这里KMP 堆串 堆串存储方法 以一组地址连续的存储单元顺序存放串中的字符,但它们的存储空间是在程序执行过程中动态分配的。系统将一个地址连续、容量很大的存储空间作为字符串的可用空间,每当建立一个新串时,系统就从这个空间中分配一个大小和字符串长度相同的空间用于存储新串的串值。 串名符号表: 所有串名的存储映像构成一个符号表。借助此结构可以原创 2020-09-28 22:01:56 · 230 阅读 · 0 评论 -
数组
数组 地址计算 一维 Loc( A[ i ] ) = Loc( A[ 1 ]) + ( i - 1 ) * size 二维 Loc( A[ i ] [ j ]) = Loc( A[ 1 ] [ 1 ]) + ( ( i - 1 ) * n + j - 1 ) * size 三维 Loc( A[ i ] [ j ] [ k ]) = Loc( A[ 1 ] [ 1 ] [ k ]) + ( ( i - 1 ) * m * n + ( j - 1 ) * n + k -1) * siz原创 2020-09-28 22:02:25 · 109 阅读 · 0 评论 -
树
树的基础知识\color{#FCE6C9}{树的基础知识}树的基础知识 o 相关术语 结点的度:一个结点的子树个数称为此结点的度。 叶结点:度为0的结点,即无后继的结点,也称为终端结点。 分支结点:度不为0的结点,也称为非终端结点。 结点的层次:从根结点开始定义,根结点的层次为1, 根的直接后继的层次为2,以此类推。 结点的层序编号:将树中的结点按从上层到下层、同层从左到右的次序排成一个线性序列,依次给它们编以连续的自然数。 树的度:树中所有结点的度的最大值。 树的高度(深度):原创 2020-09-28 22:03:55 · 114 阅读 · 0 评论 -
图
图的基础知识\color{FCE6C9}{图的基础知识}图的基础知识 o 术语 顶点 Vertex 弧 Arc <u , v> :从u到v的弧。u:弧尾;v:弧头 边 Edge 入度:ID(v) ; 出度:OD(v) ; 度:TD(v) *o 存储方法 邻接矩阵 无向图只用压缩存储一个三角矩阵即可 有向图要全部存储 邻接表P219 表头结点表:由所有表头结点以顺序结构(向量)的形式存储,以便可以随机访问任一顶点的边链表。表头结点由两部分构成,其中数据域原创 2020-09-28 22:04:35 · 96 阅读 · 0 评论 -
查找
查找的基础知识 o 基础概念 列表:由同- -类型的数据元素(或记录)构成的集合,可利用任意数据结构实现。 关键字:数据元素的某个数据项的值,用它可以标识列表中的一个或一组数据元素。如果一个关键字可以唯-标识列表中的一一个数据元素,则称其为主关键字,否则为次关键字。当数据元素仅有一个数据项时,数据元素的值就是关键字。 查找:根据给定的关键字值,在特定的列表中确定-一个其关键字与给定值相同的数据元素,并返回该数据元素在列表中的位置。若找到相应的数据元素,则称查找是成功的,否则称查找是失败的,此时应原创 2020-09-28 22:05:06 · 284 阅读 · 0 评论 -
排序
排序的基础知识 概念 排序:P317 内部排序和外部排序 根据排序时数据所占用存储器的不同,可将排序分为两类。一-类是整个排序过程完全在内存中进行,称为内部排序;另一类是由于待排序记录数据量太大,内存无法容纳全部数据,排序需要借助外部存储设备才能完成,称为外部排序。 主关键字与次关键字 排序的稳定性:排序前后,具有相同关键字值的元素的相对位置不变(即只要值相同,那么若排序A前在B前面,排序后A也在B前面) 待排序的记录序列: 向量结构 链表结构 记录向量与地址向量结合(地址排序)原创 2020-09-28 22:05:45 · 133 阅读 · 0 评论