![](https://img-blog.csdnimg.cn/20190918140213434.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
算法数据结构
文章平均质量分 68
算法及数据结构的相关内容
物与我皆无尽也
好好学习,天天向上
展开
-
堆及其java手写实现
堆(Heap)是计算机科学中一种常用且高效的数据结构,通常被实现为一个完全二叉树。这个树形结构中的每个节点都有一个关联的值,并且这个值遵循一定的规则,从而使得堆具备特殊的性质,主要分为两种类型:大顶堆和小顶堆。基本概念:完全二叉树:这是一种特殊的二叉树,除了最后一层外,每一层都被完全填满,最后一层的节点都尽可能地靠左排列。数组表示:由于完全二叉树的特性,堆常通过数组来紧凑存储,其中数组的索引关系反映了节点间的父子关系。原创 2024-06-22 20:37:45 · 349 阅读 · 0 评论 -
二叉搜索树及其Java实现
二叉搜索树(Binary Search Tree,简称BST)是一种特殊的二叉树数据结构,它满足以下特性:有序性:对于树中的任意一个节点,其左子树中所有节点的值都小于该节点的值,而其右子树中所有节点的值都大于该节点的值。这意味着,对二叉搜索树进行中序遍历(先遍历左子树,再访问根节点,最后遍历右子树)会得到一个递增的有序序列。结构特性:每个节点最多有两个子节点,通常称为左子节点和右子节点。没有父节点的节点称为根节点,而没有子节点的节点称为叶子节点。原创 2024-06-22 21:34:23 · 362 阅读 · 0 评论 -
快速排序中从j往前遍历的原因分析
快速排序,倒序,分支,从j往前遍历原创 2024-01-10 18:47:24 · 843 阅读 · 0 评论 -
归并排序、快速排序选择的过程及复杂度分析
归并排序,快速排序,快速选择,算法及其时空复杂度分析原创 2024-01-06 23:21:01 · 943 阅读 · 0 评论 -
字典树(Trie) 单词查找树
字典树(Trie) 单词查找树 数据结构 java 算法原创 2021-03-19 22:45:38 · 484 阅读 · 0 评论 -
树的重建
树的重建已知二叉树的两序遍历求另一遍历注意已知前后遍历是无法唯一确认一棵树的,建议和笔者一样尝试一下。思路是根据前(后)序遍历,依次确定每个根节点,再根据中序遍历确认左右子树从而建树,因为建树过程(前+中->后)和后序遍历过程一致,故可以在建树时遍历,无需建完树再遍历。前序遍历是根->左->右,后序遍历是左->右->根,这就是为什么两断核心代码很是相似//前序和中序==>后序#include<iostream>using namespa原创 2021-03-17 21:37:38 · 1224 阅读 · 4 评论 -
密码锁
密码锁 队列你获得了一个据说是古代玛雅人制作的箱子。你非常想打开箱子看看里面有什么东西,但是不幸的是,正如所有故事里一样,神秘的箱子出现的时候总是会挂着神秘的锁。这个锁上面看起来有 N 个数字,它们排成一排,并且每个数字都在 0 到 2 之间。你发现你可以通过锁上的机关来交换相邻两个数字的顺序。比如,如果原来有 5 个数字 02120,在一次交换以后你就可以得到 20120,01220,02210 或者 02102。根据你所搜集的情报,这个锁在上面存在某连续四个数字是“2012”的时候会自动打开。现原创 2020-11-14 19:51:00 · 544 阅读 · 1 评论 -
阶乘之和(高精乘、高精加)
阶乘之和 高精乘 高精和 模拟原创 2020-08-22 21:25:13 · 594 阅读 · 0 评论 -
大数加、乘(A+B、A*B)
模拟与高精度 大数加法 大数乘法 c++ A+B A*B原创 2020-08-20 11:52:40 · 353 阅读 · 0 评论 -
蓝桥杯试题集 最短路径(SPFA算法)
最短路(SPFA) 给定一个n个顶点,m条边的有向图(其中某些边权可能为负,但保证没有负环)。请你计算从1号点到其他点的最短路(顶点从1到n编号)。 C++ SPFA算法原创 2020-08-14 15:36:20 · 700 阅读 · 0 评论