自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 数据结构 第13讲 三元组 (F、C、L/R) 序列创建二叉树

/*输入三元组 (F、C、L/R) 序列输入一棵二叉树的诸边(其中 F 表示双亲结点的标识,C 表示孩子结点标识,L/R 表示 C 为 F 的左孩子或右孩子),且在输入的三元组序列中,C 是按层次顺序出现的。设结点的标识是字符类型。F=NULL时 C 为根结点标识,若 C 亦为NULL,则表示输入结束。试编写算法,由输入的三元组序列建立二叉树的二叉链表,并以先序、中序、后序序列输出。...

2018-08-15 15:37:40 760

原创 数据结构第12讲二叉树的层次遍历

数据结构第12讲二叉树的层次遍历二叉树的遍历一般有先序遍历、中序遍历和后序遍历,这三种遍历比较简单。今天我们讲二叉树的另一种遍历方式,层次遍历。即按照层次进行遍历。如图1所示:图1二叉树对图1的二叉树,进行层次遍历:首先搜索第1层A,然后搜索第2层,从左向右B、C,再搜索第3层,从左向右D、E、F,再搜索第4层G,很简单吧,这就是层次遍历。程序是怎么实现层次遍历呢?用队列噢,很多同学...

2018-08-14 19:09:04 493

原创 数据结构第11讲二叉树及其创建

数据结构第11讲二叉树及其创建二叉树(Binary Tree)是n(n≥0)个结点所构成的集合,它或为空树(n = 0);或为非空树,对于非空树T:(1)有且仅有一个称之为根的结点;(2)除根结点以外的其余结点分为两个互不相交的子集T1和T2,分别称为T的左子树和右子树,且T1和T2本身又都是二叉树。也就是说,二叉树最多有两个”叉”,即最多有两个子树。如图1所示:二叉树一般...

2018-08-13 11:53:55 468 1

原创 数据结构 第10讲 好玩贪吃蛇——数字矩阵

数据结构 第10讲 好玩贪吃蛇——数字矩阵上题目:这是螺旋状的分布啊,有点像棒棒糖上面的圆圈圈。那么怎么解呢?一种思路:先填外围一圈,然后把内部看作一个子问题,继续填充。即前面的4*n-4个元素顺时针填充外围,剩下的问题变成用后面的元素填充一个规模为n-2的子问题。再用剩余元素的前面4*(n-2)-4个元素顺时针填充规模为n-2的子问题外围,剩下的问题变成用后面的元...

2018-08-12 18:09:56 652

原创 数据结构 第9讲 数组与广义表

数据结构 第9讲 数组与广义表数组是由相同类型的数据元素构成的有序集合。一维数组看一看作一个线性表,例如:图1一维数组二维数组也可以看作一个线性表,例如:图2二维数组(按列序)是不是可以看作一个线性表X=(X0,X1,X2,…,Xn-1)?只不过每一个数据元素Xi也是一个线性表。那么,横看成岭侧成峰:图3二维数组(按行序)也可以看作一个线性表Y=(Y...

2018-08-12 17:33:12 543

原创 数据结构第8讲 KMP算法

数据结构第8讲 KMP算法讲这个算法之前,我们首先了解几个概念:串:又称字符串,是由零个或多个字符组成的有限序列。如S=”abcdef”子串:串中任意个连续的字符组成的子序列,称为该串的子串,原串称为子串的主串。如T=”cde”,T是S的子串。子串在主串中的位置,用子串的第一个字符在主串中出现的位置表示。T在S中的位置为3。模式匹配:子串的定位运算称为串的模式匹配或串匹配。...

2018-08-10 11:50:08 853

原创 数据结构 第7讲 循环队列

数据结构 第7讲 循环队列过了一段时间,小张再也受不了这种”起早贪黑”的有车生活。为了解决胡同停车问题,小张跑了无数次居委会,终于将挡在胡同口的建筑清除,这样住在胡同尽头的小张,就可以早早回家停在家门口,每天第一个开车上班去了。现在胡同打通了,但仍然很窄,只能通过一辆车,但是可以从一端进,另一端出,画图:小汽车是线性排列,而且只能从一端进,另一端出,这就是”队列”,队列也是一种线性...

2018-08-09 11:22:41 392

原创 数据结构 第6讲 链栈

数据结构 第6讲 链栈进出的一端称为栈顶(top),另一端称为栈底(base)。栈可以用顺序存储,也可以用链式存储。顺序栈和链栈图解:顺序栈是分配一段连续的空间,需要两个指针,base指向栈底,top指向栈顶。而链栈每个结点的地址是不连续的,只需要一个栈顶指针即可。从上图可以看出,链栈的每个结点都包含两个域,数据域和指针域,是不是和单链表一模一样?那么我们就可以按单链表的定义。...

2018-08-08 23:43:03 1314

原创 数据结构 第5讲 顺序栈

数据结构 第5讲 顺序栈 小张终于攒钱买了车,可是他家住在胡同的尽头,胡同很窄,只能通过一辆车,而且是死胡同,每天小张都为停车发愁,回家早了停在里面,早上上班就要让所有的人挪车,先让胡同口那辆出去,然后挨着一辆一辆出去,小张才能去上班。没办法,小张下班也不敢早回家了,等天黑了别的车都停进去了,再回去把车停在胡同口,这样早上就可以第一个去上班了。就这样,过起了"起早贪黑"的有车生活。...

2018-08-05 22:16:57 432

原创 数据结构 第4讲 单链表 二

单链表取值单链表的取值不像顺序表那样可以随机访问任何一个元素,单链表只有头指针,各个结点的物理地址是不连续的,要想找到第i个结点,就必须从第一个结点开始按顺序往后数,一直数到第i个结点。那么具体怎么做呢?注意:链表的头指针不可以随意改动!一个链表是由头指针来标识的,一旦头指针改动或丢失,这个链表就不完整或找不到了。想想看,你拉着铁链子一头,另一端绑着水桶,到井里打水,你手一松,链子...

2018-08-04 21:37:03 729

原创 数据结构 第4讲 单链表

数据结构 第4讲 单链表链表是线性表的链式存储方式,逻辑上相邻的数据在计算机内的存储位置不一定相邻,那么怎么表示逻辑上的相邻关系呢?可以给每个元素附加一个指针域,指向下一个元素的存储位置。如图所示:从图中可以看出,每个结点包含两个域:数据域和指针域,指针域存储下一个结点的地址,因此指针指向的类型也是结点类型。结点结构体的定义:定义了结点之后,我们就可以把若干个结点连接在...

2018-08-03 20:10:50 364

转载 数据结构 第3讲 顺序表

数据结构 第3讲 顺序表顺序表是最简单的一种线性结构,逻辑上相邻的数据在计算机内的存储位置也是相邻的,可以快速定位第几个元素,中间不允许有空,所以插入、删除时需要移动大量元素。顺序表可以分配一段连续的存储空间Maxsize,用elem记录基地址,用length记录实际的元素个数,即顺序表的长度,结构体的定义:结构体定义后,如果要定义个顺序表L,就可以写:SqList...

2018-08-02 21:51:58 793

原创 结构体

学习结构体遇到的难点 一: char *s_gets(char *st,int n) { char * ret_val; char * find; ret_val = fgets(st, n, stdin); //从目标文件流stdin中读取n-1个字符,放入st起始地址的内存空间中 if(ret_val){ find = ...

2018-07-31 09:59:53 162

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除