算法+数据结构
文章平均质量分 77
Lamb!
这个作者很懒,什么都没留下…
展开
-
二叉树简介
二叉树是计算机科学中一种重要的数据结构,它在许多应用领域中都有广泛的用途。本文将介绍二叉树的概念、性质、常见类型和应用。二叉树是一种树形数据结构,它由节点构成,每个节点最多有两个子节点,通常称为左子节点和右子节点。这两个子节点可以为空,也可以包含数据或值。二叉树是一种层次结构,根节点位于树的顶部,其他节点按照层级依次排列。原创 2023-12-01 10:03:05 · 465 阅读 · 0 评论 -
队列(Queue):先进先出(FIFO)的数据结构
队列是一种基本的数据结构,用于在计算机科学和编程中管理数据的存储和访问。队列遵循先进先出(First In, First Out,FIFO)原则,即最早入队的元素首先出队。这种数据结构模拟了物理世界中的队列,如排队等待服务的人。在本篇中,我将详细介绍队列的概念、用途、实现以及如何在编程中使用队列。如有问题的地方请指出!!!原创 2023-11-10 11:37:36 · 1544 阅读 · 0 评论 -
算法:查找数组中第K大的元素
要查找一个数组中的第 K 大的元素,有很多方法可以实现,其中常用的方法就是使用分治算法或快速选择算法,这两种方法的时间复杂度到时候O(n)。原创 2023-11-02 13:37:58 · 628 阅读 · 1 评论 -
Floyd算法
所以,我们假设Dis(AB)为节点A到节点B的最短路径的距离,对于每一个节点X,我们检查Dis(AX) + Dis(XB) < Dis(AB)是否成立,如果成立,证明从A到X再到B的路径比A直接到B的路径短,我们便设置Dis(AB) = Dis(AX) + Dis(XB),这样一来,当我们遍历完所有节点X,Dis(AB)中记录的便是A到B的最短路径的距离。这里需要借助一个辅助数组Path,它是这样使用的:Path(AB)的值如果为P,则表示A节点到B节点的最短路径是A->...->P->B。原创 2023-08-11 16:04:32 · 299 阅读 · 0 评论 -
图的遍历之 深度优先搜索和广度优先搜索
它的思想是:从图中某顶点v出发,在访问了v之后依次访问v的各个未曾访问过的邻接点,然后分别从这些邻接点出发依次访问它们的邻接点,并使得“先被访问的顶点的邻接点先于后被访问的顶点的邻接点被访问,直至图中所有已被访问的顶点的邻接点都被访问到。它的思想:假设初始状态是图中所有顶点均未被访问,则从某个顶点v出发,首先访问该顶点,然后依次从它的各个未被访问的邻接点出发深度优先搜索遍历图,直至图中所有和v有路径相通的顶点都被访问到。在第1步访问A之后,接下来应该访问的是A的邻接点,即"C,D,F"中的一个。原创 2023-08-09 10:42:32 · 2444 阅读 · 0 评论 -
数据结构和算法
2. 3. 4.原创 2023-08-03 14:57:10 · 732 阅读 · 0 评论