自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 408 王道数据结构的学习记录

定义:具有相同数据类型的n个数据元素的有限序列(n为表长)n = 0就是一个空表a1是唯一个的“第一个“数据元素,表头元素an是唯一个的”最后一个“数据元素,表尾元素除了表头元素,其余每个元素都有且仅有一个直接前驱;除了表尾元素,其余每个元素有且仅有一个直接后继同时与数组那些不同的是,线性表中的位序是从1开始的总结一下线性表的一些基本特性:元素个数有限,对应有限序列元素具有一定的顺序性,表中元素有其次先后顺,对应序列表中元素都是数据元素,每个元素都是单个元素。

2025-09-17 23:59:12 462

原创 简单的学生管理系统

采用ArrayList集合来存储信息,动态存储,一定程度节省空间,运用switch结构便于阅读,封装函数(但集合的遍历没有封装,导致代码重复性较高,可以改进,但我懒得改了),采用了链式编程(可以减少变量的定义),运用制表符,美化表的结构(因为id和姓名一般较长,所以采用了两个制表符,其余地方就只采用了一个)定义一个javabean类作为学生信息的基本单元,按照javabean的要求:有有参构造和无参构造,同时成员变量私有化,设置set以及get函数。哈哈哈哈哈,最近刚学数据库,也就会这么一点))

2025-03-20 20:41:58 247 1

原创 根据前序与中序遍历的结果得到二叉树并输出其后序遍历

采用递归的方式,首先我们简单地来分析一下,对于一个前序遍历和中序遍历来说,我们可以将两者同时分为3个部分,分别是根结点,根结点的左子树和根结点的右子树,我们将左子树与右子树看作为一个整体。再而我们又可以对这个整体进行分析,其中依然会有一个根结点和左右子树,依次类推,直到左右子树中没有东西,即为空。同时我们也因该注意左右子树中是否存在的情况,即只有其左右子树有内容才建。首先我采用了string来存储字符串,因为他方便,比vector和数组都方便。如何通过一个二叉树的前序与中序遍历的结果得到这个二叉树呢?

2024-06-02 13:33:56 323

原创 KMP算法

BF算法,也称为Brute-Force算法或简单匹配算法,是。BF算法的主要思想是从主串S的第pos个字符开始,与子串T进行一一比较,如果发现不匹配,则主串S向后移动一个字符,重新开始与子串T的比较,直到找到完全匹配的位置或者主串S的所有可能起始位置都比较完毕。:将主串S和子串T左对齐。:从主串S的第一个字符开始,与子串T的第一个字符进行比较。:如果比较结果相同,则继续比较下一个字符;如果不同,则将主串S向右移动一位,重新开始比较。:重复上述比较和移动的步骤,直到主串S的所有可能起始位置都比较完毕。

2024-05-20 21:57:01 517

原创 多态(类)

类模板:类模板是用于设计结构和成员函数完全相同,但所处理的数据类型不同的通用类。

2024-05-20 14:43:24 838

原创 类的基本概念

对象:描述客观事物的一个实体,其中包含对象的属性和行为。类是对对象的抽象化,类会概括对象,抽象起来就是数据与其对应的操作。数据便为静态存储,操作便为动态特征。

2024-05-18 21:36:23 778

原创 C++语法基础

cin.read(char*str,streamsize count ):从输入流中读取指定个数的字符,第一个参数是一个字符型的指针用于指向一个字符型数组,stramsize是一种有符号整型(具体与int的不同可以去csdn上查),count表示读取字符的数量。cout.width(int width):用于设置输出字段的宽度的方法,如果输出的宽度小于指定的宽度,会默认用空格进行填充(填充在其左侧)以达到设置的宽度,也可以通过cout.fill来设置填充的字符。:右对齐是指文本在指定的字段宽度内向右对齐。

2024-05-14 20:43:26 124

原创 利用DFS和BFS解决基本的迷宫问题

代码有待加强,合理运用了ASSIIC码,个人认为分情况使用栈或者队列来存储会更加简单,这里用string略显麻烦,大家可以自行修改。

2024-05-11 22:16:16 474 2

原创 利用BFS和DFS实现对无向图的遍历(图的表达方式为邻接矩阵和邻接表)

主要原因在于函数的调用中传递的形参只是新开了一个内存只是一个形式上的参数,并不是原来的实参,你可以更改实参中访问到的内容信息,但你无法对实参本身进行修改,你修改的仅仅是形参,但形参中存放着与实参相同的内容,因从你可以对形参中可以的信息进行更改(如形参为一个指针,你可以更改指针指向的内容,但你无法更改指针的指向一样)DFS:深度优先搜索,采用递归的思想,选取一个结点,进行深入,访问了一个结点则设置一个参数,来说明其已经被访问,递归的终点就是结点的所有邻接结点都已经被访问,则返回。假设总共有n个结点(顶点)

2024-05-08 11:09:42 983 1

原创 二叉树操作的总和

首先,在上述代码中大量了使用递归,同时我也采用了栈和队列来帮助我来存储一些数据,根据栈和队列的特点来实现我的目标。在上述代码中,也使用了大量的函数重载,主要是为了保护树的根结点,同时函数的重载使得代码更加清晰,能够让人更好地去使用这份代码,提高了其方便性。13、删除某个结点的左右子树(这个里面的代码写得比较差,没有释放结点的空间,只是删除了根结点对左右子树的指向,可以嵌套上一个函数进行修改,我比较懒,就不改了)23、输出所有叶子结点到根结点的路径。21、输出某个叶子结点到根结点的路径。

2024-04-20 17:40:11 565

原创 关于int *&与int *在函数中的思考

以上便是我关于int *&与int *在函数中的思考,简要来说就是函数的作用域和函数内更改参数的问题!实际并未有什么太深奥的东西,以上都只是我自己的一点思考,可能会有说得不对的地方,望大家见谅!

2024-04-16 19:03:40 1152 3

原创 二叉树的建立、遍历以及一些简单的操作

#include#includeusing namespace std;typedef struct node{ struct node* left; struct node* right; char data;}node;class tree{private: node* root;public: node* Createtree( char*s, int& i);//建树 void preorder(no

2024-04-12 09:41:32 589

原创 树的一些基本概念

树是一种非线性的数据结构,由n个结点组成且具有一定的层次关系。树的递归定义树有一个根结点,根节点没有前驱结点。除根节点之外的其余结点被分为若干互补交互的集合,每一个集合构成一颗树,称作子树子树中如果没有结点则称为空树。树具有如下性质:子树之间不能有交集除了根结点外,每个结点有且仅有一个父节点一棵具有n个结点的树有n-1条边。除了根节点,新添加一个结点便会添加一个边。树的相关定义结点的度:一个结点含有的子树的个数称为该结点的度。叶结点(终端结点):度为0的结点称为叶结点。

2024-04-09 20:07:09 375

原创 c++中使用类实现三元组顺序表的转置,加法与乘法

代码写得一塌糊涂,大家随便看看就好。

2024-04-08 15:13:58 711 3

空空如也

空空如也

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

TA关注的人

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