- 博客(7)
- 资源 (2)
- 收藏
- 关注
转载 求二叉树的宽度
二叉树的宽度是指二叉树各层结点个数的最大值。求二叉树的宽度可以依据与二叉树的层次遍历,我们知道,二叉树的层次遍历借助于deque实现,每次打印当前结点后将其左子树右子树入队,此时队列中既包含当前层的结点,也包含下一层的结点,若我们将当前层的结点全部出队,剩余的就是下一层的结点个数。所以,我们可以使用maxWidth来表示最大宽度,若下一层的结点个数大于maxWidth,则更新maxWidth,最终...
2018-11-29 22:23:36 1130
原创 非递归算法求二叉树的深度
原理: 1.采用层次遍历的方法, 2.设置变量level记录当前结点所在层数, 3.设置变量last指向当前层最右结点, 4.每次层次遍历出队时,与last指针作比较,若两者相等,那么层数加1, 并让last指向下一层最右结点,至少遍历完成.level的值即为二叉树的高度 #include <stdio.h> #include <stdlib.h> typedef 1000...
2018-11-29 22:19:55 3802 2
原创 双链表的插入排序算法
#include <stdio.h> #include <stdlib.h> typedef struct Node{ int data; struct Node *llink,*rlink; }*DLinkList; void INSLINKLIST(DLinkList list){ DLinkList save,p,q,r; p=list->rlink->...
2018-11-29 09:36:20 1438
原创 选择排序(链表表示)
#include <stdlib.h> typedef int keyteype; typedef struct Node{ keyteype data; Node *link; }*LinkList; void SHELLINKSORT(LinkList list){ LinkList save,r,p,q,s; //list指向头结点 save = list; while...
2018-11-27 10:22:13 706
原创 快速排序非递归算法
#define MaxN 1000 typedef int keytype; void QUICKSORT(keytype K[],int n){ int i,j,left,right,pos=-1; int buf[MaxN][2];//数组buf用以保存下一趟快拍的起始和末尾位置 keytype temp; while(1){/*K[left]为分界元素*/ i = left; ...
2018-11-27 10:21:37 1818 5
原创 大顶堆插入新元素
typedef int keytype; void INSHEAP(keytype K[],int &n,keytype item){ int i,j; n++;//长度加一 i=n; while(i!=1){ j = i/2; //j为i的双亲结点 if (item < K[j]) { break; } K[j] = K[i]; //将k[j]下移...
2018-11-27 10:19:33 1278
原创 C语言重要知识点
sizeof(int) 返回int占用的字节数,malloc(unsigned size) 功能是在内存的动态存储区中分配长度为size个字节的连续空间。 calloc(unsigned n, unsigned size) 是分配n个大小为size个字节的连续空间。 所以分配两个int的连续动态存储单元,表达为: malloc(2*sizeof(int)) 或 calloc(2,sizeof(i...
2018-11-18 20:25:05 227
glove.6B.100d.txt
2020-05-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人