数据结构
文章平均质量分 64
栈,队列,数组,单链表,图,二叉树,排序......
飞云不坠
不做三斤半的男人
展开
-
数据结构-排序
算法的稳定性:;两个相同的元素在排序算法完成后,两者的相对位置还没改变,则算法是稳定的。原创 2023-07-06 17:19:07 · 349 阅读 · 0 评论 -
数据结构-查找
1.把查找表分为若干块,块内无序,块间要就前一块内最大值小于后一块内的所有值2.构建索引表,含每个块的最大值和第一个元素的地址原创 2023-07-03 17:37:44 · 694 阅读 · 0 评论 -
数据结构-图
2.有向完全图:任意两个顶点之间都存在方向相反的两条弧,则为有向完全图。又称这一对顶点是强连通的,图中任意一对顶点都是强连通的则称此图为强连通图,其中极大强连通子图称为强连通分量。原创 2023-06-06 16:24:33 · 590 阅读 · 0 评论 -
数据结构 -树
基本概念:1.度:一个结点的孩子为该结点的度,树中最大度数为树的度。2.深度,高度,层次:高度和层次都是从顶至下,高度是从底至上。原创 2023-05-23 10:53:58 · 419 阅读 · 0 评论 -
数据结构 - 双向队列
周六闲来无事,回顾了一下之前写过的一个双向队列,内容比较简单,且我特意在代码间加了注释。嘻嘻。初始化:#include<bits/stdc++.h>#define maxSize 20using namespace std;class dqueue{ private: int front,rear; int size; char*data; public:...原创 2019-03-30 12:03:24 · 215 阅读 · 1 评论 -
简单二叉树创立(递归,适合新手)
本篇博客只简单创立一个二叉树,关于树的基本操作不做解释。博主也只是刚学了树,怕误了大家,所以不多做赘述,如果内容有任何纰漏,还希望能指出来,互相学习。1.关于二叉树它是一种简单的树,它的定义和一些特性在网上或者是书上都可以找到。2.创建因为二叉树的特性,这里我们便可以用递归的方法一步一步把树的所有节点建立出来。这里使用的是孩纸链表,和线性链表的创立相似,不同的是二叉树有两个指针,一个指向...原创 2019-04-14 21:46:58 · 953 阅读 · 2 评论 -
二叉树总结(递归的前中后序遍历,非递归的前中后序遍历,线索化的创立和方法以及其他函数等等)
学习了一段时间二叉树,现在终于有时间把之前所学的内容总结总结,本篇所涉及的仅仅是二叉树一些基本的操作,如有遗漏,望多多指教。函数总结一.遍历类:1.递归(前序遍历,中序遍历,后序遍历)2.非递归(前序遍历,中序遍历,后序遍历)3.层序遍历4.线索化二叉树的遍历二.线索化1.线索化方法2.线索化二叉树创立三.查找类1.树节点的查找2.节点的删除四.其它类1.判断是否为完全...原创 2019-05-02 18:40:31 · 535 阅读 · 2 评论 -
图的存储(邻接表)和遍历(bfs和的dfs)
图的邻接表存储定义了一个边表和一个顶点表分别存储边的信息和顶点的信息本次存储的是一个有向图,对于网图,则需在边表设置一个权值(如权值info)对于存储的图结构中容易解决(边的度(出度和入度),判断两顶点间是否存在边,以及容易得到一个顶点的所有邻接点)遍历一.bfs(深度优先遍历)类似于树的前序遍历,利用递归的思想遍历图的所有节点二.dfs(广度优先遍历)类似于树的层序遍历,同样用队列...原创 2019-05-12 23:26:59 · 1960 阅读 · 2 评论 -
prim最小生成树
废话本篇博客只是单纯的作为自己复习的记录。正篇图论中两个最小生成树算法之一prim。思想比较简单,关键在于自己有没有认真细致的观察它。思想:把图的顶点U分为两个集合,V是已生成最小树集(V初始化:选择一个顶点作为起始点),U - V是待选择集。重复下面操作:v∈V,u∈(U - V)的边中找一条代价最小的边,将u加入V中,直到V = U为止。**准备:**设置一个数组short Edge...原创 2019-06-21 08:03:36 · 212 阅读 · 2 评论 -
Kruskal最小生成树
废话本篇博客只是复习记录所用,有任何不足之处,欢迎指出正篇1.自己的一些感悟不同于Prim算法每次加入一个点,直到所有的点加入到同一集合生成一颗最小树,kruskal是每次寻找最小的边,同时记录加入的点,直到加入的点的数量和顶点数一样,本质上都是寻找先寻找拥有最小权值的边,prim是从起始点开始,而kruskal直接从边开始。2.算法思想3.伪代码描述4.模拟第一步:初始化连...原创 2019-06-27 15:11:27 · 246 阅读 · 1 评论 -
数据结构-串(mp,kmp,nextval)
如果j != -1,且当前字符匹配失败(即S[i] != P[j]),则令 i 不变,j = next[j]原创 2023-05-22 16:55:41 · 44 阅读 · 0 评论 -
数据结构-栈,队列,数组
定义:只允许在一端进行插入或删除得到线性表栈的数学性质:n个不同元素进栈,出栈的不同排列有原创 2023-05-18 16:43:59 · 403 阅读 · 0 评论 -
数据结构-线性表
优点:离散的存储在内存空间中,不需要连续的大量的地址。缺点:指针域的存在,浪费了存储空间,且因为是离散,所以是非随机存取,即不能直接找到表中的某个特定节点,需要从头开始遍历。原创 2023-05-18 11:10:11 · 43 阅读 · 0 评论 -
数据结构-算法时间复杂度
取基本运算中n增长最快的项:F(n) = an³+bn²+cn 时间复杂度为O(n³)原创 2023-05-17 15:26:01 · 330 阅读 · 0 评论