![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法与数据结构
数据结构的一些习题与算法
小宇little
在校大学生~
展开
-
非递归算法求二叉树高度(c语言)
思路:非递归则需要利用层序遍历思想,记录层数。每从队列中出满一队节点,则高度+1。设置变量记录队列长度与新入队元素的数量,当队列长度与新入队元素数量相等时,表明队列中上一层节点已经全部出队,此时队列中的节点全部为同一层节点。int findTreeHight(BiTree T){ Queue que; //创建队列 que = InitQueue(); BiTree t; t = T; PushQueue(&que,t); int h = 0; //记录高度 int child.原创 2021-05-06 00:20:03 · 3317 阅读 · 1 评论 -
二叉树层序遍历变形,自下而上、从右到左的遍历算法。
王道二叉树例题p141综合44.试给出二叉树的自下而上、从左到右的遍历算法思路:队列与栈的结合。将队列一层中的节点出队并将其压入栈中,栈按层弹出节点,并每次出队时将当前节点的左右孩子插入队尾。void ImLayerOrder(BiTree T){ Queue seq; SqStack s; seq = InitQueue(); InitStack(s); BiTree tmp; tmp = T; int ytag = 1; //记录队列中原有节点的个原创 2021-05-05 00:16:58 · 705 阅读 · 0 评论 -
C语言实现删除数组中重复元素(无序)
C语言实现删除数组中重复元素(无序)#include<stdio.h>int main(){ int a[10] = {1,2,7,7,3,9,4,4,11,3}; int k = 0; int i = 0; int j = 0; int n = 10; //元素个数 for( i = 0; i<n-k ; i++) { for ( j = 1; j<n-k; j++) { if(i!=j && a[i] == a[j])原创 2021-03-26 11:25:55 · 2525 阅读 · 1 评论