自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 二叉树及基本操作详解

每棵子树的根结点有且只有一个前驱,可以有。:若一个结点含有子结点,则这个结点称为其子结点的父结点;1.有一个特殊的结点,称为根结点,根结点没有前驱结点。:一个结点含有的子树的根结点称为该结点的子结点;:以某结点为根的子树中任一结点都称为该结点的子孙。n个结点的二叉树,当且仅当其每一个结点都与深度为K。:一棵树中,所有结点度的最大值称为树的度;:一个结点含有子树的个数称为该结点的度;:具有相同父结点的结点互称为兄弟结点;:从根到该结点所经分支上的所有结点;:一棵树中,没有双亲结点的结点;

2024-08-04 01:03:46 474

原创 栈和队列之队列

只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出FIFO(First In First Out) 入队列:进行插入操作的一端称为出队列:进行删除操作的一端称为入队列peek()获取队头元素int size()获取队列中有效元素个数检测队列是否为空E poll()出队列例题:设计你的循环队列实现。循环队列是一种线性数据结构,其操作表现基于 FIFO(先进先出)原则并且队尾被连接在队首之后以形成一个循环。它也被称为“环形缓冲器”。

2024-07-23 20:03:10 1021

原创 栈和队列之栈

一种特殊的线性表,其。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO)的原则。即最先进去的数据会在最后面出来,以此类推。压栈:栈的插入操作叫做进栈压栈入栈,。出栈:栈的删除操作叫做出栈。。Stack()构造一个空的栈将e入栈,并返回eE pop()将栈顶元素出栈并返回E peek()获取栈顶元素int size()获取栈中有效元素个数检测栈是否为空。

2024-07-23 15:06:59 630

原创 LinkedList与双向链表实现 (下)

由于链表没有将元素存储在连续的空间中,元素存储在单独的节点中,然后通过引用将节点连接起来了,因此在在任意位置插入或者删除元素时,不需要搬移元素,效率比较高。遍历有三种方法,分别是for,foreach和Iterator。只需修改引用的指向,时间复杂度为。逻辑上连续,但物理上不一定连续。使用其他集合容器中元素构造。任意位置插入和删除频繁。的底层是双向链表结构。需要搬移元素,效率低。

2024-07-19 19:21:02 683

原创 环形链表 II

通过画图我们可以知道,假设他们在环内有相遇,此时slow走的路程为X+C-Y,假设fast走的路程为X+NC+C-Y,已知我们slow和fast速度相比是1:2,那么也就是说他们的路程比也是1:2,由此我们可以得到的等式:2*(X+C-Y) = X+NC+C-Y,化简得X = (N-1)C +Y;首先我们需要判断这个链表是否有环,如果没有环则返回null。链表中有一个环,其尾部连接到第二个节点。链表中有一个环,其尾部连接到第一个节点。,返回链表开始入环的第一个节点。,则在该链表中没有环。

2024-07-18 19:01:46 315

原创 链表的回文结构

对于一个链表,请设计一个时间复杂度为O(n),额外空间复杂度为O(1)的算法,判断其是否为回文结构。,请返回一个bool值,代表其是否为回文结构。保证链表长度小于等于900。给定一个链表的头指针。

2024-07-18 15:31:22 140

原创 链表分割问题

给一定值x,编写一段代码将所有小于x的结点排在其余结点之前,且不能改变原来的数据顺序,返回重新排列后的链表的头指针。现有一链表的头指针 ListNode*大致可按以下图来进行解题。

2024-07-17 20:09:21 150

原创 合并两个有序链表

新链表是通过拼接给定的两个链表的所有节点组成的。将两个升序链表合并为一个新的。

2024-07-17 17:11:12 147

原创 链表的中间节点

该链表有两个中间结点,值分别为 3 和 4 ,返回第二个结点。如果有两个中间结点,则返回第二个中间结点。,请你找出并返回链表的中间结点。链表只有一个中间结点,值为 3。

2024-07-17 15:52:35 171

原创 反转链表示例

此时我们相当于将0x13作为新的head,cur作为我们第二次要插入的,即进入循环。循环条件为当cur!首先我们需要自定义cur = head.next以及curNext = cur.next;然后我们再将cur的值变成curNext,也就是cur = curNext;此时我们要将0x13变成我们新的head,也就是head = cur。在我们进行反转链表时,首先我们需要把head的值置为null;,请你反转链表,并返回反转后的链表。

2024-07-17 15:26:11 225

原创 LinkedList与链表(上)

存储结构,数据元素的。

2024-07-16 17:35:32 163

原创 通过List的方式来实现杨辉三角

【代码】通过List的方式来实现杨辉三角。

2024-07-15 20:15:37 90

原创 洗牌算法示例

示例:最简单的洗牌算法包括创建52张牌,并且三个人依次拿一张牌直到每个人都有五张牌。这是Card.java的源码。这是Demo.java的源码。

2024-07-15 19:30:09 208

原创 删除第一个字符串中出现的第二个字符串中的字符

【代码】删除第一个字符串中出现的第二个字符串中的字符。

2024-07-15 17:05:18 137

原创 ArrayList与顺序表(下)

这是我自己在使用其操作时的代码,可供参考学习。

2024-07-14 22:51:47 350

原创 ArrayList与顺序表(上)

线性表在逻辑上是线性结构,也就说是连续的一条直线。但是在物理结构上并不一定是连续的,线性表在物 理上存储时,通常以数组和链式结构的形式存储。线性表是一种在实际中广泛使用的数据结 构,常见的线性表:顺序表、链表、栈、队列...的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储。底层是一段连续的空间,并且可以动态扩容,是一个动态类型的顺序表。不是线程安全的,在单线程下可以使用,在多线程中可以选择。然后是我自己对于这些代码的补充填写,仅供参考。是以泛型方式实现的,使用时必须要先实例化。

2024-07-11 17:01:28 367

原创 初识Java泛型

泛型,即“参数化类型”。它的本质是为了将类型参数化, 也就是说在泛型使用过程中,数据类型被设置为一个参数,在使用时再从外部传入一个数据类型;而一旦传入了具体的数据类型后,传入变量(实参)的数据类型如果不匹配,编译器就会直接报错。这种参数化类型可以用在类、接口和方法中,分别被称为泛型类、泛型接口、泛型方法。。从代码上讲,就是对类型实现了参数化。class泛型类名称类型形参列表//这里可以使用类型参数classClassNameT1T2, ...,Tnclass泛型类名称。

2024-07-10 22:17:50 239

原创 nextInt()、next()和nextLine()的用法和hasNextInt()的作用

nextInt(): it only reads the int value, nextInt() places the cursor(光标) in the same line after reading the input.(个人理解:nextInt()读取的是Int类型的数据,而对于提交所剩下"\n"还没有读取,因此如果用nextInt()读取后,再用nextLine()读取,读取到的是换行符)

2024-07-08 15:14:18 346

原创 在C/C++编程语言中不同操作系统基本数据类型所占字节数

在C/C++编程语言中不同操作系统基本数据类型所占字节数

2022-11-18 21:12:25 1320

原创 编程语言初学者的自述

前文这是我发布的第一篇博客,用来自述和阐述自己未来几年的规划与目标,记录自己在编程学习中的点点滴滴,借助在CSDN上写博客以此来提高自己对知识掌握的程度,整理自己在学习时候的思路,分享自己的学习成果,期望能与大家一起共同进步~正文一.自我介绍虽然很想夸赞自己,但还是不得不承认我只是一个很普通的人。我是一名大二的学生,学校是双非一本,专业是电子商务。对于编程,仅仅只有在课堂上听老师讲述的理论而并没有很多次自身实践,也深刻感受到自己学习的不足,学的多而不精,最后也只能碌碌无为。在IT这个行业之

2022-10-15 23:10:53 462 3

空空如也

空空如也

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

TA关注的人

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