摘要: 数据结构——哈希表 摘要:本篇笔记主要讲解了重要数据结构——哈希表,以及键值对的含义,为什么要用键值对,哈希表的应用场景,以及内存中运行的数据库的基础知识。 1.何为哈希表? 1.1.用于存储的数据结构 ​ 在计算机中,数组和链表都可以用于数据的存储,既然有数据存储,那么必然要有数据的查询,因此我们 阅读全文
posted @ 2022-03-25 11:23 云杉木屋 阅读(277) 评论(0) 推荐(0) 编辑
摘要: 数据结构考试题 1.请默写堆排序 package y2022.m3.d19Exam; import java.util.Arrays; public class HeapSort { public static void main(String[] args) { int[] arr = {4,1, 阅读全文
posted @ 2022-03-25 11:22 云杉木屋 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 基数排序详解 ​ 摘要:基数排序是一种代码量比较复杂,但是时间复杂度比较低的排序,其时间复杂度和数组规模以及使用到的桶的个数相关,基数排序和计数排序、桶排序有很大的相关性,我们在学习排序的时候一般会成套的学习这三种排序,基数排序是这三种使用到“桶”的排序中时间复杂度比较高的一个,但是它的最好情况与最 阅读全文
posted @ 2022-03-25 11:21 云杉木屋 阅读(1937) 评论(0) 推荐(0) 编辑
摘要: 堆排序(第二遍分析) ​ 摘要:堆排序作为最复杂的排序,值得我们进行深入的学习与反复的练习,具说通常情况下的堆排序是需要进行4~5轮学习的,因此我对堆排序进行了第二轮的学习,以增加熟练度与理解程度。 1.堆排序的算法详解 1.堆排序需要的基础知识 ​ 1.完全二叉树:完全二叉树是一种特殊的二叉树,它 阅读全文
posted @ 2022-03-25 11:20 云杉木屋 阅读(41) 评论(0) 推荐(0) 编辑
摘要: 算法学习——快慢指针与相遇问题 ​ 摘要:在之前上大学时我就对算法十分怵头,记得其他同学们应该和我也差不多,每到算法课的时候总能听见一片开游戏的声音,考研二战失败之后我打算找工作,结果发现找工作还是绕不过算法,真是难受。在算法的初级学习中,我遇到了一个快慢指针问题,其中有一个难度稍高的问题我认为非常 阅读全文
posted @ 2022-03-25 11:19 云杉木屋 阅读(263) 评论(0) 推荐(0) 编辑
摘要: 完全二叉树简析 ​ 摘要:解释了数据结构树中的重要形态之完全二叉树。 ​ 在数据结构的学习中,我们会学到重要的一章:树,树是一种逻辑结构,我们使用连续存储可非连续存储都能实现树,同时,就像顺序表和链表中都能实现栈和队列一样,不管是什么存储方式存储的树,都有操作受限的子逻辑结构,树也不例外,树存在:完 阅读全文
posted @ 2022-03-25 11:19 云杉木屋 阅读(472) 评论(0) 推荐(0) 编辑
摘要: 希尔排序详解 ​ 摘要:插入排序固然是个好排序,因为它的排序效率是和数组状态挂钩的,它的最好情况时间复杂度很理想,但是它存在一个巨大的问题,那就是在整个数组的前n-1个数字都有序,唯独最后一个数字的存在导致整个数组无序时,会出现比较严重的浪费现象,因此人们更新了插入排序,并命名这种更新的方法为希尔排 阅读全文
posted @ 2022-03-25 11:18 云杉木屋 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 插入排序详解 ​ 摘要:插入排序是一种非常有意思且比较高效的排序方法,同时插入排序是希尔排序的基础,现在我们来看看插入排序。 1.插入排序算法详解 ​ 插入排序和选择排序有一个异曲同工的地方在于他们都存在一个:在原数组上创建子数组的思想,这两种排序方法都会将原数组分为两个部分:待排序数组与已排好序的 阅读全文
posted @ 2022-03-25 11:17 云杉木屋 阅读(924) 评论(0) 推荐(0) 编辑
摘要: 选择排序详解 ​ 摘要:选择排序算法是一种比较容易理解的排序算法,记得我在第一次学习C语言的时候,老师让我们自己尝试写一个排序,我们很多人下意识写出来的就是一种具有选择排序思想的排序算法,只不过那种算法会花费一个额外的数组进行存储,在学习了选择排序算法之后,我知道了那个数组是没有必要声明的。 1.选 阅读全文
posted @ 2022-03-25 11:16 云杉木屋 阅读(769) 评论(0) 推荐(0) 编辑
摘要: 堆排序详解 摘要:堆排序是一种效率非常高的排序算法,同时它的理解以及书写方式都是比较复杂的,以至于很多企业在进行面试的时候都喜欢考察堆排序的书写速度,而堆排序在项目应用中也是有着广泛的天地,因为它的高效率,使得很多数据统计场合都会有堆排序的身影。 1.什么是堆? 想要学习堆排序,首先要明晰堆是什么概 阅读全文
posted @ 2022-03-25 11:15 云杉木屋 阅读(572) 评论(0) 推荐(0) 编辑
摘要: 冒泡排序 ​ 摘要:冒泡排序是是最为经典,最为简单也是最为易懂的排序方法,通常来讲我们最早学习的排序算法就是冒泡排序了,经典铸就永恒,冒泡排序算法是每个学习排序算法的人都必须学习的一个排序算法。接下来我们来详细解研究冒泡排序。 1.冒泡排序的排序方式 ​ 冒泡排序之所以被称为冒泡排序,是因为他真的和 阅读全文
posted @ 2022-03-25 11:14 云杉木屋 阅读(312) 评论(0) 推荐(0) 编辑
摘要: Java学习记录:2022年1月13日(其二) ​ 摘要:本篇笔记主要记录了在设计类时的一些注意事项,类加载时类中各个部分的加载顺序以及继承和多态的知识。 1.域初始化 ​ 域初始化就是一个对象的属性的初始化,我们在13日的笔记(其一)中得知了属性的声明以及初始化的区别,当一个属性被人为的赋值时,才 阅读全文
posted @ 2022-03-25 11:12 云杉木屋 阅读(26) 评论(0) 推荐(0) 编辑
摘要: Java学习笔记:2022年1月13日(其一) ​ 摘要:这篇笔记主要讲解了Java中的自定义类、以及构造一个类时所需要了解的一些重点知识。 1.类的组成 ​ 众所周知,Java是书写在类中的语言,我们在写Java代码时用到的很多操作都要先拥有一个类的实例,进而调用类得方法,或者是有一些类拥有静态方 阅读全文
posted @ 2022-03-25 11:11 云杉木屋 阅读(32) 评论(0) 推荐(0) 编辑
摘要: Java学习笔记:2022年1月11日 ​ 摘要:这篇笔记主要讲解了一些数据在计算机中的存在方式相关的知识点,并由此延伸出了数据在计算机中的操作以及一些数据结构的知识。 @ 1.数据在计算机中的存在方式 ​ 我们在使用电脑时,总是处理一些这样那样的信息,比如表格文件,word文件之类的,我们还会浏览 阅读全文
posted @ 2022-03-25 11:10 云杉木屋 阅读(40) 评论(0) 推荐(0) 编辑
摘要: 关于排序二叉树和平衡二叉树的基础知识 ​ 摘要:这篇文章主要对排序二叉树和平衡二叉树的基础知识进行简要的说明,关于二叉树的详细笔记将在数据结构的学习中进行记录,这里只进行基础知识的了解。 1.排序二叉树 ​ 排序二叉树是二叉树的一种特殊存在方式,如果我们用排序二叉树保存数据,就可以迅速的进行一个数值 阅读全文
posted @ 2022-03-25 11:10 云杉木屋 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 深入探究Java中的对象类型变量声明操作——在声明对象时,系统究竟做了什么? 摘要:本文主要对Java中的对象类型变量的声明的底层原理做了探究。 ​ 我们但凡是学过Java的,一定都知道Java中的对象类型变量的声明方式,那就是:类名 变量名 = new 类名()。不管这样说对不对,我们在这样写的时 阅读全文
posted @ 2022-03-25 11:09 云杉木屋 阅读(113) 评论(0) 推荐(0) 编辑
摘要: Java学习笔记:2022年1月10日 ​ 摘要:这篇笔记主要记录了学习《Java核心技术 卷一》的第四章时的一些心得,主要阐述了对象与类这一部分的内容。需要注意的是,这一章的内容需要精心学习,因为很多知识点在笔试面试中很容易考到。 1.面向对象的编程:欢迎来到面向对象的世界 ​ 你有对象吗?没有的 阅读全文
posted @ 2022-03-25 11:08 云杉木屋 阅读(29) 评论(0) 推荐(0) 编辑
摘要: Java学习笔记:2022年1月9日(其二) 摘要:这篇笔记主要记录了1月9日学习的第四章的类的基础知识,以及访问器以及访问器于多线程的意义。 1.多线程 ​ 多线程指的是在一个程序运行过程中,其内部的多个任务被同时执行,这时每个任务都会作为一个线程来执行。使用多线程的方式可以有效提升运行效率,当C 阅读全文
posted @ 2022-03-25 11:07 云杉木屋 阅读(32) 评论(0) 推荐(0) 编辑
摘要: Java学习笔记:2022年1月9日(其一) 摘要:这篇笔记主要记录了Java运行时中的两种变量、以及参数的两种传递方式。 1.不同变量的详细探讨 1.Java中的两种变量 ​ 之前我们讨论了Java运行时中的栈区的运行机制,也就是在Java中,各种方法执行的过程,关于方法中的一些变量行为,我们也进 阅读全文
posted @ 2022-03-25 10:29 云杉木屋 阅读(23) 评论(0) 推荐(0) 编辑
摘要: Java学习笔记:2022年1月8日 摘要:这天主要学习了HTML超文本标记语言以及CSS层叠样式表的基本知识,主要就是通过这两种技术进行基本的网页渲染。 1.HTML语言基础知识 1.HTML语言简介 ​ HTML全称为超文本标记语言,它不是一种编程语言,而是一种标记语言,用于组织信息,标记文本, 阅读全文
posted @ 2022-03-25 10:27 云杉木屋 阅读(42) 评论(0) 推荐(0) 编辑