随笔分类 - 数据结构和算法
摘要:什么是位运算? 程序中的所有数在计算机内存都是以二进制的形式存储的。位运算就是直接对整数在内存中的二进制位进行操作 位运算概览: 符号 描述 运算规则 & 与 两个位都为1时,结果才为1 | 或 两个位都为0时,结果才为0,有一个位为1,结果即为1 ^ 异或 XOR 两个位相同为0,相异为1 ~ 取
阅读全文
摘要:什么是数据结构? 数据结构就是指一组数据的存储结构 什么是算法? 算法就是操作数据的一组方法 复杂度分析: 要衡量代码的执行效率,则需要用到时间、空间复杂度分析。一般使用(大O复杂度表示法) 1、时间复杂度 所有代码的执行时间与每行代码的执行次数是成正比的,而每行代码的执行次数和数据规模n也是成正比
阅读全文
摘要:栈: 队列接口: FIFO (first-in-first-out) LinkedBlockingQueue:待续
阅读全文
摘要:1、给两个整数数组 A 和 B ,返回两个数组中公共的、长度最长的子数组的长度。 时间复杂度待优化
阅读全文
摘要:一、链表相关 1、单链表倒序 定义链表节点Node public class Node { private int index; //当前节点值 public Node next; public Node(NodeBuilder builder) { this.index = builder.get
阅读全文
摘要:数据结构和算法: 什么是数据结构? 数据结构就是指一组数据的存储格式 什么是算法? 算法就是操作数据的一组方法 数据结构分类: 1)线性结构 特点:有 0-1 个直接前继和直接后继。当线性结构非空时,有唯一 首元素和尾元素,除两者外 , 所有的元素都有唯一的直接前继和直接后继 线性结构包括顺序表、链
阅读全文
摘要:几种排序算法的时间复杂度: 几种排序算法的一些特征: 排序算法总结: 归并排序 思想: package sort; import java.util.Arrays; /** * 归并排序 * 〈功能详细描述〉 * * @author 17090889 * @see [相关类/方法](可选) * @s
阅读全文
摘要:一、先了解二叉查找树和平衡二叉树 1、二叉查找树(binary Tree) 定义: (1):每个节点最多只能有两棵子树(节点的度不大于2),且有左右之分 (2):左子树的键值小于根的键值,右子树的键值大于根的键值 特殊类型的二叉树: 满二叉树:除最后一层无任何子节点外,每一层上的所有结点都有两个子结
阅读全文
摘要:哈希算法:是把任意长度的输入映射成固定长度的输出,这个映射规则就是哈希算法,该输出就是哈希值。 哈希算法应满足以下几点要求: 1、从哈希值不能反向推导出原始数据,所以哈希算法又叫单向哈希算法 2、对输入敏感,原始数据即使只修改了一个bit,得到的哈希值也不同 3、散列冲突的概率很小,对不同的原始数据
阅读全文