计数排序(Counting Sort)是一种稳定的排序算法。它通过计算每个元素出现的次数,然后依次将元素放入正… 继续阅读 如何实现计数排序算法?
分类: 数据结构与算法
如何实现桶排序算法?
桶排序(Bucket Sort)是一种简单的排序算法。它将数组分到有限数量的桶子里,每个桶子再分别排序(有可能… 继续阅读 如何实现桶排序算法?
如何实现BFS和DFS搜索算法?
BFS(广度优先搜索)和DFS(深度优先搜索)是两种重要的搜索算法。我们可以在二叉树中实现BFS和DFS搜索算… 继续阅读 如何实现BFS和DFS搜索算法?
如何实现二叉树的后序遍历非递归算法?
二叉树的后序遍历(Postorder Traversal)问题是先后序遍历左子树,然后后序遍历右子树,最后访问… 继续阅读 如何实现二叉树的后序遍历非递归算法?
如何实现二叉树的中序遍历非递归算法?
二叉树的中序遍历(Inorder Traversal)问题是先中序遍历左子树,然后访问根节点,最后中序遍历右子… 继续阅读 如何实现二叉树的中序遍历非递归算法?
如何实现二叉树的前序遍历非递归算法?
二叉树的前序遍历(Preorder Traversal)问题是先访问根节点,然后前序遍历左子树,最后前序遍历右… 继续阅读 如何实现二叉树的前序遍历非递归算法?
如何实现二叉搜索树的插入和删除操作?
二叉搜索树(Binary Search Tree)是一个二叉树,其中左子树中的节点值小于根节点值,右子树中的节… 继续阅读 如何实现二叉搜索树的插入和删除操作?
如何实现二叉树的层次遍历算法?
二叉树的层次遍历(Level Order Traversal)问题是按层遍历一棵二叉树。我们可以使用队列实现二… 继续阅读 如何实现二叉树的层次遍历算法?
如何实现二叉树的镜像算法?
二叉树的镜像问题是翻转一棵二叉树的左右子节点。我们可以使用递归实现二叉树的镜像算法: 算法流程: 递归翻转左右… 继续阅读 如何实现二叉树的镜像算法?
如何实现回文串判断算法?
回文串是正读和反读都一样的字符串。我们可以使用双指针法实现回文串判断算法: 算法流程: 将字符串转为小写,并去… 继续阅读 如何实现回文串判断算法?
如何实现最大公共前缀算法?
最大公共前缀(Longest Common Prefix)问题是求多个字符串的最大公共前缀。 我们可以使用横向… 继续阅读 如何实现最大公共前缀算法?
如何实现最大子数组和算法?
最大子数组和(Maximum Subarray Sum)问题是求一个数组中的最大子数组和。 我们可以使用动态规… 继续阅读 如何实现最大子数组和算法?
如何实现最长上升子序列算法?
最长上升子序列(Longest Increasing Subsequence, LIS)问题是求一个序列中的最… 继续阅读 如何实现最长上升子序列算法?
如何实现Prim最小生成树算法?
Prim 算法是一种用于寻找权重最小的生成树的算法。它会从某个节点开始,逐步添加与该节点直接相连且权值最小的节… 继续阅读 如何实现Prim最小生成树算法?
如何实现Kruskal最小生成树算法?
Kruskal 算法也是一种得到最小生成树的算法。它会从所有边中选取权重最小的边,若该边的两个节点不在同一个连… 继续阅读 如何实现Kruskal最小生成树算法?
如何实现拓扑排序算法?
拓扑排序是对有向无环图(DAG)中节点的一种排序方式。它将DAG中节点排成一个线性序列,使得如果存在一条从节点… 继续阅读 如何实现拓扑排序算法?
如何实现最小生成树算法?
最小生成树是连接图中所有节点的最小权重的树。常用的算法有 Prim 算法和 Kruskal 算法。 我们可以使… 继续阅读 如何实现最小生成树算法?
如何实现二叉树的遍历算法?
二叉树的遍历是非常常见和重要的操作。主要有前序遍历、中序遍历和后序遍历三种方式。 我们可以使用递归方式实现二叉… 继续阅读 如何实现二叉树的遍历算法?
如何判断一个二叉树是否为平衡二叉树?
平衡二叉树的定义是:它是一个空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树… 继续阅读 如何判断一个二叉树是否为平衡二叉树?
如何实现Floyd最短路径算法?
Floyd 算法是一种找到图中所有节点之间的最短路径的算法。我们可以使用邻接矩阵实现 Floyd 算法: Fl… 继续阅读 如何实现Floyd最短路径算法?