- 博客(10)
- 收藏
- 关注
原创 数据结构 之 (5)常见的排序算法
对于排序的定义就是使一串记录,按照其中的某个或某些关键字的大小,递增或者递减的排列起来的操作。对于排序算法来讲比较重要的特性就是其稳定性,稳定性的定义是:在排序的过程中,两个相同的数据,经过排序后,如果能保证其相对位置不发生变化,则称该算法具备稳定性。一个稳定的排序,可以实现为不稳定的排序,但是本身就不稳定的排序,是不可能变成稳定的排序的...
2022-03-12 22:22:26
536
原创 数据结构 之 (4)二叉树经典(进阶)习题
上篇文章将树和二叉树的基本概念和操作进行了实现,但只单纯的了解这部分对于数据结构来讲是不够的,因此本片文章摄入一些二叉树的进阶习题,都是力扣或者牛客上相对比较经典的习题。对于二叉树结点的描述依然采用孩子表示法:class TreeNode{ TreeNode left; TreeNode right; int value; TreeNode(int value){ this.value = value; }}1、检查两棵树是否相同 isSa
2022-03-07 17:16:22
178
原创 数据结构 之 (3)二叉树的性质以及简单操作的实现
一、树的基本概念树是一种非线性结构,它是由n个有限结点组成一个具有层次关系的集合。结点的度:一个结点含有子树的个数称为该结点的度。树的度:一棵树中,所有结点度的最大值称为树的度。根结点:一棵树中,没有双亲结点的结点。结点的层次:从根开始定义起,根为第1层,根的子节点为第2层,以此类推。树的高度或深度:树中结点的最大层次。树通常的表示形式:双亲表示法、孩子表示法、孩子双亲表示法、孩子兄弟表示法等,较为常用的是孩子兄弟表示法:class TreeNode { int value; //
2022-03-05 19:53:20
316
原创 数据结构 之 (2)链表的习题
链表的升阶习题承接上一篇博客,出一篇单链表的进阶习题。本文出现的节点都是上篇文章定义过的,不再重复定义。1、设计一个时间复杂度为O(n),空间复杂度为O(1)的算法,判断一个链表是否为回文结构。本题因为对空间复杂度有要求,因此不能开辟过多的空间。思路:1、利用快慢指针,找到链表的中间位置。2、将中间位置到表尾的节点进行反转。3、从头和从尾两个方向遍历链表进行比较,判断是否是回文结构。public boolean chkPalindrome(){ if(head == null) re
2022-02-12 18:36:36
134
原创 不同数据类型在内存中的存储
C语言中常见的数据类型有:char(1个字节)、short(2个字节)、int(4个字节)、long(4个字节)、longlong(8个字节)、float、double以及布尔类型。其中char、short、int、long都属于整型其有unsigned和signed两种类型。而float、double属于浮点型。数组、结构体、枚举、联合类型都属于构造类型也即自定义类型。下面分别对不同类型数据在内存中的存储进行描述:1、整型在内存中的存储整数中负数和正数的存储原则不尽相同。在了解整型存储之前需要先知
2022-01-06 17:21:56
1676
原创 关于简易三子棋的实现细节(C语言)
三子棋游戏当中蕴含了数组、循环、函数等多种知识,对于初识C语言的小伙伴来讲是很好的锻炼思维逻辑的题目。如下图极为三子棋最终得简易实现图:在三子棋实现的过程中,需要建立三个新建项:1、test.c2、game.h3、game.c 其中test.c用于存放测试部分的代码,game.h用于存放函数的声明,game.c用于存放各个函数的具体定义。关于三子棋具体得到实现思路是:1、使用printf函数实现对三子棋初始菜单的打印;2、用户通过键盘输入1或0,来表明是...
2021-11-09 17:57:42
2605
2
原创 如何在Gitee上创建仓库并上传本地代码
1、Gitee创建仓库在Gitee上选择“新建仓库”,输入仓库名称(最好为英文),选择开源,并创建。2、将创建的仓库克隆到本地将创建步骤所产生的仓库地址复制,右键选择“Git Clone”-->"ok"打开克隆好的本地仓库文件,将需要放进仓库里的项目复制,粘贴。完成后右键选择“TortoiseGit”-->"Add"-->"Commit"--->"push"上传成功及建立成功...
2021-10-27 15:53:41
980
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人