
数据结构
文章平均质量分 78
数据结构的基础知识的理论及代码
为梦而生~
Python新星创作者,优快云潜力新星,阿里云社区专家博主。我在学习的是算法和机器学习、深度学习的相关内容,欢迎大家来与我探讨交流,一起进步!在我的博客中,你可以找到我对于某些知识点的理解和经验分享,也欢迎与我交流和讨论编程相关的话题。谢谢你的光临!
展开
-
【算法 & 高级数据结构】树状数组:一种高效的数据结构(二)
上一篇文章我们介绍了树状数组这个数据结构,并且进行了其原理的数学推导,这篇文章基于上一篇文章,来讲一下这个数据结构在算法题中的应用原创 2024-03-25 17:17:56 · 1328 阅读 · 52 评论 -
【算法 & 高级数据结构】树状数组:一种高效的数据结构(一)
树状数组(Binary Indexed Tree,BIT)是一种数据结构,用于高效地处理数组的动态查询和更新操作。它可以在O(log n)的时间复杂度内完成单点更新和前缀和查询操作。树状数组常用于解决数组频繁更新和查询前缀和的问题,比如求解**逆序对、区间和**等。原创 2024-03-08 14:43:48 · 2320 阅读 · 68 评论 -
【二叉树】利用前序和中序遍历结果生成二叉树并输出其后序和层序遍历结果
本设计使用的是广度优先搜索算法,并且需要输出路径,所以用到了栈和队列。根据二叉树先序和中序遍历的结果,生成该二叉树。并输出后序、层序遍历结果。原创 2023-07-25 19:16:55 · 2538 阅读 · 16 评论 -
利用栈和队列共同解决迷宫问题
迷宫问题是一道经典的算法问题,旨在寻找一条从起点到终点的最短路径。通常迷宫由一个二维矩阵表示,其中0代表可通过的空地,1代表墙壁不可通过。在此条件下,需要运用数据结构中的图算法如广度优先搜索(BFS)或深度优先搜索(DFS)等找出一条从起点到终点的最短路径。例如,以下就是一个迷宫:(其中1表示墙壁不可通过,0表示可以通过的路径。起点为(1,1),终点为(15,15))迷宫问题是求解从起点到终点的路径,使得路径能够遍历迷宫所有有效格子的问题。这个问题在计算机科学中被广泛研究,有很多种算法可以解决。原创 2023-05-31 16:34:05 · 1540 阅读 · 0 评论 -
约瑟夫问题及求解方法
队是一种特殊的线性表,它只允许在一端进行插入,在另一端进行删除,允许插入的一端称为队尾,通常用一个队尾指示器指向队尾元素;允许删除的一端称为排头,用一个排头指示器指向排头元素。在队列中,最先插入的元素将最先删除,因此又称队为先进先出线性表。n个人围坐在圆桌周围,从某个人开始编号为1,2,3,4,…,n,编号为1的位置上的人从1开始报数,数到m的人出列,从下一个人又从1开始报数,数到m的人便是第二个出列的人。如此重复下去,直到最后一个人出列为止。原创 2023-05-12 19:56:57 · 3475 阅读 · 1 评论 -
图的存储及基本操作总结(邻接矩阵、邻接表)及C/C++代码实现
图是一种比较复杂的数据结构,每个结点之间可以有多种关系。所以,一个图可以呈现出千奇百怪的形式。对于不同的形式的图,我们可以用不同的存储方式来进行存储。对于边比较少而结点很多的图,我们需要把更多的存储空间用于存放顶点的信息,如果两个顶点之间不存在边,那么就不需要花费存储空间来说明这个地方没有边。对于边比较多而顶点相对没那么多的图,在每一个顶点之间,都很有可能存在边,如果每一条边都单独考虑,会显得比较繁琐。对于插入和删除边的操作做的比较多的图。原创 2023-04-22 18:54:34 · 4748 阅读 · 3 评论 -
【kmp算法】原理以及代码实现
KMP算法是一种改进的字符串匹配算法,由D.E.Knuth,J.H.Morris和V.R.Pratt提出的,因此人们称它为克努特—莫里斯—普拉特操作(简称KMP算法)。KMP算法的核心是利用匹配失败后的信息,尽量减少模式串与主串的匹配次数以达到快速匹配的目的。具体实现就是通过一个next()函数实现,函数本身包含了模式串的局部匹配信息。KMP算法的时间复杂度O(m+n)文字来源:百度百科。原创 2021-02-20 09:10:10 · 1166 阅读 · 0 评论 -
【串】基本操作和实现
【代码】【串】基本操作和实现。原创 2021-10-10 16:59:16 · 1006 阅读 · 0 评论 -
【哈夫曼树】基本概念、构建过程及C++代码
由于普通的C语言实现的代码在大多数地方都能找到,这里就只展示C++改进的代码。给定n个权值分别为w1,w2,…根据树的带权路径长度的计算规则,原创 2022-06-01 22:45:35 · 1413 阅读 · 0 评论 -
【线索二叉树】C++代码及线索化过程详解
不含头结点的线索二叉树详解~快来看看吧!原创 2022-05-23 20:08:42 · 1406 阅读 · 0 评论 -
数据结构各内部排序算法总结对比及动图演示(插入排序、冒泡和快速排序、选择排序、堆排序、归并排序和基数排序等)
介绍算法的执行过程、算法可视化演示、算法代码、对比总结原创 2022-07-24 23:44:36 · 4434 阅读 · 3 评论