
数据结构
Month7
目前就职于字节跳动
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
遍历序列恢复二叉树
若已知结点的先序序列和中序序列,能确定一颗二叉树 若已知结点的中序序列和后序序列,也能确定一颗二叉树 算法思想: 由先序序列和中序序列恢复二叉树的递归思想: 先根据先序序列第一个结点确定二叉树的根结点,然后在中序序列中查找到该元素,根据该元素在中序序列中的位置,确定根结点的左,右子树的中序序列,再在先序序列中确定左,右子树的先序序列,最后由左子树的先序序列与中序序列建立左子原创 2017-05-03 15:12:18 · 27118 阅读 · 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 · 921 阅读 · 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 · 647 阅读 · 0 评论 -
哈夫曼树编码C语言实现
实现哈夫曼树编码的算法可分为两大部分: (1)构造哈夫曼树; (2)在哈夫曼树上求叶结点的编码; 哈夫曼树构造算法: (1)由给定的n个权值构造n棵只有一个叶结点的二叉树,从而得到一个二叉树的集合F={T1,T2,,...,TN} (2)在F中选取根结点的权值最小和次小的两棵二叉树作为左,右子树构造一棵新的二叉树,这棵二叉树根结点的权值为其左右子树权值之和 (3)在集合F中删除作为左右...原创 2017-05-06 01:46:20 · 35244 阅读 · 11 评论 -
struct和typedef 总结
struct和typedef struct 首先 以下内容均是在C中(在C和C++中有所不同) 先写基本概念: 结构体: 定义一个结构体的一般形式为: struct 结构名 { 成员表列 }; typedef: typedef为C语言的关键字,作用是为一种数据类型定义一个新名字。 例如: typedef long byte_4; 给原创 2017-05-24 16:50:15 · 456 阅读 · 0 评论