
算法
Amazinqc
(ノ∀`*)
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
二叉树遍历(非递归)
二叉树遍历二叉树是一种很重要的数据结构, 二叉树的遍历又是二叉树的重要算法递归方法, 利用递归, 二叉树的前、中、后序遍历大致都是几行代码就可以实现。但是递归算法虽然方便了我们思考,却增大了机器跑代码的负担。void preorder(BinTree<T> tr) { // 前序遍历 if(tr == null) return; visit(tr.data); //...原创 2020-03-23 21:18:41 · 158 阅读 · 0 评论 -
快速排序
快速排序快速排序和冒泡排序一样, 都属于比较排序。快速排序的基本思想是: 选一个数,将比它小的都放左边, 比它大的放右边再循环其左边和右边的操作按某规则(这里选择第一个数)选取一个数作基准数(即, 中间数mid)依次从后往前找一个比mid小的放前面, 再从前往后找一个比mid大的放后面重复上一步操作, 直到找完整个数组(即, 前后指针相遇)依次对mid前的部分后mid后的部分进行相同...原创 2020-03-04 16:16:38 · 206 阅读 · 0 评论 -
归并排序java实现
归并排序使用递归算法实现比较简单,但是递归调用比较浪费资源,所以使用循环迭代实现了一下java代码原创 2020-02-28 16:34:35 · 213 阅读 · 0 评论 -
堆排序的java实现
有时利用特殊的数据结构可以极大的提高计算机的运算效率,堆排序利用了完全二叉树的便捷性,提高了排序的效率,时间复杂度为O(nlogn)原创 2020-02-28 11:42:50 · 144 阅读 · 0 评论 -
最短路径之Dijikstra(java简单实现)
最短路径的最简单的递归思想就是:从起始点start到某一个顶点v的最短路径,等于该顶点v的所有邻接点到start的最短路径加上这些邻接点到该点的路径中的最小数据用伪代码表示即:shortest[ start -> v ] = min{ shortest[ start -> neighbor(v) ] + weight(v -> neighbor(v)) }如此递归...原创 2020-02-23 20:49:19 · 296 阅读 · 0 评论 -
马踏棋盘问题(粗暴实现,未优化)
初学java,刚好再学习一下有关图的深度优先搜索。以下使用java实现了一下简单的马踏棋盘的问题:public class HourseChess { static final int SIZE = 8; private static boolean found = false; // 是否完成 public static void main(String[]...原创 2020-02-22 22:29:51 · 185 阅读 · 0 评论 -
最小生成树算法Prim和Kruskal
最小生成树Prim算法/** Prim算法过程简介: * Prim以顶点作为遍历对象,适用于邻接矩阵图(稠密图),即点少线多 * 使用lowcost记录当前已遍历的顶点的权值,每一位对应该顶点在已遍历过程中出现的最小权值 * lowcost初始化即任意选一顶点(一般0号顶点)作起始,将邻接矩阵图中该顶点与其它顶点的权值按序填入,该顶点本身权值为0 * 遍历初始化后的lowcost,找到...原创 2020-02-22 22:07:17 · 556 阅读 · 0 评论 -
KMP算法实现
利用java实现了一个KMP算法的代码原创 2020-02-21 16:41:00 · 215 阅读 · 1 评论