- 博客(17)
- 收藏
- 关注
原创 三子棋游戏(C语言)
玩家通过二维数组的坐标,将 ’ ’ 改为 ‘ * ’ , 来表示下棋。本例电脑为随机下棋,即随机产生一个坐标,将‘ ’改为‘ # ’游戏双方下完每一步后,都需要判断输赢。tips:讲解写在代码注释中。
2023-05-08 17:25:59
136
原创 数据结构之图(三)
基本思想如下:首先访问图中某一起始顶点v,然后从v出发,访问与v邻接且未被访问的任一顶点w1,再访问与w1邻接且未被访问的任一顶点w2…当不能再继续向下访问时,依次退回到最近被访问的顶点,若它还有邻接顶点未被访问过,则从该点开始继续上述搜索过程,直至图中所有顶点均被访问过为止。图的遍历比树的遍历要复杂得多,因为图的任一顶点都可能和其余顶点相邻接,所以访问某个顶点后,可能沿着某条路径搜索回到该顶点上。在从这些访问过的顶点出发,访问它们所有未被访问过的邻接顶点,直到图中所有顶点都被访问过为止。
2023-04-24 21:06:35
123
原创 数据结构之树与二叉树(二)
二叉树是另一种树形结构,其特点是每个结点至多只有两颗子树(即二叉树中不存在大于2的结点),并且二叉树的子树有左右之分,其次序不能任意颠倒。与树相似,二叉树也以递归的形式定义。二叉树是n(n >= 0) 个结点的有限集合,该集合或者为空集(称为空二叉树),或者由一个根结点和两颗互不相交的、分别称为根结点的左子树和右子树的二叉树组成。二叉树具有以下五种基本形态空二叉树、只有一个根结点、根结点只有左子树、根结点只有右子树、根结点即有左子树又有右子树。
2023-04-20 22:43:41
847
7
原创 数据结构之串(二) 模式匹配算法
这是最简单的模式匹配,即暴力匹配算法。从主串S的第一个字符起,与模式串T的第一个字符比较。若相等,则继续逐个比较后续字符;若不相等,则从主串的下一个字符起,重新和模式串的所有字符比较。以此类推,直到模式串T中的每个字符依次与主串S中的一个连续的字符序列(子串)相等,则匹配成功,函数返回模式串T首字符在主串S中的位置。否则匹配失败,函数返回值为0.朴素模式匹配算中指针 i 与 指针 j 会不断回退再进行比较,时间复杂度为O((n-m+1)*m),n为主串长度,m为模式串长度。
2023-04-16 22:47:04
141
4
原创 数据结构之线性表(List)(一)
线性表是具有相同类型的n(n >= 0)个数据元素的有限序列,其中n为表长,当n=0时,线性表为空表。若用L命名线性表,则一般表示为:L=(a1,a2,...ai,ai+1,...,an)。其中,a1是唯一的“第一个”数据元素,又称为表头元素;an是唯一的“最后一个元素”,又称为表尾元素。除第一个元素外,每个元素有且仅有一个直接前驱;除最后一个元素外,每个元素有且仅有一个直接后继。以上为线性表的逻辑特性。线性表的顺序存储又称顺序表。
2023-04-05 21:43:07
766
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人