数据结构
孤舟独钓寒江雪
这个作者很懒,什么都没留下…
展开
-
后序+中序—>层序(树)
<font face="Times New Roman"> 分析:与后序中序转换为前序的代码相仿(无须构造二叉树再进行广度优先搜索~),只不过加一个变量index,表示当前的根结点在二叉树中所对应的下标(从0开始),所以进行一次输出先序的递归过程中,就可以把根结点下标index及所对应的值存储在map<int, int>level中,map是有序的会根据index从小到大自动排序,这样递归完成后level中的值就是层序遍历的顺序~~ </font> #include &原创 2021-02-26 09:24:40 · 168 阅读 · 0 评论 -
后序+中序—>前序/先序(树)
后序:3, 4, 2, 6, 5, 1(左右根) 中序:3, 2, 4, 1, 6, 5(左根右) 前序:1, 2, 3, 4, 5, 6(根左右) 分析:因为后序的最后一个总是根结点,令i在中序中找到该根结点,则i把中序分为两部分,左边是左子树,右边是右子树。因为是输出先序(根左右),所以先打印出当前根结点,然后打印左子树,再打印右子树。左子树在后序中的根结点为root – (end – i + 1),即为当前根结点-(右子树的个数+1)。左子树在中序中的起始点start为start,末尾end点为i原创 2021-02-26 09:09:08 · 133 阅读 · 0 评论 -
数据结构—队列
#include <stdio.h> #include <stdlib.h> #define OVERFLOW -2 #define OK 1 #define ERROR 0 typedef int QElemType; //单链队列结构体定义 typedef struct QNode { QElemType data; struct QNode *next; }QNode,*QueuePtr; typedef struct { QueuePtr fr原创 2021-03-19 01:28:12 · 60 阅读 · 0 评论 -
数据结构-栈的应用
数值转换 #pragma warning(disable:4996) #include <iostream> #include <cstring> #include <cstdio> #include <cstdlib> #include <cmath>//OVERFLOW using namespace std; //顺序栈 #define STACK_INIT_SIZE 100//存储空间初始分配量 #define STACKINCREME原创 2021-03-19 00:15:38 · 81 阅读 · 0 评论