自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 数据结构作业之图与邻接表

数据结构之图此记录函数用于记录一个节点是否已经被遍历过

2022-05-31 22:13:54 318

原创 数据结构作业之n皇后问题与哈夫曼树

n皇后问题在n×n格的国际象棋上摆放n个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。算法设计回溯法在包含问题的所有解的解空间树中,按照深度优先搜索的策略,从根结点出发深度探索解空间树。当探索到某一结点时,要先判断该结点是否包含问题的解,如果包含,就从该结点出发继续探索下去,如果该结点不包含问题的解,则逐层向其祖先结点回溯。(其实回溯法就是对隐式图的深度优先搜索算法)。若用回溯法求问题的所有解时,要回溯到根,且根结点的所有可行的子树都

2022-05-29 22:05:23 851 2

原创 数据结构作业之二叉树的构建和排列

二叉树二叉树(Binary tree)是树形结构的一个重要类型。许多实际问题抽象出来的数据结构往往是二叉树形式,即使是一般的树也能简单地转换为二叉树,而且二叉树的存储结构及其算法都较为简单,因此二叉树显得特别重要。二叉树特点是每个节点最多只能有两棵子树,且有左右之分 。二叉树是n个有限元素的集合,该集合或者为空、或者由一个称为根(root)的元素及两个不相交的、被分别称为左子树和右子树的二叉树组成,是有序树。当集合为空时,称该二叉树为空二叉树。在二叉树中,一个元素也称作一个节点 。头函数及结

2022-05-23 11:44:18 161 2

原创 数据结构作业之矩阵

矩阵乘法本小结用数据结构简单实现了矩阵乘的基本算法。头文件及结构体#include <stdio.h>#include <malloc.h>#include <stdlib.h>#define ROWS 4#define COLUMNS 5/** * 二维数组 */typedef struct TwoDArray{ int rows; int columns; int** elements;}TwoDA.

2022-05-19 22:30:06 261

原创 数据结构作业之链队列和循环队列

队列队列 (Queue)是一种先进先出(first in first out :FIFO)的线性表。它只允许在表的一端进行插入,在另一端进行删除元素。这和我们平时战队买票很一样。最早进入队列的元素最先离开,在队列中,允许插入的一端叫做队尾(rear),允许删除的一段则称为队头(front).示意图如下:队列的分类队列主要分为两类:链式队列:链式队列即用链表实现的队列 顺序队列:顺序队列是用数组实现的队列,顺序队列通常必须是循环队列链式队列结构体和宏#include &lt.

2022-05-17 18:46:05 270 2

原创 数据结构作业之栈递归

递归程序调用自身的编程技巧称为递归( recursion)。递归作为一种算法在程序设计语言中广泛应用。 一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。递归的能力在于用有限的语句来定义对象的无限集合。一般来说,递归需要有边界条件、递归前进段和递归返回段。当边界条件不满足时,递归前进;当边界条件满足时,递归返回。累加的递归实现

2022-05-11 22:24:16 484 3

原创 数据结构作业之栈

栈的定义栈(stack)又名堆栈,它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。基础栈一,结构体和宏#include <stdio.h>#include <malloc.h>#define STACK_MAX

2022-05-10 22:26:32 353 6

原创 数据结构作业之多项式加法

多项式加法多项式加法想必大家都会,而用链表来算多项式加法就是运用结构体一次存储多项式的系数和指数。一,结构体定义和宏#include <stdio.h>#include <malloc.h>/** * 整数的链表。关键是数据。数据按非降序排序 */typedef struct LinkNode{ int coefficient; int exponent; struct LinkNode *next;} *LinkList, *NodePtr;二

2022-05-06 14:57:22 795 1

原创 数据结构作业三:双向链表与静态链表

双向链表:双向链表也叫双链表,是链表的一种,它的每个数据 结点 中都有两个 指针 ,分别指向直接后继和直接前驱。 所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。一,结构体定义及宏#include <stdio.h>#include <malloc.h>/** * 定义字符双向链表。 */typedef struct DoubleLinkNode{ char data; struct...

2022-05-02 20:50:48 672 4

原创 数据结构作业二链表

链表定义链表是由一系列连接在一起的结点构成,其中的每个结点都是一个 数据结构 。 链表的结点通常是动态分配、使用和删除的,允许链表在程序运行时增大或缩小。 如果需要将新信息添加到链表中,则程序只需分配另一个结点并将其插入到系列中。 如果需要从链表中删除特定的信息块,则程序将删除包含该信息的结点。代码分析一,宏及结构体定义#include <stdio.h>#include <malloc.h>/** * 定义字符单链表。 */typede.

2022-04-29 11:46:59 158 2

原创 数据结构之线性表课后作业

线性表的定义线性表是最基本、最简单、也是最常用的一种数据结构。线性表(linear list)是数据结构的一种,一个线性表是n个具有相同特性的数据元素的有限序列。线性表中数据元素之间的关系是一对一的关系,即除了第一个和最后一个数据元素之外,其它数据元素都是首尾相接的(注意,这句话只适用大部分线性表,而不是全部。比如,循环列表逻辑层次上也是一种线性表(存储层次上属于链式存储,但是把最后一个数据元素的尾指针指向了首位结点)。分类我们说“线性”和“非线性”,只在逻辑...

2022-04-25 21:35:06 924

空空如也

空空如也

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

TA关注的人

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