自定义博客皮肤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)
  • 收藏
  • 关注

原创 数据结构(Java)--二叉树

由后序遍历确定子树的根,后序遍历从后向前看,最后一个元素为根,和前序遍历刚好相反,从后向前看后序遍历,应该是根,右,左,根据中序遍历确定子树的左右区间。树的叶子节点表示不同的字符,而树的路径表示字符的编码。二叉树是一种特殊的树数据结构,其中每个节点最多有两个子节点:一个称为左子节点,另一个称为右子节点。二叉树的后序遍历是指按照左子树 -> 右子树 -> 根节点的顺序依次遍历二叉树的每个节点。B的左子树:JGDHK B的右子树:空 C的左子树:ELIM C的右子树:F。

2024-10-26 15:57:23 987 1

原创 数据结构(Java)--栈和队列

模拟出队:判断第二个栈是不是空的,若是,把第一个栈中所有元素都放到第二个栈 里,取出第二个栈的栈顶元素,否则,直接取出第二个栈的栈顶元素。在循环队列中,当队列的尾部达到数组的末尾时,如果队列的头部还有空闲位置,就可以将尾部元素循环移动到数组的起始位置,从而实现循环的效果。双端队列的实现可以使用数组或链表。思路:遍历pushV数组,每次入栈一个元素之后,用栈顶元素和popV的下标比较,若一样则出栈,若不一样,继续遍历,直到遍历完整个pushV数组。

2024-09-21 11:43:30 847 1

原创 数据结构(Java)--链表

链表是一种常见的数据结构,用于存储数据元素的集合。链表由一系列的节点组成,每个节点包含数据和指向下一个节点的指针。链表中的节点可以按照任意顺序存储,每个节点都通过指针与其他节点相连接,形成链式结构。

2024-09-08 17:00:12 1120 2

原创 数据结构(Java)--List&Arraylist(顺序表)

List接口是Java集合框架中的一种接口,它代表了一个有序的、可重复的元素序列。List接口继承自Collection接口,定义了一些用于操作列表的方法。常见的List实现类有ArrayList和LinkedList。ArrayList是基于动态数组实现的,它支持快速随机访问和随机插入/删除操作,但插入/删除操作涉及数组元素的移动,性能相对较低。LinkedList则是基于双向链表实现的,它支持快速插入/删除操作,但访问元素需要从头部或尾部开始遍历链表,性能相对较低。

2024-07-20 16:50:31 991 2

原创 JavaSE--接口(二)

结论:只要是自定义的类型涉及到了大小的比较,一定得实现Comparable接口!在java没有指针的情况下,如何使用自定义方法实现两个数值的交换呢?但存在缺陷:这个方式一般用于固定的比较,不适合非常灵活的比较。这样的普通方法和字段可以被子类直接使用。解决方案:使用Comparator。抽象类中可以包含普通方法和普通字段。解决问题:1.换一个接口解决。而接口中不能包含普通方法,子类必须重写所有的抽象方法。1.引用类型不能直接比较。

2024-05-23 21:57:17 274 9

原创 JavaSE--抽象类和接口

Object类中的hashCode()方法的默认实现是根据对象的内存地址计算得出的,因此不同对象的哈希码一般是不相同的。由于所有的类都继承自Object类,因此可以在任何类的实例上调用Object类的方法。内部类是指在一个类的内部定义的另一个类。接口的继承可以使得一个接口继承另一个接口的方法和常量,通过继承,子接口可以拥有父接口中定义的所有方法和常量,同时可以定义自己的方法和常量。内部类的使用可以提高代码的灵活性和封装性,特别是在某个类只在一个类中使用时,可以将其定义为内部类,减少类的数量和代码的复杂性。

2024-05-18 21:09:15 740 9

原创 JavaSE--继承和多态

需要注意的是,向下转型可能会出现运行时异常,因为在向上转型后,父类引用变量只能访问父类的方法和属性,无法访问子类特有的方法和属性。因此,如果在父类的构造方法中调用了一个被子类重写的方法,那么实际调用的将是子类重写的方法。重写的方法在子类中可以有不同的实现,即可以改变方法的行为,但不能改变方法的签名(方法名、参数列表和返回类型)。可以通过多态来实现不同动物的叫声。重写(Override)是面向对象编程中的一个概念,指的是在子类中重新定义父类中已经存在的方法,以便使得子类对象可以根据自己的特性来执行该方法。

2024-05-17 10:41:52 1259 8

原创 JavaSE--数组

在Java中,数组是一种用来存储相同类型数据的容器。它是一个固定长度的数据结构,可以在内存中连续存储多个元素。2. 静态初始化:在创建数组时不直接指定数据元素个数,而直接将具体的数据内容进行指定。1. 动态初始化:在创建数组时,直接指定数组中元素的个数。静态和动态初始化也可以分为两步,但是省略格式不可以。静态初始化虽然没有指定数组的长度,编译器在编译时会根据。如果没有对数组进行初始化,数组中元素有其默认值。制作不易,麻烦给个三连支持一下吧!静态初始化可以简写,省去后面的。中元素个数来确定数组的长度。

2024-05-15 12:14:46 302 3

原创 JavaSE--类和对象·下

基本规则在文件的最上方加上一个package语句指定该代码在哪个包中。包名需要尽量指定成唯一的名字通常会用公司的域名的颠倒形式例如包名要和代码路径相匹配例如创建的包那么会存在一个对应的路来存储代码。如果一个类没有package语句则该类被放到一个默认包中。

2024-05-14 21:40:25 1109 10

原创 JavaSE--类和对象·上

面向对象(Object-Oriented)是一种编程思想和方法,它将程序中的数据和操作数据的方法封装成对象,通过对象之间的交互来实现程序的功能。面向对象编程的核心思想是将现实世界中的事物抽象为对象,每个对象都具有特定的属性(数据)和行为(方法)。对象之间通过消息传递来进行通信和交互。通过封装、继承和多态等特性,面向对象编程可以提高代码的可读性、可维护性和可复用性。面向对象编程在很多编程语言中得到广泛应用,如Java、Python、C++等。

2024-05-10 17:49:19 1189 6

原创 我的C语言学习

跟着学校的进度,辅助以鹏哥的视频,每节课前预习,课下复习,周末多多上机敲代码,不懂的问。最后,送自己一句话:看似不起波澜的日复一日,一定会在某一天,让你看到坚持的意义!当然,这不是空想,为了实现这个目标,我得将我的学习方法付诸行动,丝毫不能松懈。2024年2月前全部学完C语言,开始深入探索一些C语言的应用;2024年6月前全部学完JAVA语言,开始一些简单网页的制作;大三争取去到一家较好的IT公司实习······大家好,我是正在为C语言发愁的大一学生。喜欢追剧,打游戏,不喜欢看书。【我的编程学习方法】

2023-11-18 20:33:01 65 3

空空如也

空空如也

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

TA关注的人

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