算法
文章平均质量分 50
None
拐几个弯
人生
展开
-
二叉树非递归先序、中序、后序遍历的完整C实现
介绍本文使用C语言完整实现二叉树的非递归先序、中序、后序遍历。以下是原递归算法(二叉树的先序、中序、后序遍历的递归实现算法):// 1.先序递归实现算法void PreOrder(BiTree T) { if (T != NULL) { visit(T); PreOrder(T->lchild); PreOrder(T->rchild); }}// 2.中序递归实现算法void InOrder(BiTree T) { if (T != NULL) { InO原创 2021-03-04 15:09:36 · 1473 阅读 · 4 评论 -
小白用最原始的语言来完全理解KMP算法
前言整了两天才算是领悟了KMP,够费劲的,回头再看好像还真的是一个挺简单的算法(以学习者角度看,非发明者)。网上有人说,KMP是一个很简单的算法,之所以难,是因为没有人能讲清楚。现在看来,好像是有点…。弄懂KMP算法后,感觉其实主要是两个大问题,一个是算法本身,一个是代码理解。以下纯属一些个人的见解,用于帮助翻了多篇文章但还是不甚理解的小伙伴,作一个思路上的参考,其实就是有一些疑惑没有解决,这些疑惑或许博主觉得太简单或者理所应当就没有提,但恰恰是给小白拦路的地方,所以文章主体是以 提问-解答 的方式来原创 2020-11-18 14:58:04 · 403 阅读 · 0 评论 -
C++中缀表达式转后缀表达式代码及思路
转换过程下面的 输出 一词表示将该值存起来(保存到要求的结果中),压栈 就是入栈的意思。①遇到操作数直接输出②遇到操作符:分种情况1.栈为空时: 无论操作符是什么,直接压栈2.新的操作符优先级比栈顶的高: 直接压栈(优先级: 括号 > * / > + -)3.新操作符是左括号: 直接压栈,且左括号只有在有右括号操作符时才出栈。4.新操作符是右括号: 右括号不入栈,从栈顶开始出栈并输出,直到碰到左括号才停下来(包括左括号也出栈,但是不输出),且一个右括号只能对应一个左括号,不能多出。原创 2020-10-10 18:50:27 · 2086 阅读 · 2 评论