数据结构
文章平均质量分 67
Nanmi(发奋图强版)
一个两个三个小朋友,一起手拉手玩雪球
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
数据结构——排序(一、什么是排序)
摘要:排序算法的稳定性指关键字相同的元素在排序前后相对位置不变,但稳定性并非衡量算法优劣的标准。根据数据存储位置可分为内部排序(关注时间/空间复杂度)和外部排序(关注磁盘读写)。大多数内部排序基于比较操作,但基数排序例外。对于无重复关键字的排序,算法稳定性无关紧要。不稳定的排序算法可通过实例验证其不稳定性。原创 2025-08-07 01:03:01 · 139 阅读 · 0 评论 -
数据结构入门:像整理收纳一样简单!
摘要:数据结构是计算机科学中关于数据组织、存储和管理的学问。它包含数据元素、数据对象等基本概念,以及逻辑结构(如集合、线性、树形、图形结构)、存储结构(顺序、链式等)和运算操作(插入、删除、查找等)三大要素。就像整理衣柜或照片库一样,数据结构帮助程序员高效地组织和处理数据,是程序设计的重要基础。原创 2025-07-18 22:30:36 · 800 阅读 · 0 评论 -
单链表(带头结点)的基础操作(c++)
【代码】单链表(带头结点)的基础操作(c++)原创 2025-07-19 00:14:30 · 302 阅读 · 0 评论 -
数据结构——图(一、图的定义)
摘要:图是由顶点集V和边集E构成的非空结构(V≠∅)。根据边是否有方向分为有向图和无向图,其中无向图的边无序,有向图的边有序(弧)。顶点度数为关联边数,有向图还区分入度和出度。路径指顶点序列,回路是首尾相同的路径。连通图要求任意两点可达,强连通图要求双向可达。生成树是含全部顶点的极小连通子图(n个顶点n-1条边)。带权图称为网,完全图中任意两点间均有边(无向完全图有n(n-1)/2条边)。关键性质包括:n顶点图边数>n-1必有环,树必有n-1条边,强连通图至少需n条边。原创 2025-07-27 23:50:57 · 907 阅读 · 0 评论 -
数据结构——图(二、图的存储和基本操作)
本文介绍了图的四种存储结构:邻接矩阵、邻接表、十字链表和邻接多重表。邻接矩阵通过二维数组存储边信息,空间复杂度O(|V|²),适合稠密图;邻接表采用链式存储,空间复杂度O(|V|+|E|),适合稀疏图。十字链表和邻接多重表分别优化了有向图和无向图的存储。文章详细分析了各结构的特点、存储实现及基本操作(如增删顶点/边、查找邻接点等)的时间复杂度,并对比了四种方式的适用场景和优缺点,为图算法的存储选择提供了参考依据。原创 2025-07-28 14:53:07 · 1711 阅读 · 0 评论 -
数据结构——图(三、图的 广度/深度 优先搜索)
文章摘要:本文介绍了图的两种基本遍历算法——广度优先搜索(BFS)和深度优先搜索(DFS)。BFS使用队列辅助实现,具有O(|V|)空间复杂度,邻接表存储时时间复杂度为O(|V|+|E|),邻接矩阵为O(|V|²)。DFS采用递归实现,空间复杂度为O(1)到O(|V|),时间复杂度与BFS相同。文章还分析了图的连通性:无向图连通时一次遍历可访问所有顶点,非连通时遍历次数等于连通分量数;有向图需考虑路径可达性,非强连通分量一次遍历不一定能访问所有顶点。两种算法的时间复杂度均取决于图的存储结构。原创 2025-07-29 00:41:50 · 745 阅读 · 0 评论 -
数据结构——查找(一、什么是查找?)
查找是在数据集合中寻找特定元素的过程,分为静态查找表(仅查询)和动态查找表(支持增删)。查找表可以是线性表、链表等数据结构,查找方法包括顺序查找、折半查找和散列查找等。关键字是唯一标识数据元素的项(如学号),平均查找长度(ASL)衡量查找效率,计算比较次数的平均值。查找结果分为成功与失败,动态查找还需考虑插入删除速度。原创 2025-08-01 21:39:30 · 309 阅读 · 0 评论 -
数据结构——查找(二、顺序查找、折半查找和分块查找)
顺序查找也称线性查找,对线性表和链表都适用。顺序查找分为一般的无序线性表的顺序查找和对按关键字有序的线性表的顺序查找(判定树)对链表只能进行顺序查找顺序查找都可以使用链表和顺序表,都可以有序或无序。原创 2025-08-02 00:18:33 · 1122 阅读 · 0 评论 -
数据结构——查找(三、树形查找)
本文系统介绍了二叉排序树(BST)和平衡二叉树(AVL)的基本概念与操作。二叉排序树通过左小右大的特性实现高效查找(平均O(logn)),详细讲解了查找、插入、删除的递归/非递归实现,并分析了不同输入序列对树结构的影响。平衡二叉树通过平衡因子保证树高平衡,重点阐述了LL/RR/LR/RL四种旋转调整策略,以及插入删除后的平衡维护方法。文章通过代码示例展示了BST的完整实现,包括创建、遍历和节点操作,为理解和应用这两种重要数据结构提供了全面指导。原创 2025-08-04 01:59:48 · 882 阅读 · 0 评论 -
图——邻接矩阵基本操作算法实现
图——邻接矩阵基本操作算法实现Adjacent(G,x,y) 判断图是否存在边<x,y>或(x,y)Neighbors(G,x) 列出图中域结点x邻接的边InsertVertex(G,x) 在图中插入顶点xDeleteVertex(G,c) 在图中删除顶点xAddEdge(G,x,y) 若无向边(x,y)或有向边<x,y>不存在,则向图G中添加该边RemoveEdge(G,x,y) 若无向边(x,y)或有向边<x,y>存在,则从图G中删除该边FirstNeighbor(G,x) 求图中顶点x的原创 2025-07-28 02:28:59 · 283 阅读 · 0 评论 -
图——邻接表基本操作算法实现
本文介绍了基于邻接表的图数据结构实现,主要包含以下内容:1)采用结构体定义顶点和边结点,构建邻接表存储结构;2)实现图的初始化、顶点/边插入删除等基本操作;3)提供查找顶点位置、输出邻接表等功能;4)支持有向图和无向图两种类型,通过示例演示了创建图、添加边、删除顶点等操作。文章详细给出了各操作的C语言实现代码,并通过主函数测试验证了功能的正确性。原创 2025-07-28 22:46:12 · 558 阅读 · 0 评论
分享