数据结构
文章平均质量分 80
一个昵称被占用的川川
永远相信美好的事情即将发生
展开
-
数据结构-------图
欢迎大家访问我的个人博客:endeavorchuan.com有向完全图: 有向图中有n个顶点,则边至多有n(n-1)条,有n(n-1)条边的有向图称为有向完全图。无向完全图: 无向图中有n个顶点,最多有n(n-1)/2条边,有n(n-1)/2的无向图称为无向完全图。简单路径: 序列中顶点不重复出现的路径。连通图: 无向图中任意两个顶点之间都连通。强连通图: 对于每一对顶点i和j,从i到j和从j到i都有路径。邻接矩阵邻接矩阵是图的顺序存储结构,由邻接矩阵行数或列数可知图中顶点数。无权图邻接矩阵原创 2020-10-05 16:41:21 · 166 阅读 · 0 评论 -
赫夫曼树
赫夫曼树带权路径长度赫夫曼树的构造赫夫曼编码欢迎大家访问我的个人博客:endeavorchuan.com赫夫曼树的带权路径最短,所以又叫做最优二叉树。带权路径长度结点:从该结点到根之间的路径长度×结点的权值树:所有叶子结点的带权路径长度之和例:下图为有四个叶子结点的二叉树,a、b、c、d的权值分别为2、4、6、8。结点带权路径长度分别为:A→2×2=4 B→2×4=8 C→3×6=18 D→2×8=16树的带权路径长度为:WPL=4+8+18+16=46原创 2020-09-21 20:04:32 · 157 阅读 · 0 评论 -
数据结构------串
数据结构------串串的赋值求串长度串的比较操作串连接操作求子串操作串清空操作欢迎大家访问我的个人博客:endeavorchuan.com动态分配存储表示在程序执行过程中可动态分配存储空间typedef struct //定义结构体{ char *ch; //此字符指针指向动态分配存储区的首地址 int length; //length指串的长度}Str;使用malloc函数动态分配原创 2020-09-10 21:58:41 · 311 阅读 · 0 评论 -
二叉树相关计算
二叉树相关计算欢迎大家访问我的个人博客:endeavorchuan.com原创 2020-08-31 17:37:17 · 120 阅读 · 0 评论 -
顺序表和链表的比较
顺序表和链表的比较空间比较存储空间分配存储密度(结点值域所占存储量/结点结构所占存储量)时间比较存取方式插入删除时移动元素个数欢迎大家访问我的个人博客:endeavorchuan.com空间比较存储空间分配线性表:存储空间是一次性分配的。链表:存储空间可以动态多次分配。存储密度(结点值域所占存储量/结点结构所占存储量)顺序表存储密度=1连表存储密度<1,因为存在指针域时间比较存取方式顺序表:可随机存取,也可顺序存取链表:只能顺序存取(需遍历a之前的所有元素才能找到a)插入删除原创 2020-08-31 17:34:35 · 186 阅读 · 0 评论 -
排序算法对比表
排序算法对比表欢迎大家访问我的个人博客:endeavorchuan.com原创 2020-08-31 17:31:05 · 414 阅读 · 0 评论 -
数据结构——栈与队列
栈是一种仅限定在表尾进行插入或删除操作的线性表。表尾→栈顶 表头→栈底 不含元素为空栈栈为 LIFO 结构线性表(后进先出)。基本操作InitStack(&S):构造一个空栈DestroyStack(&S):若栈S已存在,则将其销毁ClearStack(&S):若栈S已存在,则将S清为空栈StackEmpty(S):若S为空栈,返回TRUE,否则返回FALSEStackLength(S):返回栈S的元素个数,即栈的长度原创 2020-07-07 22:26:03 · 454 阅读 · 0 评论 -
查找算法汇总(散列表)
查找算法汇总(散列表)散列表构造散列函数直接定址法除留余数法数字分析法平方取中法折叠法处理冲突的方法开放定址法拉链法散列查找散列表散列函数: 一个把查找表中的关键字映射成该关键字对应的地址的函数,记Hash(key)=Addr。冲突: 散列函数可能会把两个或两个以上的不同关键字映射到同一地址。将发生冲突的不同关键字称为同义词。散列表: 根据关键字而直接进行访问的数据结构,散列表建立了关键字和存储地址之间的一种直接映射关系。构造散列函数散列函数的定义域必须包含全部需要存储的关键字,而值域的范围原创 2020-06-24 17:54:18 · 421 阅读 · 0 评论 -
查找算法汇总(顺序、折半、分块、B树)
查找算法汇总(顺序、折半、分块、B树)顺序查找一般线性表的顺序查找:有序表的顺序查找:折半查找(二分查找)分块查找(索引顺序查找)B树(多路平衡查找树)B树特性:B树的高度B树的查找B树的插入B树的删除B+树欢迎大家访问我的个人博客:endeavorchuan.com静态查找表:若一查找表的操作只涉及查询及检索,则称为静态查找表。(顺序查找、折半查找、散列查找)动态查找表:需要动态的插入或删除的查找表,称为动态查找表。(二叉排序树的查找、散列查找)平均查找长度:所有查找过程中进行关键字的比较次数的平原创 2020-06-16 08:48:21 · 1100 阅读 · 0 评论 -
基本排序算法比较
基本排序算法比较算法的稳定性一、插入排序1、直接插入排序2、折半插入排序3、希尔排序(缩小增量排序)二、交换排序1、冒泡排序2、快速排序三、选择排序1、简单选择排序2、堆排序欢迎大家访问我的个人博客:endeavorchuan.com算法的稳定性若待排序表中有两个元素a和b,对应关键字A=B,排序之前a在b的前面,若在排序操作之后,a仍然在b的前面,那么这个排序算法就是稳定的。若在排序之后a移到了b之后,那么这个排序算法就是不稳定的。一、插入排序每次将一个待排序的记录按照关键字的大小插入到前面已原创 2020-05-31 21:20:00 · 430 阅读 · 0 评论