自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 问答 (4)
  • 收藏
  • 关注

原创 第六章树和二叉树——6.3遍历二叉树和线索二叉树

第六章树和二叉树——6.3遍历二叉树和线索二叉树对于二叉树中的信息,我们如果需要遍历一遍有三种方法。先序,中序,后序。例6.1 用先序遍历二叉树Status preordertraverse(bitree t, Status(*visit)(telemtype e)){ if (t) { if (visit(t->data)) if (preordertraverse(t->lchild, visit)) if (preordertraverse(t->rc

2021-06-10 22:35:50 183 1

原创 第六章树和二叉树——6.2二叉树

第六章树和二叉树——6.2二叉树二叉树是树中的一个特殊结构。他的特点是每个结点的子树不超过2.且子树有左右序列之分。二叉树有很多性质。性质1 在二叉树的第i层上最多有2^(i-1)哥结点。性质2 深度为k的二叉树的最大结点数为2^k-1性质3任意一个二叉树,如果其终端结点为m,度为2的结点为m,则n=m+1。性质4 具有n个结点的完全二叉树的深度为k=|不大于log2 n的最大整数+1性质5 如果有一个结点数为n的完全二叉树,则任意结点i1.如果i=1,则i是树的根,无双亲,若i>1,

2021-06-10 20:11:29 129

原创 第六章树和二叉树——6.1树的定义和基本术语

第六章树和二叉树——6.1树的定义和基本术语在这一章节我们需要只要一些树的定义。这个树中中的结点所拥有的子树的数量叫做度。没有子树的结点叫做叶子。这个结点是他的子树的双亲。同一个双亲的结点互为兄弟。双亲在同一层次的称为堂兄弟。树中的最大层次称为数的深度。...

2021-06-10 19:42:07 104

原创 第五章数组和广义表——5.3:矩阵的压缩矩阵

第五章数组和广义表——5.3:矩阵的压缩矩阵稀疏矩阵的三元顺序表存储表示#define maxsize 12500typedef struct{ int i, j; elemtype e;}triple;typedef struct{ triple data[maxsize + 1]; int mu, nu, tu;}tsmatrix;例5.1采用三元组表存储表示,求稀疏矩阵m的转职矩阵ttatus transposematrix(tsmatrix m, tsmatrix&am

2021-06-09 23:04:00 82

原创 第五章数组和广义表——5.2:数组的顺序表示和实现

第五章数组和广义表——5.2:数组的顺序表示和实现我们看看数组的顺序存储表示#include<stdarg.h>#define maxx 8typedef struct{ elemtype* base; int dim; int* bound; int* constants;}array;下面是部分基本算法若维数和随后的各维长度合法没构建数组aStatus initarray(array& a, int dim, ...){ if (dim<1 |

2021-06-09 22:19:57 72

原创 第五章数组和广义表——5.1:数组的定义

第五章数组和广义表——5.1:数组的定义数组我们可以理解为矩阵类似于a[x][y]这样的矩阵,矩阵不懂得建议看看线性代数。

2021-06-09 12:07:56 50

原创 第四章串——4.2:串的表现和实现

第四章串——4.2:串的表现和实现我们对于串的定长顺序表示如下#define chushi 255typedef unsigned char sstring[chushi + 1];例4.2我们首先进行串的连接Status concat(sstring& t, sstring s1, sstring s2){ if (s1[0] + s2[0] <= chushi) { t[1..s1[0]] = s1[1..s1[0]]; t[s1[0] + 1..s2[0]] =

2021-06-07 21:00:15 205

原创 第四章串——4.1:串类型的定义

第四章串——4.1:串类型的定义串是线性结构中最后一个知识了。我们之前的线性表,栈和队列,都是存储的数字元素,而串存储的是字符元素。串里有n个字符,则串的长度为n,串里没有字符的时候为空串。串中任意个连续的字符组成的子序列称为该串的子串。包含子串的串相应的称为主串。通常字符在序列中的序号为该字符在串中的位置。串的基本程序这里不做讲解,下面讲一个编写的串有关的子程序。t为非空串,若主串s中第pos哥字符之后存在与t相等的子串返回位置,否则返回0.int index(string s, strin

2021-06-07 19:08:10 188

原创 第三章栈和队列——3.4:队列

第三章栈和队列——3.4:队列在学习完栈之后,我们开始进行队列的学习。队列和线不同,虽然也是线性表的一种,但队列是先进先出类型。我们可以把队列想象为一群人排队过隧道,第一个从隧道出来的是队头的人,想要进隧道的依次排在队尾。队列并没有很多算法进行学习,只要知道其基本程序即可。对于队列我们需要掌握链队列。用链表表示的队列简称为链队列。所以一个链队列需要两个指针,一个指向队头叫做头指针,一个指向队尾,叫做尾指针。为了方便我们给链队列交了一个头结点,并让头指针指向头结点。下面是链队列的存储结构。type

2021-06-07 14:13:23 143

原创 第三章栈和队列——3.2:栈的应用举例

第三章栈和队列——3.2:栈的应用举例因为栈的后进先出的特性,栈可以用来解决很多问题,我们接下来处理几个栈应用的典型例子。对于一个任意输入的非负十进制数,打印出与其等值的八进制数。// An highlighted blockvar foo = 'bar';...

2021-06-07 13:02:48 815

原创 第三章栈和队列——3.1:栈

第三章栈和队列——3.1:栈我们开始栈和队列的学习。我们先开始学习栈。栈也是一种线性表。不过栈是从下往上放的,我们可以想象一个箱子,元素就是一本本书,我们在放书的时候先放的书都是放在最下面的,而在取书的时候,先取得书都是上面的,所以栈的元素有后进先出的特点,对于栈来说最上面的元素称为栈顶,最下面的元素称为栈底。不含元素的栈称为空栈因为栈也是一种线性表,所以栈的程序和上一张的线性表类似。在这里我们先了解栈的第一种存储结构,顺序存储。对于栈的顺序存储我们的模板如下#define chushi 100

2021-06-06 21:59:18 59

原创 第二章线性表——2.3:线性表的链式表示和实现

第二章线性表——2.3:线性表的链式表示和实现在上一节我们看到了顺序存储结构在进行插入和删除的时候都需要从起点开始,在移动数据上花费大量的时间,因此人们想出了链式结构来解决这个问题。一个链表中由很多结点组成,节点中有两个域,分别为数据域和**指针域。**数据域中存储元素信息,指针域中存储下个节点的地址。学习链表,我们先从单链表学起。单链表又称为线性链表,因为他的每个结点中只有一个指针域。而一个单链表的存取都是从头指针开始的。头指针中没有元素信息,只有下一个结点的地址,同时单链表中的最后一个结点中的指

2021-06-06 19:06:05 133

原创 第二章线性表——2.2:线性表的顺序表示和实现

第二章线性表——2.2:线性表的顺序表示和实现在上一节中我们大概讲了下线性表,但是在计算机中,一个元素的所占的空间并不都是1个存储单元。所以我们假设线性表中的每个元素需要消耗L个存储单元,并且一第一个单元的存储地址作为首地址,则第i+1个元素和第i个元素的存储位置关系就相差L个单元,第一个元素和第i个元素之间也就相差(i-1)*L个单元。像这样每个元素存储的地址是相邻的存储方式,我们称其为顺序存储结构。在这样的结构中,只要我们知道第一个元素的地址,那么任何一个元素的地址都能找到。例2.3在我们高级程

2021-06-06 16:00:03 263

原创 数据结构第二章线性表——2.1:线性表类型定义

第二章线性表——2.1:线性表类型定义线性表可以说是数据结构中最常用和最简单的一种数据结构了。线性表,可以说类似于 1 2 3 4 5 6这样的排序,这里面有6个元素,所以长度是6,当元素个数为0的时候我们称其为空表。再看,因为2的前面是1,所以1就是2的直接前驱元素,1的后面是2,所以2就是1的直接后驱元素,在上述的线性表中,由于1前面没有元素,所以1没有前驱,同理6没有后驱。然后读者在掌握最基本线性表的子程序后才能进行下一步学习。我们在解决线性表的问题的时候经常遇到把两个或两个以上的线性表合成一

2021-06-06 14:15:42 271 1

原创 数据结构第一章——什么是数据结构

**从零开始学习数据结构(c语言版)**欢迎小白跟我一起学习大学读了两年我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新的写作体验;在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;增加了 图片拖拽 功能,你可以将本地的图片直接拖拽到编辑区域直接展示;全新的 KaTeX数学公式 语法;增加了支持甘特图的mermaid语法1

2021-06-01 14:00:00 109 1

空空如也

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

TA关注的人

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