算法
文章平均质量分 55
算法
_Kirito
计算机考古党,致力于挖穿计算机的祖坟。
展开
-
基于有限状态机的身份证合法性检测程序(C语言)
这里的状态是当前字符的位置,读入后续字符©便是触发事件,F1-F5是五种出错状态,S是检测通过的状态。最后一位可以是字符X。原创 2023-04-01 16:12:59 · 312 阅读 · 0 评论 -
快速排序的递归实现和非递归实现
一、快速排序的递归实现快速排序的思想是每次找到一个元素的位置,再在以这个元素分隔的两个子范围中分别再各自确定一个元素的位置,子子范围也是如此操作,当某个子范围只有一个元素或者没有元素时,便不再做任何操作。这是一个递归过程,递归退出的边界就是子范围中不存在元素或者只存在一个元素。基于这个思想,很容易便得到递归处理的代码:#include <cstdio>using namespace std;static void quickSort(int array[],int low,int原创 2021-02-19 22:34:30 · 2185 阅读 · 0 评论 -
输出具有n个结点的所有不同的二叉树-增强前序遍历形式输出-C++
我们知道具有n个结点的不同的二叉树的数量是个(这是一个卡塔兰数),那么如何确定这些二叉树是什么样子的呢?下面是博主的思路: 我们还知道一个入栈序列的不同出栈序列的数量也是个,于是博主就想:这不是巧了么,既然他们的数量是一样的,而且均不相同,那么是不是可以构建一个映射,使得不同的出栈序列和不同的二叉树进行一一对应呢。 于是,在博主的做了深入的观察和思考后,发现对于其中一个出栈序列,其实和某个二叉树的中序遍历结果是相对应的,而经过进一步探索,发现入栈序列是所有...原创 2020-09-19 23:42:10 · 1068 阅读 · 1 评论 -
寻找 有向图/无向图 所有环路的DFS暴力求解法(ps:C++代码,复杂度爆炸警告,生产环境慎用)
思路:1、DFS算法可以求解图中从一点到另一点的全部路径。2、通过枚举所有顶点的邻接点,然后通过DFS寻找枚举点到的所有路径来寻找环路。3、思路很简单,但是算法复杂度确实是太高了。下面上代码:#include <iostream>#include <vector>#include <algorithm>using namespace std;const int M = 100;int n, e, G[M][M];bool vis[M]原创 2020-09-08 17:27:13 · 1742 阅读 · 2 评论 -
java-图的广度优先遍历(邻接矩阵和邻接表两种存储方式)
自从步入码农的行列,这种基础性的东西就敲得少了,今天和经理讨论算法的时候发现自己有些忘得差不多了,今天特地回来复习复习。于是费了自己一个小时时间,从度娘复习了原理,然后自己摸索着重新实现了一下这个算法。邻接矩阵:package com.zhangyanujie.graph.adjacency_matrix;import java.util.Arrays;import java.ut...原创 2020-03-27 23:38:05 · 819 阅读 · 0 评论