logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

数据结构-图详解(图的遍历(深度、广度)-C++)

图的基本概念和图的存储结构这里存储结构采用邻接矩阵的方式保存边之间的关系。这里学习图的两种遍历方式广度优先队列:以某个顶点为起点,一层一层进行遍历。需要借助队列具体遍历方式与二叉树的层序遍历方式类似,不同的是要通过标记的方式防止节点的重复遍历。深度优先遍历时,没遍历一个节点后,将这个节点标记已访问,防止重复访问。.........

#数据结构#深度优先#算法
数据结构-难点代码突破(C++实现图广度优先遍历,深度优先遍历,广度/深度优先遍历生成树和森林,广度优先遍历求单源非带权图两点最短路径)

注意:为了简便起见,这里采用[邻接矩阵](https://blog.csdn.net/dodamce/article/details/128041066?spm=1001.2014.3001.5501)的方式储存图的边信息@[TOC]图的遍历是指从图中的某一顶点出发,按照某种搜索方法沿着图中的边对图中的所有顶点访问一次且仅访问一次。注意到树是一种特殊的图,所以树的遍历实际上也可视为一种特殊的图的遍

#深度优先#数据结构#c++
数据结构-考研难点代码突破(C++实现无向图图最小生成树算法(Prim,Kruskal)图解操作细节(引自C语言中文网))

克鲁斯卡尔算法查找最小生成树的方法是:将连通网中所有的边按照权值大小做升序排序,从权值最小的边开始选择,只要此边不和已选择的边一起构成环路,就可以选择它组成最小生成树。B-T 、A-B、S-A 三条边都会和已选 A-C、C-D、B-D、D-T 构成环路,都不能组成最小生成树。从 B-D 边开始挑选,由于尚未选择任何边组成最小生成树,且 B-D 自身不会构成环路,所以 B-D 边可以组成最小生成树。

#算法#c++#数据结构
数据结构-图详解(最短路径问题-Dijkstra,Bellman-Ford,Floyd-Warshall算法 -C++)

源节点到结点P的代价(代价为0)与P点到adjoinPoint的代价和(5+0和10+0)与源节点到adjoinPoint代价(无穷(默认值))相比要小,根据上面的过程分析,需要将源节点到adjoinPoint的代价更新为源节点到P与P到adjoinPoint的代价之和。第三次,先从Q组找一个起点到源节点路径最小的节点P,P点就是图中的z点。P点相邻的节点有x,s点,源节点到x点距离根据上图可知为

#算法#数据结构#c++
数据结构-压缩软件核心-C++(利用哈夫曼树进行编码,对文件进行压缩与解压缩)

这个字符是什么字符在要压缩的文件中出现次数这个字符的哈夫曼编码这个字符在字符字典中的位置同时还需要一个字符字典,用于查阅每个字符对应的哈夫曼编码。同时,通过这个字典还可以找到文件中出现多少个字符。# pragma once # include "common.h" //字符结构体 struct Char {//字符 unsigned int _times;//字符出现次数 std :: strin

#数据结构#c++#开发语言
数据结构(C++)[B树(B-树)插入与中序遍历,效率分析]、B+树、B*树、B树系列应用

所以,分裂后原节点,兄弟节点,新节点各个都有2/3的数据,B*树分配新结点的概率比B+树要低,且新节点与原来节点的数据均分,空间使用率更高。eg:三阶B树插入关键字(53, 139, 75, 49, 145, 36, 50, 47, 101)B+树是B树的变形,是在B树的基础上优化的多路平衡搜索树,B+树的规则与B树基本类似。B*树是B+树的变形,在B+树的非根和非叶子节点再增加指向兄弟节点的指针

#b树#数据结构#c++
数据结构 - 拓展突破(C++实现中缀表达式转前缀表达式,中缀表达式转后缀表达式,前缀表达式求值,中缀表达式求值)

从右至左扫描表达式,从右边第一个字符开始判断如果当前字符(或字符串)为数字或变量,则直接压入数字栈内;如果是运算符,则弹出两个数字运算;如此反复,直到读完整个表达式;输出前缀表达式为: * ,+,a,b,+,c,d。从右至左扫描中缀表达式,从右边第一个字符开始判断。输入中缀表达式:(a+b) * (c+d)整体思路正好于后缀相反。初始化一个运算符栈st。

#数据结构
C/C++ 后端开发学习知识点总结(思维导图C、C++与数据结构、Linux、网络、MySQL)

注意:这里只是简单的将知识点罗列了一下,可能有遗漏还请见谅思维图中没有标记 了解 的都很重要!1.C语言

#linux#学习#运维 +1
数据结构-难点突破(C++实现树的双亲表示法,孩子表示法,孩子兄弟表示法(树转化为二叉树))

其存储过程是:从树的根节点开始,使用顺序表依次存储树中各个节点。需要注意,与双亲表示法不同的是,孩子表示法会给各个节点配备一个链表,用于存储各节点的孩子节点位于顺序表中的位置。通过孩子兄弟表示法,任意一棵普通树都可以相应转化为一棵二叉树,它们是一一对应的。具体实现方案是:从树的根节点开始,依次存储各个结点的孩子结点和兄弟结点。孩子表示法存储普通树采用的是 “顺序表+链表” 的组合结构。如果节点没有

#数据结构#c++#链表
    共 30 条
  • 1
  • 2
  • 3
  • 请选择