随笔分类 -  基础知识

树和图详解
摘要:(1)二叉树的性质 1、在二叉树的第 i 层上至多有2^(i-1)个节点 2、深度为 k 的二叉树至多有2^(k)-1个节点 3、对于任何一个二叉树,若其叶子节点数为n1,度为2的节点数为n2,则n1=n2+1 树的节点树=所有节点度之和+1 4、具有n个节点的完全二叉树的深度为floor(log( 阅读全文

posted @ 2020-09-08 09:49 hdc520 阅读(1351) 评论(0) 推荐(0) 编辑

java死锁程序
摘要:(1)死锁案例 /** * 一个简单的死锁类 * main方法中启动两个线程,分别调用methodA和methodB方法 * methodA方法首先获取到a对象的锁,睡眠1秒钟 * 此时methodB方法执行获取到b对象的锁,睡眠1秒 * 此时methodA需要去获取b对象的锁才能继续执行,但是b锁 阅读全文

posted @ 2020-04-30 20:31 hdc520 阅读(215) 评论(0) 推荐(0) 编辑

算法之位操作
摘要:一、基本操作 (1)异或即^:针对二进制,相同为0,不同为1 1)交换律:a ^ b ^ c = a ^ c ^ b 2)任何数与0异或为任何数 0 ^ n = n (2)位与运算&:针对二进制每一位进行&操作,当都为1时才是1; (3)或操作|:针对二进制,有1即为1 二、应用 (1)异或 //给 阅读全文

posted @ 2020-04-29 11:25 hdc520 阅读(214) 评论(0) 推荐(0) 编辑

B树与B+树以及红黑树
摘要:1、B树与B+树 (1)B树与B+树的区别 1)B+树中只有叶子节点会带有指向记录的指针;而B树则所有节点都带有,在内部节点出现的索引项不会再出现在叶子节点中。 2)B+树中所有叶子节点都是通过指针连接在一起,而B树不会。 (2)B树与B+树的优缺点 1)B树优点:由于B树的每一个节点都包含key和 阅读全文

posted @ 2020-04-14 20:51 hdc520 阅读(4211) 评论(0) 推荐(0) 编辑

Java中Comparable与Comparator的区别
摘要:1、Comparator Comparator是比较接口,我们如果需要控制某个类的次序,而该类本身不支持排序(即没有实现Comparable接口),那么我们就可以建立一个“该类的比较器”来进行排序,(n1,n2) => n1<n2 return 1 降序;n1==n2 return 1 原序 数组如 阅读全文

posted @ 2020-03-31 21:44 hdc520 阅读(214) 评论(0) 推荐(0) 编辑

经典的排序算法
摘要:1、冒泡 void BubbleSort(int[]nums,int n){ for(int i=0;i<a.length;i++){ flag=0; for(int j=0;j<a.length-1-i;j++){ if(a[j]<a[j+1]){ int tmp=a[j]; a[j]=a[j+1 阅读全文

posted @ 2020-03-31 21:28 hdc520 阅读(172) 评论(0) 推荐(0) 编辑

Java之多线程讲解
摘要:1、线程的创建 (1)继承Thread类创建线程类,代码如下: //1、定义一个继承Thread类的子类,并重写该类的run()方法; //2、创建Thread子类的实例,即创建了线程对象; //3、调用该线程对象的start()方法启动线程。 class SomeThead extends Thr 阅读全文

posted @ 2020-03-29 17:17 hdc520 阅读(287) 评论(0) 推荐(0) 编辑

代码运行实例
摘要:1、return与finally的执行顺序 public class Main { public static void main(String[] args) { System.out.print(fun1()); } public static String fun1() { try { Sys 阅读全文

posted @ 2020-03-26 16:02 hdc520 阅读(242) 评论(0) 推荐(0) 编辑

Linux面试
摘要:1、进程管理命令之ps -ef和ps aux:ps -ef | more 一般执行ps -ef 或者ps aux 命令是查看我们的进程是否启动成功,或者找出进程号,对进程的kill强制关闭,比如系统正在运行mysql进程,突然发现mysql挂掉了,那只能杀掉mysql这个进程了,我会使用ps -ef 阅读全文

posted @ 2020-03-26 12:22 hdc520 阅读(356) 评论(0) 推荐(0) 编辑

操作系统比较重要的知识点
摘要:1、进程与线程之间的区别 (1)进程是拥有资源的最小单位;线程是拥有调度的最小单位; (2)进程有自己的独立地址空间,每启动一个进程,系统就会为它分配地址空间,建立数据表来维护代码段、堆栈段和数据段,这种操作非常昂贵 (3)线程是共享进程中的数据的,使用相同的地址空间,因此CPU切换一个线程的花费远 阅读全文

posted @ 2020-03-24 15:24 hdc520 阅读(271) 评论(0) 推荐(0) 编辑

java中list和map详解
摘要:一、List和Set以及Map 1、List , Set, Map都是接口,前两个继承至Collection接口(Collection接口下还有个Queue接口,有PriorityQueue类),Map为独立接口, (1)List下有ArrayList,Vector,LinkedList (2)Se 阅读全文

posted @ 2019-12-24 16:19 hdc520 阅读(19394) 评论(1) 推荐(8) 编辑

BloomFilter和Bitmap算法
摘要:一、Bloom Filter的算法: 为了降低冲突的概念,Bloom Filter使用了多个哈希函数,而不是一个。创建一个m位BitSet,先将所有位初始化为0,然后选择k个不同的哈希函数。第i个哈希函数对字符串str哈希的结果记为h(i,str),且h(i,str)的范围是0到m-1 处理字符串的 阅读全文

posted @ 2019-09-05 20:34 hdc520 阅读(566) 评论(0) 推荐(0) 编辑

面试题目
摘要:(1)大CPU大内存,网卡超烂,如何优化? 强制本地化,选高压缩的序列化格式,核心就是尽量减少网络IO。 计算机中内存、cache和寄存器之间的关系及区别: (1)寄存器是CPU内部的元件,寄存器拥有非常高的读写速度,所以在寄存器之间的数据传送非常快,可用来暂存指令、数据和位址。 (2)内存包含的范 阅读全文

posted @ 2019-09-04 22:24 hdc520 阅读(173) 评论(0) 推荐(0) 编辑

计算机基础知识面经
摘要:排序法 平均时间 最差情形 稳定度 额外空间 备注 冒泡 O(n2) O(n2) 稳定 O(1) n小时较好 选择 O(n2) O(n2) 不稳定 O(1) n小时较好 插入 O(n2) O(n2) 稳定 O(1) 大部分已排序时较好 基数 O(logRB) O(logRB) 稳定 O(n) B是真 阅读全文

posted @ 2019-09-02 16:57 hdc520 阅读(1017) 评论(0) 推荐(0) 编辑

数据库面经
摘要:1、Mysql的超键,候选键,主键,外键: (1)超键:在关系中能唯一标识元组的属性集称为超键,可以区分表中每一行记录的属性集(单个属性,多个属性组成也行) 1)例子:在一个学生的表中,假设有“学号”、“姓名”、“相关信息”、“生日”等字段, 其中学号是唯一的,那么(学号)是一个超键,同时(学号,姓 阅读全文

posted @ 2019-09-02 13:31 hdc520 阅读(2836) 评论(0) 推荐(0) 编辑

导航