数据结构的c语言之美

c语言是一种编程语言,编程语言有很多种。

数据结构是关于一些数据的理论知识。

可以说,无论什么编程语言都可以用到数据结构的知识,数据结构是编程的基础和核心知识。

把C语言想成一门语言,那么数据结构就是一门说话的技能。如何让自己的发言更简洁,更有逻辑,更容易理解,不管你用中文还是英文都可以。

当然,如果你想成为一名优秀的程序员,你必须掌握好数据结构。

下载《数据结构(C语言版)》pdf在线阅读全文,求百度网盘云资源。 数据结构(C语言版)(严为民)电子书在线磁盘下载和免费在线阅读。

链接:

提取代码:mwrr

标题:数据结构(C语言版本)

作者:严为民

豆瓣评分:6.1

出版社:清华大学出版社

出版年份:2012年5月

页数:335

内容介绍:

《数据结构》(C语言版)是数据结构课程的教材,也可以作为学习C程序设计中数据结构及其算法的参数教材。

本书前半部分从抽象数据类型的角度讨论了数据结构的各种基本类型及其应用;后半部分主要讨论搜索排序的各种实现方法及其综合分析比较。其内容和章节安排与1992年4月出版的《数据结构(第二版)》基本相同,但本书更突出了抽象数据类型的概念。书中使用类C语言作为数据结构和算法的描述语言。

关于作者:

严为民清华大学计算机系教授,长期从事数据结构教学和教材建设工作。与吴伟民合作编写的《数据结构》获第二届全国高校优秀教材特等奖和1996年国家科技进步三等奖。

吴伟民广东工业大学计算机学院副教授。广东省计算机学会图像图形分会秘书长。长期从事数据结构教学和系列教材建设。主要研究领域:数据结构与算法、可计算性、编译与虚拟机技术、智能系统等。与严为民合作主编的《数据结构》获第二届全国高校优秀教材特等奖,1996年国家科技进步三等奖。

数据结构(用C语言描述) #包含stdio.h

#包含stdlib.h

#包含数学. h

#定义数据类型int

#定义MAXSIZE 1000

typedef结构节点{

数据类型数据;

结构节点* lchild

结构节点* rchild

} BiTreeNode

数据类型BT[MAXSIZE];

BiTreeNode* BuildBTree(数据类型BT[],int n,int i)

{

BiTreeNode *节点;

if(I = n | |(node =(BiTreeNode *)malloc(sizeof(BiTreeNode)))= = NULL)返回NULL;

node-data = BT[I];

node-lchild = BuildBTree(BT,n,2 * I 1);

node-rchild = BuildBTree(BT,n,2 * I 2);

返回节点;

}

void PrintLevel(BiTreeNode * bt,intLevel,int l)

{

如果(!bt)回报;

中频(低电平)

PrintLevel(bt-lchild,Level,l 1);

if(l == level)

printf("M ",Bt-data);

中频(低电平)

PrintLevel(bt-rchild,Level,l 1);

}

/*位于凹面表示输出之前,通常以前导空格进行缩进# */

/*pre和sur分别是前导字符和后续字符。通常,前导字符是空格字符,# */

void PrintTree(BiTreeNode *bt,char pre,char sur,int depth,int level){

if(bt==NULL)返回;/*如果是空树,返回;;*/

int I = 0;/*前缀输出根*/

while( ilevel) printf("%c%c%c%c ",pre,pre,pre,pre);//凹,输出前导字符

printf("M ",Bt-data);//输出当前节点

while(i depth) printf("%c%c%c%c ",sur,sur,sur,sur);//输出后续字符

printf(" \ n ");

/*输出子树*/

PrintTree(bt-lchild,pre,sur,depth,level 1);

PrintTree(bt-rchild,pre,sur,depth,level 1);

}

无效CTBT(整数)

{//建立初始n个节点的完整二叉树。

而(n-)BT[n]= n;

}

int main()

{

int i,n,深度;

BiTreeNode * bt

scanf("%d ",n);

CTBT(北);

bt = BuildBTree(BT,n,0);

深度=(int)(log(n)/log(2))1;

I = 0;

while(I =深度)

{

printf(" \ n % DTH级别:",I);

PrintLevel(bt,I,1);

}

printf(" \ n ");

PrintTree(bt,' ','-',深度,1);

返回0;

}

经过调试,这个没问题,所需的三个功能已经完成。

相关文章

发表新评论