摘要:
1. 红黑树是在二叉查找树的基础上延伸的。先看下二叉查找树。定义是:它不为空树时,它左子树上所有的元素都小于根节点的元素,而根节点右子树上所有的元素都大于根节点的元素。可以看下图(扒来的) 2. 为了保证二叉查找树不失衡(出现线性查找的情况),就有了平衡的二叉查找树:红黑树。 它除了满足二叉查找树的 阅读全文
摘要:
给定两个字符串 s1 和 s2,写一个函数来判断 s2 是否包含 s1 的排列。 换句话说,第一个字符串的排列之一是第二个字符串的子串。 示例1: 示例2: 阅读全文
摘要:
给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。 示例 1: 示例 2: 阅读全文
摘要:
1. 采用的方案:冒泡排序 和数组的冒泡排序的思想没有很大的区别。直接 看代码吧。 定义一下数据结构: 排序代码: 2. 保证不断链,每遍历一下就变换链的方向 定义数据结构: 代码: 3. 合并两个有序链表 4. 单链表的快排 阅读全文
摘要:
1. 在Java中,程序员把内存控制权利交给 Java 虚拟机而不用像c++为一个 new 操作去写对应的 delete/free 操作,因此不是很容易出现内存泄露和溢出的问题。 Java 虚拟机在执行 Java 程序的过程中会把它管理的内存划分成若干个不同的数据区域 其中线程私有的有:虚拟机栈,本 阅读全文
摘要:
1. ArrayList和LinkedList都是实现了List接口的容器类,用于存储一系列的对象引用。他们都可以对元素的增删改查进行操作。 2. ArrayList是实现了基于动态数组的数据结构,LinkedList是基于链表结构。 ArrayList可以以O(1)时间复杂度对元素进行随机访,Li 阅读全文
摘要:
更细节的:https://blog.csdn.net/weixin_40271838/article/details/79998327 1. 为什么要使用线程池? 假设一个服务器完成一项任务所需时间为:T1 创建线程时间,T2 在线程中执行任务的时间,T3 销毁线程时间。 如果:T1 + T3 远大 阅读全文