数据结构
文章平均质量分 75
Zzz5270
这个作者很懒,什么都没留下…
展开
-
B树 和 B+树
B树 如果前面的2-3树与2-3-4树理解了,B树也就理解了,因为2-3树就是3阶的B树,2-3-4树就是4阶的B树。所以,对于B树的性质,根据2-3-4树都可以推导出来了,即, 一颗m阶的B树(B-tree) 定义如下: (1)每个节点最多有 m-1...转载 2021-05-13 17:20:42 · 181 阅读 · 0 评论 -
数据结构—— Java实现图的算法代码(深度优先遍历、广度优先遍历、最短路径)
文章目录一、图的结构定义二、深度优先遍历三、广度优先遍历四、最短路径(Dijkstra)图的基础知识在这两篇博客中:数据结构——图的基础知识数据结构——图的应用算法详解一、图的结构定义package GraphPackage;public class GraphNode { int[][] arc; //边的信息 char[] vex; //顶点信息 int arcnum; //边数目 int vexnum; //顶点数目原创 2021-04-25 14:23:08 · 872 阅读 · 0 评论 -
数据结构——顺序表与链表
今天开始总结一下线性表这一章的内容。线性表首先来说一下分类 |- 顺序存储 ———— 顺序表 |线性表---| |- 单链表 | |- 双链表 |- 链式存储 ---|- 循环链表 |- 静态链表线性表:有相同数据类型、有限序列。线性表的主要操作如下:函数名实现操作InitList(&L)初始化,构造一个空表原创 2020-09-26 10:59:16 · 829 阅读 · 0 评论 -
数据结构——Java 实现二叉树代码
数据结构中,关于树之一部分的讲解在之前的一篇博客中:数据结构——树这里就用 Java 实现了一下二叉树的基本算法。二叉树的结点定义/** * 定义树的节点 * 即定义二叉链表的节点 */public class Node { Object value; Node leftChild; Node rightChild; public Node(Object value){ this.value = value; } publi原创 2020-11-27 17:16:24 · 980 阅读 · 0 评论 -
数据结构——Java 实现栈和队列代码
用 Stack 实现栈这个类现在已经不常用了,不过作为学习,还是学要了解一下,实现代码如下:/** * 用 Stack 类实现栈 */public class StackTest { public static void main(String[] args) { Stack s = new Stack(); Scanner sc = new Scanner(System.in); int num; while ((num =原创 2020-11-24 21:31:03 · 252 阅读 · 0 评论 -
数据结构——Java 实现链表代码
最近在学习 java,就试着用 java 实现了一下链表,第一次用 java 去写数据结构的知识点,很多地方不熟练,欢迎大家一起讨论;/** * 用 java 实现数据结构中的链表 */public class ListTest1 { //头结点 Node head = null; /** * 定义节点结构 */ class Node{ Node next = null; int data;原创 2020-11-23 19:55:56 · 603 阅读 · 1 评论 -
数据结构——C语言实现 顺序表和链表代码
今天敲了一下数据结构中顺序表的代码,发现C语言好久不用真的忘得差不多了。代码都是可以直接运行的(我的运行环境是Dev)。如果有写错的地方,欢迎大家留言一起讨论。对这一部分概念的介绍可以参考这篇博客:数据结构中的顺序表下来就直接看代码吧#include<stdio.h>#define MAXSIZE 100typedef struct{ int elem[MAXSIZE]; int length;}SeqList;//初始化void Init_SeqList(SeqLis原创 2020-10-25 11:40:32 · 2795 阅读 · 2 评论 -
数据结构——总结
之前一直在复习数据结构,这里就把自己数据结构的博客做一个总结,算是一系列文章吧,也方便查找一、绪论二、顺序表和链表三、栈和队列四、树与二叉树1. 平衡二叉树的插入和调整五、图1. 图的应用算法详解六、查找算法1. 字符串模式匹配算法——BP和KMP七、排序算法...原创 2020-10-24 16:14:56 · 95 阅读 · 0 评论 -
数据结构——排序算法及Java代码
这一章讲一下排序的内容,还是先看一下分类。 基本概念-----|- 稳定性 |- 衡量标准:时间、空间复杂度 |- 直接插入排序 |- 插入排序------|- 折半插入排序 | |- 希尔排序 | |- 交换排序------|- 冒泡排序 内部排序----| |- 快速排序 | |- 选择排序------|- 简单选择排序 | |- 堆排序 |- 归并排序 |- 基数排序 外部原创 2020-10-21 12:28:57 · 225 阅读 · 1 评论 -
数据结构——字符串模式匹配算法(BP算法&KMP算法)
复习的时候觉得这一部分还是挺复杂的,就单独写了一个博客。如果有理解不对的地方,欢迎大家一起讨论。1. 简单的模式匹配算法——BF模式匹配串的模式匹配,是求模式串在主串中的位置。时间复杂度 O(n*m).下面来看一下代码int Index(SString S, SString T, int pos){ int i = pos; int j = 1; while(i <= S.Len && j <= T.Len){ if(S.ch[i] == T.ch[j])原创 2020-10-18 11:06:04 · 1773 阅读 · 0 评论 -
数据结构——查找
这章主要介绍了一些常用的查找方法 |- 基本概念 |- 顺序查找 |- 线性结构------|- 折半查找 |- 分块查找 |- 二叉树排序 |- 树形结构------|- 二叉平衡树 |- B树,B+树 |- 性能分析 |- 散列结构 —— 散列表------- |- 冲突处理 |- 效率指标 —— 平均查找长度---|- 查找成功 |- 查找失败...原创 2020-10-15 13:36:47 · 265 阅读 · 0 评论 -
数据结构——图的应用算法详解
这篇博客重点讲解一下图中几个算法的具体计算过程。应用算法适用的图备注最小生成树Prim无向图适合稠密图最小生成树Kruskal无向图适合稀疏图最短路径Dijkstra有向图单源点最短路径最短路径Floyd有向图每一对顶点之间的最短路径拓扑排序/有向无环,AOV网关键路径/有向无环加权,AOE网1. 最小生成树(MST)对于一个带权连通无向图,生成树不同,每棵树的权也可能不同。其中权值之和最小的那棵树称为最原创 2020-10-13 12:35:58 · 2115 阅读 · 0 评论 -
数据结构——图
下面来学习一下数据结构里面的图首先来看看这一章的主要内容框架原创 2020-10-12 13:40:01 · 1240 阅读 · 0 评论 -
数据结构——平衡二叉树
在学习二叉树这一部分的时候,觉得平衡二叉树的建立,以及调整还是比较复杂的,看了一些博客和视频,发现了比较好的方法,这里总结一下。这一部分,首先对平衡二叉树做一个简单的介绍,以及插入调整的几种类型,这些基本所有的书上都讲到了。(了解的直接略过)平衡二叉树定义平衡二叉树(AVL树):任意节点的左、右子树高度差的绝对值不超过1。平衡因子:节点左子树和右子树的高度差,平衡二叉树的平衡因子只能为 -1、0、1.平衡二叉树插入二叉排序树保证平衡的基本思想:每当插入或删除节点时,首先要检查是否会导致原创 2020-10-11 14:59:41 · 294 阅读 · 3 评论 -
数据结构——树与二叉树
二叉树原创 2020-10-09 11:11:36 · 1263 阅读 · 0 评论 -
数据结构——栈和队列
栈和队列其实都是线性表的应用和推广首先还是先看一下分类情况 |- 顺序栈栈-----|- 链栈 |- 共享栈 |- 循环队列队列-----|- 链式队列 |- 双端队列 |- 一维数组数组-----| |- 多维数组:压缩矩阵、稀疏矩阵一、栈1. 栈的定义栈:一端进行插入和删除。栈顶:允许插入和删除的一端;栈底:固定的,不能插入和删除。先进后出栈的基本操作:原创 2020-09-28 13:17:12 · 193 阅读 · 0 评论 -
数据结构——绪论
最近开始复习数据结构,就把每一章的内容做一个总结,方便自己后期查看,大家共享。绪论数据结构三要素逻辑结构1. 线性结构:线性表,栈,队列2. 非线性结构:集合,树,图存储结构(物理结构)顺序存储 1. 优点:随机存取 2. 缺点:只能使用相邻的一整块存储单元,产生外部碎片链式存储1. 优点:不会出现碎片,充分利用存储单元2. 缺点:每个元素印存储指针需要额外的存储空间,只能顺序存取索引存储1. 优点:检索速度快2. 缺点:增加了索引表,占空间;增加和删除数原创 2020-09-25 09:21:15 · 173 阅读 · 0 评论