数据结构——树的简单操作集合
2015-07-30 10:05
246 查看
很多数据结构的书上讲解数据机构时都是采用伪代码实现,其实感觉蛮不直观的,所以对于所有的数据结构操作我都将其用C实现一遍。
树是学习二叉树的基础,也是后面理解B树,B+树的等树的基础,下面就给出树的几个简单操作,方便理解。
对于树的操作不需要做太多,大多数都是针对二叉树的操作,所以就给出了简单的几个操作,足矣。
树是学习二叉树的基础,也是后面理解B树,B+树的等树的基础,下面就给出树的几个简单操作,方便理解。
数据结构
[code]//-------数据结构---------------------------------------- #define m 3 //定义度为3的树 typedef char datatype; typedef struct node { datatype data; struct node* child[m]; }treenode; //------------------------------------------------------
基本操作
[code]//--------操作------------------------------------------ void preorder(treenode* t) { int i; if (t) { printf("%c",t->data); for(i=0;i<m;i++) { preorder(t->child[i]); } } } void postorer(treenode* t) { int i; if (t) { for(i =0;i<m;i++) { postorer(t->child[i]); } printf("%c",t->data); } } //必须用指针的指针,如果实参是一个指针,则形参只是一个实参指针的拷贝,所以实参指针的值是不会改变的。 void createtree(treenode** p) { //输入的时候直接输AB###C###D###回车 int i;char ch; scanf("%c",&ch); if (ch =='#') { *p = NULL; } else { *p = (treenode*)malloc(sizeof(node)); (*p)->data = ch; for (i =0;i<m;i++) { createtree(&((*p)->child[i])); } } } //------------------------------------------------------
对于树的操作不需要做太多,大多数都是针对二叉树的操作,所以就给出了简单的几个操作,足矣。
相关文章推荐
- 郝斌视频学习笔记001
- 数据结构——二叉树的链式存储操作集合
- 数据结构之红黑树(二)——插入操作
- 数据结构之红黑树(二)——插入操作
- 《一起学》系列5:算法与数据结构
- 系列5:算法与数据结构
- 《程序员面试宝典》-数据结构编程练习1
- 数据结构和算法学习笔记-3
- 数据结构之---C语言实现图的十字链表存储表示
- Remove Duplicates from Sorted List II 解答(有个比较特殊的case leetcode OJ没有覆盖)
- 数据结构---数的操作
- 数据结构之---C++语言实现图的十字链表存储表示
- 数据结构录 之 主席树。
- 字典树 一种快速插入查询数据结构
- 例3.1 猜猜数据结构 UVa11995
- Hbase系统架构及数据结构
- 数据结构---位运算
- 有关java 数据结构
- 数据结构一:企业级顺序存储底层库封装
- 【算法与数据结构】二叉查找树算法实现