数据结构和算法
笔记和题解
WUNNAN
这个作者很懒,什么都没留下…
展开
-
数据结构——栈(笔记)
栈 栈是限定仅在表尾进行插入和删除操作的线性表(先进后出) 允许插入和删除的一端叫做栈顶,另一端为栈底; 栈底是固定的,栈顶随着元素的进栈和出栈一直在移动 不含任何元素的叫做空栈 关于出栈的顺序:最先进栈的元素不一定是在最后出栈,有可能一进栈就出栈,一定是栈顶元素先出栈!!! 如果用数组保存数据,一般栈底的下标记为0; 定义变量top指示栈顶元素在数组中的位置,top无论如何都不能超过栈的最大长度maxsize(依据此条件判断栈是否已满) 为什么在创建栈的时候,top要等于-1? 因为当栈有一个元素时,此元原创 2021-11-01 20:05:25 · 409 阅读 · 0 评论 -
根据先序、中序、后序中任意两个遍历构建二叉树
根据先序、中序、后序中任意两个遍历构建二叉树 结构 typedef struct TNode *Tree; struct TNode { int data; struct TNode *Left; struct TNode *Right; }; 先序遍历+中序遍历 Tree BuildTree(int preorder[], int inorder[], int n) { if(!n) return NULL; Tree T = (Tree) malloc(siz原创 2021-12-22 14:53:13 · 416 阅读 · 0 评论 -
二叉树的递归和非递归遍历
递归遍历 先序遍历 void PreorderTraversal( BinTree BT ) { if(BT == NULL) return; printf(" %c", BT->Data); PreorderTraversal(BT->Left); PreorderTraversal(BT->Right); } 中序遍历 void InorderTraversal( BinTree BT ) { if(BT == NULL) return;原创 2021-12-30 21:48:11 · 93 阅读 · 0 评论