自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 收藏
  • 关注

原创 图不连通怎么办?

无论是图的深度还是广度遍历都是从图的某一条边往下走,那么被孤立的结点怎么被遍历到呢?

2024-07-29 22:00:24 195

原创 图的遍历及其C语言实现

就像在同心圆中层层扩展,从起始点开始,先访问所有与起始点直接相连的节点,再访问与这些节点相连的节点,以此类推。就像在迷宫中行走,选择一个方向不断往前走,直到无法再继续前进时才回头寻找其他路径。若有 N个顶点、 E条边,时间复杂度是。若有 N个顶点、 E条边,时间复杂度是。

2024-07-29 21:30:12 384

原创 图——“多对多”的逻辑结构

名字:图(Graph)数据对象集:G( V, E )由一个非空的有限顶点集合V和一个有限边集合E组成。操作集合:对于任意图G∈Graph,以及v∈V,e∈E。Graph Create():建立并返回空图;Graph InsertVertex(Graph G , Vertex v):将v插入G;Graph InsertEdge(Graph G , Edge e):将e挿入G;void DES( Graph G , Vertex v ):从顶点v出发深度优先遍历图G;

2024-07-29 18:33:12 330

原创 并查集——集合的高效实现

并查集(Union-Find)是一种特殊的数据结构,它可以用于处理一些不相交集合的合并及查询问题。集合是一个更广泛的概念,是一组无序且不重复元素的组合。并查集是对集合的一种具体应用和操作方式。在并查集中,每个元素都属于一个特定的集合。并查集主要支持两个重要操作:“合并”(Union)和“查找”(Find)。“合并”操作将两个集合合并为一个集合。“查找”操作用于确定一个元素所属的集合。

2024-07-29 12:12:13 497

原创 哈夫曼树与哈夫曼编码

哈夫曼树的一个典型应用是文件压缩,尤其在ZIP文件、JPEG图片以及MP3音乐文件等多种压缩格式中都有广泛应用。为了说明它的具体应用,我们可以以文本文件压缩为例。

2024-07-28 21:55:11 679

原创 堆——优先队列的实现

用数组表示的完全二叉树,堆是一种常用来实现优先队列的树形数据结构。堆通常以树形结构组织元素,但使用数组来存储这些元素。这种方法可以高效地管理完全二叉树的结构。以下是一个更详细的解释以及如何在C语言中实现这个概念。

2024-07-28 16:57:57 432

原创 平衡二叉树(AVL树)

当我们以不同次序将结点插入二叉树时,会导致出现不同的搜索树,以至于每一种树都有一种平均搜索长度ASL,那么什么情况下树的搜索长度最小呢?〖例〗搜索树结点不同插入次序,将导致不同的深度和平均查找长度ASL可以看到当左右子树的高度差不超过1时就能达到我们的要求,也就是平衡二叉树了。平衡因子(Balance Factor,简称BF): BF(T) = hL-hR, 其中hL和hR分别为T的左、右子树的高度。平衡二叉树AVL树空树,或者。

2024-07-27 22:35:35 195

原创 二叉搜索树

也称或二叉搜索树:一棵二叉树,可以为空;如果不为空,满足以下性质:1. 非空的所有的键值。2. 非空的所有的键值。3. 左、右子树。二叉搜索树操作的特别函数::从二叉搜索树BST 中查找元素X,返回其所在结点的地址;:从二叉搜索树BST中查找并返回 最小元素所在结点的地址;:从二叉搜索树BST中查找并返回 最大元素所在结点的地址。

2024-07-27 15:37:42 896

原创 遍历二叉树的应用:由两种遍历序列确定二叉树

 对左子树和右子树分别递归使用相同的方法继续分解。 根据根结点在中序遍历序列中分割出左右两个子序列。 根据先序遍历序列第一个结点确定根结点;

2024-07-27 12:47:52 95

原创 遍历二叉树的应用:求二叉树的高度

二叉树的高度等于左右子树的高度中的最大值加一,我们递归的求左右子树的高度,最后累加起来就是我们所需要的结果。

2024-07-27 12:24:50 155

原创 遍历二叉树的应用:输出二叉树中的叶子结点

由于我们说过,在进行二叉树遍历时所走的路线是一样的只是访问结点的时机不同而已,对于这个问题,我们采用任意一种遍历方式;只要在输出结点的时候加一个前置的条件判定——“该节点的左右子树是否都为空?

2024-07-27 12:12:18 208

原创 二叉树的遍历

提纲挈领的说,先序中序后序的遍历区别在于。

2024-07-26 21:44:15 351

原创 二叉树的抽象数据类型定义

 void LevelOrderTraversal( BinTree BT ):层次遍历,从上到下、从左到右。 void PreOrderTraversal( BinTree BT ):先序----根、左子树、右子树; void InOrderTraversal( BinTree BT ): 中序---左子树、根、右子树; void PostOrderTraversal( BinTree BT ):后序---左子树、右子树、根。数据对象集:一个有穷的结点集合。:遍历,按某顺序访问每个结点;

2024-07-26 21:08:58 172

原创 二叉树及其存储实现C语言(附上源码)

二叉树是一种特殊的树型结构,其特点是每个结点至多只有两棵子树(即二叉树不存在度大于二的结点),并且二叉树的子树有左右之分,次序不可颠倒【有序树二叉树T:一个有穷的结点集合。-这个集合可以为空;-若不为空,则它是由根结点和称为其左子树TL和右子树TR的 两个不相交的二叉树组成。 二叉树具体五种基本形态 二叉树的子树有左右顺序之分。

2024-07-26 17:24:13 345

原创 什么是树?

树(Tree): n(n≥0)个结点构成的有限集合。当n=0时,称为空树;对于任一棵非空树(n> 0),它具备以下性质: 树中有一个称为“根(Root)”的特殊结点,用 r 表示; 其余结点可分为m(m>0)个互不相交的有限集T1,T2,... ,Tm,其 中每个集合本身又是一棵树,称为原来树的“子树(SubTree)

2024-07-26 16:37:54 545

原创 考研数据结构之时间复杂度的计算

1.基本操作即只有常数项,认为其时间复杂度为O(1)2.顺序结构,时间复杂度按加法进行计算3.循环结构,时间复杂度按乘法进行计算4.分支结构,时间复杂度取最大值5.判断一个算法效率时,往往只需要关注操作数量的最高次项,其他次要项和常数项可以忽略在没有特殊说明时,我们所分析的时间复杂度都是指最坏时间复杂度。

2024-07-25 11:56:02 357

原创 PostMan工具的使用

代码编写完后,我们要想测试,只需要打开浏览器直接输入地址发送请求即可。发送的是GET请求可 以直接使用浏览器,但是如果要发送的是POST请求呢?如果要求发送的是post请求,我们就得准备页面在页面上准备form表单,测试起来比较麻烦。所以我 们就需要借助一些第三方工具,如PostMan. PostMan是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件。PostMan是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件。作用:常用于进行接口测试特征:简单 实用 美观 大方。

2024-07-25 10:13:41 157

原创 算法的理解及其复杂度分析

根据算法写成的程序在执行时占用存储单元的长度。这个长度往往与输入数据的 规模有关。空间复杂度过高的算法可能导致使用的 内存超限,造成程序非正常中断。

2024-07-24 17:40:37 556

原创 队列及其C语言实现

队尾入队,队头出队,一个受限制性的线性表。队列(Queue):具有一定操作约束的线性表• 插入和删除操作:只能在一端插入,而在另一端删除。• 数据插入:入队列(AddQ)• 数据删除:出队列(DeleteQ)• 先来先服务• 先进先出:FIFO。

2024-07-24 09:57:17 1255

原创 堆栈及其C语言实现

堆栈的顺序和链式实现

2024-07-23 21:59:03 519

原创 线性表及其C语言实现

线性表(Linear List):由同类型数据元素构成有序序列的线性结构。特点:1.表中元素个数称为线性表的长度;2.线性表没有元素时称为空表;3.表的起始位置称为表头,表的结束位置称为表尾。

2024-07-22 23:04:43 302

原创 什么是数据结构

抽象数据类型,是一种描述数据结构的很好的方法。是对数据结构的数据集合及其操作集合的抽象表示。数据类型数据对象集合数据集合相关操作集合抽象与存放数据的机器无关与数据存储的物理结构无关与实现操作算法的编程语言均无关“只描述数据对象集与操作集是什么?不涉及怎么做到的问题。

2024-07-22 23:03:22 105

原创 高通410随身wifi刷入debian后拓展存储及部署视频网站和外壳加装

带5v供电口的拓展坞,母对母usb转接口,网上买的便宜优盘,连接方式如下图。

2024-07-16 22:57:28 701 2

原创 最优装载问题与贪心算法

System.out.println("要装的集装箱号为:");然后依此顺序将集装箱装上轮船,直到不能装为止。个集装箱依其重量从小到大排序。

2023-06-07 19:22:17 94 1

原创 活动安排问题与贪心算法

/这里需要按每个活动的结束时间将二表按升序排列。存储所选择的活动,先将排序好的第一个活动加入集合。//双层循环遍历俩表。3,直到所有的活动都被检查完。个活动按结束时间的非减序排列。中所有活动的最大结束时间。

2023-06-07 18:07:33 55 1

原创 背包问题与贪心算法

i++) {//遍历每个商品是否装下,或者是装部分。System.out.println("贪心背包所装下的最大物品价值为:"+max+"元!//与动态规划不同的是,贪心算法的每一步都是取最优值,所以不一定会得出问题0-1背包的最优解。//贪心算法解决背包问题时的策略是将按单位价值比最大的物品依次向下遍历直到装满背包。//在这里用一下定制排序。用贪心算法解背包问题的基本步骤。

2023-06-06 19:59:05 64 1

原创 矩阵连乘与动态规划

/矩阵规模,pi-1表示矩阵Ai的行,pi表示Ai的列。System.out.println("该矩阵序列连乘问题的最优值是:" + min);r++)//r个矩阵相乘。

2023-06-05 13:35:41 56 1

原创 最长公共子序列与动态规划

System.out.println("其最长公共子序列的LCS为:" + max);//根据递推公式一行一行向下填表。

2023-06-05 11:41:02 42 1

原创 0-1背包问题与动态规划

System.out.println("最大商品价值为:" + max + "元!//根据递推表达式一行一行地填表。

2023-06-05 11:40:12 41 1

原创 动态规划与最大子段和问题

动态规划算法在许多实际问题中都非常有效,尤其是那些具有重叠子问题和最优子结构特征的问题。例如,对于一个背包问题,状态可以表示为一个包含所有物品和它们的重量的数组。它的基本思想是将大问题分解为若干个相互依赖的小问题,通过求解小问题的最优解来得到整个问题的最优解。选择最优子结构:为了避免重复计算,需要确保只有当当前状态的最优解可用时才更新记忆化表中的值。这些初始值通常是问题的边界条件,即问题中已知的最小或最大值。回溯求解:根据状态转移方程从最后一个状态开始,逐步回溯到初始状态,以求解整个问题的最优解。

2023-05-27 23:47:39 328 2

图的遍历及其C语言实现

图的遍历及其C语言实现

2024-07-29

图不连通怎么办?套上一层循环完美解决

图不连通怎么办?套上一层循环完美解决

2024-07-29

并查集-集合的高效实现

并查集-集合的高效实现

2024-07-29

C语言实现哈夫曼树的构建与哈夫曼编码

能读文件,统计词频,再编码

2024-07-28

堆:以完全二叉树形式组织元素并以数组存贮

堆:以完全二叉树形式组织元素并以数组存贮

2024-07-28

二叉搜索树的查找插入删除

二叉搜索树的查找插入删除

2024-07-27

遍历二叉树的应用:求二叉树的高度

遍历二叉树的应用:求二叉树的高度

2024-07-27

遍历二叉树的应用:输出二叉树中的叶子结点

遍历二叉树的应用:输出二叉树中的叶子结点

2024-07-27

二叉树的遍历附上注释(先序,中序,后序,层序,递归与非递归)

二叉树的遍历附上注释(先序,中序,后序,层序,递归与非递归)

2024-07-26

二分查找代码实例附上注释

二分查找代码实例附上注释

2024-07-26

加一取余法的示例,实现0~max-1的循环输出

加一取余法的示例,实现0~max-1的循环输出

2024-07-24

链式队列的C语言实现附上注释

链式队列的C语言实现附上注释

2024-07-24

循环队列的c语言实现附上注释

循环队列的c语言实现附上注释

2024-07-24

堆栈的顺序存储实现附上注释

堆栈的顺序存储实现附上注释

2024-07-23

堆栈及其C语言实现附上注释

堆栈及其C语言实现附上注释

2024-07-23

链表的C语言实现带注释

链表的C语言实现带注释

2024-07-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除