
数据结构和算法
文章平均质量分 64
野生java研究僧
离开那些世俗繁绕,只为这一刻清净
展开
-
位图数据结构
位图在算法中还是用的比较多,因为是基于二进制操作,运算速度比较快。比如在leetcode中的一道题目是 判定字符是否唯一,那么我们借助位图就可以进行如下判断。位图就是指由二进制位组成的数据结构。例如可以做标记处理。比如1个byte占用8个字节,那除去符号位,那么1个字节就可以表示8个状态位。原创 2023-01-17 20:02:32 · 261 阅读 · 0 评论 -
数据结构和算法
数据结构和算法01.稀疏数组02.数组模拟队列03单向链表:01.稀疏数组什么是稀疏数组?稀疏数组就是将一个大规模的数组压缩,压缩后的这个数组就叫稀疏数组;如果一个二维数组中,存放了许多同样的值,只有少数不同的值,就可以使用稀疏数组进行压缩,如果不加以压缩,把这个大规模的数组写入硬板中,那么将大大提高io操作。重要理论:记录数组中一共有几行几列,共有多少个不同的值把具有不同的元素压缩到一个新的小规模数组中固定只有三列:row col value代码实现:/** * @aut原创 2021-07-03 19:47:32 · 148 阅读 · 1 评论 -
数据类型溢出处理机制以及位运算原理
二进制底层原理1.二进制与十进制的互转2.二进制的加减法3.二进制的原码,反码,补码之间的转换4.位运算5.位移运算万丈高楼平地起:基础知识真的很重要,如果你不想成为一个只会调api的程序员的话,那么基础知识一定要扎实,有时候虽然这些东西不常用,但是你遇到了就无法解决,如果那你不会二进制转换,那么原码,反码,补码之间的转换,你就看不懂,原码,反码,补码之间的转换不会那么你将不会位运算,如果不会位运算那么你将看不懂HashMap里面的位运算操作,并且很多算法也会用到这些知识,所以该文章从基础一步一步讲解。原创 2021-05-10 02:28:22 · 2769 阅读 · 2 评论 -
一文带你秒懂java中的hashcode
hashcode1.什么是hash2.hash有什么用?,在什么地方用到?3.java中String类的hashcode方法两个对象的 hashCode()相同,则 equals()也一定为 true,对吗?1.什么是hashHash,一般翻译做散列、杂凑,或音译为哈希,是把任意长度的输入(又叫做预映射pre-image)通过散列算法变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,所以不可能从散列值来确定唯一的输原创 2021-05-05 15:17:21 · 1661 阅读 · 4 评论 -
二维数组和稀疏数组互转
数据结构和算法什么是稀疏数组?稀疏数组就是将一个大规模的数组压缩,压缩后的这个数组就叫稀疏数组;如果一个二维数组中,存放了许多同样的值,只有少数不同的值,就可以使用稀疏数组进行压缩,如果不加以压缩,把这个大规模的数组写入硬板中,那么将大大提高io操作。重要理论:记录数组中一共有几行几列,共有多少个不同的值把具有不同的元素压缩到一个新的小规模数组中固定只有三列:row col value代码实现:/** * @author compass * @version 1.0 * @d原创 2021-04-16 14:45:11 · 93 阅读 · 0 评论