数据结构
数据结构
_Pooooooocky
小小码丁
展开
-
「数据结构」三步搞定表达式中缀转后缀 手算法 通俗易懂 C语言
表达式中缀转后缀举个例子,一个式子:( 5 + 20 + 1 * 3 ) / 14如何把该式子转换成后缀表达式呢?其实就是分三步:按运算符优先级对所有运算符和它的运算数加括号 (原本有括号的不用加)。把运算符移到对应的括号后。去掉括号。对应的具体实现为:( ( ( 5 + 20 ) + ( 1 * 3 ) ) / 14 )( ( ( 520 ) + ( 13 ) * ) + 14) /520 + 13 * + 14 /...原创 2021-09-17 17:58:26 · 311 阅读 · 0 评论 -
「数据结构」后缀表达式的计算 栈的应用 C语言
算法流程对于一个后缀表达式,首先从左往右扫描每一个字符:① 如果扫描到数字,则将数字入栈,继续扫描下一个字符。② 如果扫描到运算符,则连续出栈两次,取出两个操作数进行运算,最后将运算的结果重新入栈。如此往复,直到扫描到终止运算符 “\0” 停止,此时栈底元素值即为表达式的值。代码逻辑(C语言)详细解析请看注释#include <iostream>using namespace std;#define maxSize 50int op (int a, char Op, in原创 2021-09-14 20:11:46 · 343 阅读 · 0 评论 -
二叉树-DFS非递归算法(前/中/后序)「数据结构算法精讲」
为了写测试代码,首先需要创建一颗二叉树。节点定义:typedef struct BTNode // 定义二叉树的节点{ char data; // 节点数据类型 struct BTNode *lchild; // 左孩子 struct BTNode *rchild; // 右孩子}BTNode;前序递归创建二叉树:BTNode *createBinaryTree() // 前序递归创建二叉树{ BTNode *p; char ch; cin &原创 2021-05-28 17:57:12 · 1792 阅读 · 0 评论