![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
Month7
目前就职于字节跳动
展开
-
遍历序列恢复二叉树
若已知结点的先序序列和中序序列,能确定一颗二叉树若已知结点的中序序列和后序序列,也能确定一颗二叉树算法思想:由先序序列和中序序列恢复二叉树的递归思想:先根据先序序列第一个结点确定二叉树的根结点,然后在中序序列中查找到该元素,根据该元素在中序序列中的位置,确定根结点的左,右子树的中序序列,再在先序序列中确定左,右子树的先序序列,最后由左子树的先序序列与中序序列建立左子原创 2017-05-03 15:12:18 · 27060 阅读 · 4 评论 -
求最小生成树 C语言描述
原帖地址:http://blog.163.com/zhoumhan_0351/blog/static/39954227200972732436582/克鲁斯卡尔算法:算法构造一棵最小生成树的过程如下:算法的描述:在图中任取一个顶点K作为开始点,令U={k},W=V-U,其中V为图中所有顶点集,然后找一个顶点在U中,另一个顶点在W中的边中最短的一条,找到后,将该边作为最小转载 2017-05-24 00:04:17 · 853 阅读 · 0 评论 -
图的深度优先遍历和广度优先遍历
图的遍历是指从图中的任一顶点出发,对图中的所有顶点访问且只访问一次。深度优先遍历:算法描述:(1)访问结点v。(2)找到v的第一个邻接点w。(3)如果邻接点w存在且未被访问,则从w出发深度优先遍历图;否则,结束。(4)找顶点v关于w的下一个邻接点,转(3)。完整代码:#include "stdio.h"#include "stdlib.h"#define原创 2017-05-14 20:31:23 · 604 阅读 · 0 评论 -
哈夫曼树编码C语言实现
实现哈夫曼树编码的算法可分为两大部分:(1)构造哈夫曼树;(2)在哈夫曼树上求叶结点的编码;哈夫曼树构造算法:(1)由给定的n个权值构造n棵只有一个叶结点的二叉树,从而得到一个二叉树的集合F={T1,T2,,...,TN}(2)在F中选取根结点的权值最小和次小的两棵二叉树作为左,右子树构造一棵新的二叉树,这棵二叉树根结点的权值为其左右子树权值之和(3)在集合F中删除作为左右...原创 2017-05-06 01:46:20 · 35006 阅读 · 11 评论 -
struct和typedef 总结
struct和typedef struct首先 以下内容均是在C中(在C和C++中有所不同)先写基本概念:结构体:定义一个结构体的一般形式为:struct 结构名{成员表列};typedef:typedef为C语言的关键字,作用是为一种数据类型定义一个新名字。例如:typedef long byte_4;给原创 2017-05-24 16:50:15 · 413 阅读 · 0 评论