摘要: 前言 泛型是Java基础知识的重点,虽然我们在初学Java的时候,都学过泛型,觉得自己掌握对于Java泛型的使用(全是错觉),往后的日子,当我们深入去阅读一些框架源码,你就发现了,自己会的只是简单的使用,却看不懂别人的泛型代码是怎么写的,还可以这样,没错,别人写出来的代码那叫艺术,而我...... 阅读全文
posted @ 2020-09-10 18:07 衍方 阅读(1934) 评论(1) 推荐(2) 编辑
摘要: 一、Java数据类型 1、在说装箱与拆箱之前,先说一下Java的基本数据类型,Java从数据类型上可以划分为值类型与引用类型,值类型是四类八种,分别是: 整数型:byte̵,short̵,int̵,long 浮点型:float,double 字符型:char 布尔型:boolean 数据类型 内存 默 阅读全文
posted @ 2020-10-27 16:43 衍方 阅读(480) 评论(0) 推荐(0) 编辑
摘要: 二叉搜索树(Binary Search Tree) 回顾与思考 我们来思考这么一个问题,如何在n 个动态的整数中搜索某个整数?(查看其是否存在) 看着还是很简单的,以动态数组存放元素,从第0个位置开始遍历搜索,运气好的话,第一个就找到了,运气差的话,可能找到最后都找不到,算一下的话平均时间复杂度是 阅读全文
posted @ 2020-09-19 12:23 衍方 阅读(561) 评论(0) 推荐(0) 编辑
摘要: 二叉树(Binary Tree) 回顾 在前面的文章 — 二叉树前奏中,我们对于二叉树的一些基本概念进行了回顾,同时对比了线性结构与树形结构,总结了一些常见的二叉树的性质,像二叉树,真二叉树,完全二叉树,以及满二叉树等等,但是,我们仅仅是在概念上对于二叉树有所了解,并没有进行编码工作,今天来完善一下 阅读全文
posted @ 2020-09-18 10:54 衍方 阅读(2929) 评论(0) 推荐(1) 编辑
摘要: 前言 概念:二分查找(Binary Search)算法,一种针对有序数据集合的查找算法,也叫折半查找算法。 思想:二分查找针对的是一个有序的数据集合( 升序或降序 ),查找思想有点类似分治思想。每次都通过跟区间的中间元素对比,将待查找的区间缩小为之前的一半,直到找到要查找的元素,或者区间被缩小为 0 阅读全文
posted @ 2020-09-15 09:19 衍方 阅读(701) 评论(0) 推荐(1) 编辑
摘要: 前言 回顾 在前面的数据结构学习中,无论是以顺序结构存储的 数组 还是链式存储结构的 链表、栈与队列 等(没有阅读过之前的随笔,可以点击对应的名词跳转) 。实际上都可以归类成线性结构。 今天复习另外一种数据结构,树形结构,没错,就是生活中的那种树,要倒过来的那种。 以树干的分支数量为准,可以将树分为 阅读全文
posted @ 2020-09-14 17:01 衍方 阅读(253) 评论(0) 推荐(1) 编辑
摘要: 前言 栈 概念 什么是栈? **栈 **:是一种特殊的线性表,只能在一端进行操作 入栈:往栈中添加元素的操作,一般叫做push 出栈:从栈中移除元素的操作,一般叫做pop,出栈(弹出栈顶元素) 注意:这里说的"栈"与内存中的"栈空间"是两个不同的概念 栈的结构 相比于数组和链表而言,栈同样是存储相同 阅读全文
posted @ 2020-09-13 21:18 衍方 阅读(949) 评论(0) 推荐(2) 编辑
摘要: 前言 在前面的实现的动手写个Java动态数组里,虽然对于用户而言,看是实现了动态扩容的功能,实际上,只是依托底层写的方法ensureCapacity在数组容量不足的时候,对重新申请一个原数组1.5倍容量的新数组,再将原有数组中存放的元素复制到新数组来,数组指针指向新数组,从根本上来说,这并不是真正的 阅读全文
posted @ 2020-09-13 11:51 衍方 阅读(3630) 评论(0) 推荐(2) 编辑
摘要: 数组基础回顾 1、数组是一种常见的数据结构,用来存储同一类型值的集合 2、数组就是存储数据长度固定的容器,保证多个数据的数据类型要一致 3、数组是一种顺序存储的线性表,所有元素的内存地址是连续的 4、例如:new 一个int基本类型的数组array int[] array = new int[]{1 阅读全文
posted @ 2020-09-12 23:15 衍方 阅读(776) 评论(0) 推荐(0) 编辑
摘要: 引言 概念 数组是数据呈线性排列的一种数据结构,它用一组连续的内存空间,来存储一组相同数据类型的数据,表示一组相同类型的数据的集合,具有固定的长度,并且在内存中占据连续的空间。 数组是基本上所有语言都会有的一种数据类型,是我们在开发过程中经常会接触到的,所以我们很有必要了解数组的相关特性 数组的定义 阅读全文
posted @ 2020-09-12 12:23 衍方 阅读(543) 评论(0) 推荐(1) 编辑
摘要: 选择排序 前言 **原理:**每次循环对比找出最小/大值,将最值的元素交换至左侧 **思想:**直接选择排序(Straight Select Sort)算法思想:第一趟从n个元素的数据序列中选出关键字最小/大的元素并放在最前/后位置,下一趟从n-1个元素中选出最小/大的元素并放在最前/后位置。以此类 阅读全文
posted @ 2020-09-11 19:03 衍方 阅读(1123) 评论(1) 推荐(0) 编辑