Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 4ebcafd

Browse files
【added】修订更简洁版本
1 parent d0086fa commit 4ebcafd

16 files changed

+155
-7
lines changed
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
### java &与&& |与||的区别
2+
#### 从简单程序去认识:
3+
```
4+
public class Test {
5+
6+
public static void main(String[] args) {
7+
String str = null;
8+
if(str != null && !"".equals(str)){
9+
//do something
10+
}
11+
if(str != null & !"".equals(str)){
12+
//do something
13+
}
14+
}
15+
}
16+
```
17+
#### **对于:&&**
18+
```
19+
if(str != null && !"".equals(str))
20+
21+
```
22+
##### 当: str != null 的时候,接下来才会去执行: !"".equals(str)
23+
##### 如果: str != null为false,那么这个时候,程序是处于短路的情况,则,!"".equals(str) 是不会执行的。
24+
#### **对于:&**
25+
```
26+
if(str != null & !"".equals(str))
27+
```
28+
##### 不管: str != null 的结果如何(即true,false),程序都会执行: !"".equal(str)
29+
### 总结:
30+
#### (一)问题总结:
31+
#### 对于:& -- > 不管怎样,都会执行"&"符号左右两边的程序
32+
#### 对于:&& -- > 只有当符号"&&"左边程序为真(true)后,才会执行符号"&&"右边的程序。
33+
#### (二)运算规则:
34+
##### 对于:& -- > 只要左右两边有一个为false,则为false;只有全部都为true的时候,结果为true
35+
##### 对于:&& -- > 只要符号左边为false,则结果为false;当左边为true,同时右边也为true,则结果为true
36+

‎Java基础积累/位运算符.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
### Java的位运算符
2+
#### >>表示右移,如果该数为正,则高位补0,若为负数,则高位补1;
3+
#### >>>表示无符号右移,也叫逻辑右移,即若该数为正,则高位补0,而若该数为负数,则右移后高位同样补0。
4+
#### 表达式为:(对正数的移位操作它们的功能都是一样的)
5+
#### result = exp1 >> exp2;
6+
#### result = exp2 >>> exp2;
7+
#### 表示把数exp1向右移动exp2位。
8+
### 例子:
9+
#### res = 20 >> 2;
10+
#### 20的二进制为 0001 0100,右移2位后为 0000 0101,则结果就为 res = 5;
11+
```
12+
15 >> 2 = 3
13+
15 >>> 2 = 3
14+
15+
//其实就是将15除于4,得到的商。转换为二进制可能更直观(为了方便,下面的二进制操作我们都是以八位进行的,而不是32位):
16+
17+
0000 1111 >> 2 = 00000011 = 3,低位被丢失了
18+
0000 1111 >>> 2 = 00000011 = 3,低位也被丢失了
19+
```
20+
#### 对于整数的效果是一样,但是对于负数的移位呢?
21+
```
22+
-15 >> 2 = -4
23+
-15 >>> 2 = 60
24+
25+
//首先我们得知道,在计算机中,负数是以补码的形式存储的。-15的补码是11110001,所以上面的操作转换为二进制如下所示:
26+
11110001 >> 2 = 11111100(还是一个负数,转换为十进制就是-4)
27+
11110001 >>> 2 = 00111100(这变成了正数了,转换成十进制就是60) ---右移过程,高位补0
28+
```
29+
### 总结:
30+
#### 1、当移位的数是正数的时候,>> 和>>>效果都是一样的;
31+
#### 2、当移位的数是负数的时候,>>将二进制高位用1补上,而>>>将二进制高位用0补上,这就导致了>>>将负数的移位操作结果变成了正数(因为高位用0补上了)。
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
http://blog.csdn.net/lovoo/article/details/51771321
2+
#### ע�⣺����ͷ����β������ɾɦ��ɵ�Ӱ�죬��סɾ������Ҫʹ��һ���ݴ��㣬ȥ��������������
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
http://blog.csdn.net/elecjack/article/details/51019875
2+
3+
ע�⣺Ҫ�ֿ��������ȥ�룬size����1��size����1��sizeС��1���ֿ�ȥд������롣

‎基础知识/(5)树/平衡二叉树(AVL树).md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,14 @@ public class AVLNode {
4242

4343

4444
## 多种失衡情况调整:
45+
```
46+
旋转的整体过程就是:
47+
1- a、b指针的调整
48+
2- a、b的子节点指针调整
49+
3- 旋转代码,就是a和b互相的指向
50+
4- a的父节点指针调整
51+
5- 重新计算平衡调整。
52+
```
4553
### (1)LL型,左子树的左子节点
4654
![这里写图片描述](http://img.blog.csdn.net/20170329121228143?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvSmFja19fRnJvc3Q=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
4755
```

‎基础知识/(5)树/求树的深度.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
### 树的深度
1+
### 树的深度--使用递归,分别求出左子树的深度、右子树的深度,两个深度的较大值+1即可。
22
```
33
public static int deep(TreeNode node){
44
int h1,h2;
@@ -9,6 +9,7 @@ public static int deep(TreeNode node){
99
h1=deep(node.left);//递归求左子树的深度
1010
h2=deep(node.right);//递归求右子树的深度
1111
return (h1<h2)? h2+1 : h1+1;//每次求完两子树的深度就立刻对比,一层层子树去对比,返回给上一层,最终得出整棵树深度
12+
//return 1 + Math.max(left, right);也可这样写
1213
}
1314
1415
}

‎基础知识/(6)排序/数据结构与算法--八大基本排序算法总述(复杂度、稳定性).md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@
7777
#### 由前面的算法说明可知,算法处理过程中,需要一个大小为n的临时存储空间用以保存合并序列。
7878
### 算法稳定性
7979
#### 在归并排序中,相等的元素的顺序不会改变,所以它是稳定的算法。
80-
### ** 基数排序**:
80+
### ** 基数排序**:
8181
### 性能表
8282
![这里写图片描述](http://img.blog.csdn.net/20170323122828028?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvSmFja19fRnJvc3Q=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
8383
### 时间复杂度

‎基础知识/(6)排序/(4)希尔排序(直插与冒泡).txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,9 @@ package insertSort;
88
* Ч���Ǻܸߵģ�
99
*/
1010
//��һ�ֺ͵ڶ���ֻ�Dz�ͬ��ֱ�Ӳ���д��������һ��
11+
12+
http://blog.csdn.net/morewindows/article/details/6668714
13+
1114
public class ShellSort {
1215

1316
static final int SIZE = 10;

‎基础知识/(6)排序/(5)快速排序.txt

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@
66

77

88
//���������ǣ�ѡ���һ����1⁄4�Ĺؼ�����Ϊ��ֵ
9+
https://www.cnblogs.com/luchen927/archive/2012/02/29/2368070.html
10+
�Ӻ��Ż�׼ֵ������������С�����������Ҵ�
11+
912
public class QuickSort {
1013

1114
static final int SIZE=18;
@@ -31,7 +34,7 @@ public class QuickSort {
3134
}
3235
}
3336

34-
/** �����һ����׼��
37+
/** �����һ����׼��������ǿ�Ӧ�����κεط��ġ�ģ�黯�Ķ�����
3538
*
3639
* @param arr ���������Ǵ�����������߻��ֻ������������
3740
* @param first ���������Ǵ�����������߻��ֻ���������������ʼ�±�
@@ -61,7 +64,7 @@ public class QuickSort {
6164
}
6265
arr[end]=arr[first];
6366
}
64-
arr[first]=pivot; //��first��end��ͣ����ҵ����εݹ������λ���
67+
arr[first]=pivot; //��first��end��ͣ����ҵ����εݹ������λ���x���ɦfirst����������Ŧλ�ã������ǰѻ�׼����arr[first]����λ
6568
return first;
6669

6770
}

‎基础知识/(6)排序/(6)堆排序.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,12 @@ package heapSort;
44
/*
55
* һ�㶼����������ʾ�ѣ�i���ĸ�����±��Ϊ(i �C 1) / 2��
66
* ���������ӽ���±�ֱ�Ϊ2 * i + 1��2 * i + 2�����0����������ӽ���±�ֱ�Ϊ1��2��
7+
8+
9+
https://www.cnblogs.com/chengxiao/p/6129630.html
10+
��������ƪ���1⁄4��ɡ�
11+
����ģ��ֻ��Ա�����������μĽڵ㡣������Ҫ����ѭ�����Ǵ������Θ��ҵ���ص�����
12+
����Ҫ��� arr.length-1��ָ���һ���ڵ㣬���ĸ��ڵ���arr.length/2-1
713
*/
814
public class HeapSortTest {
915
/*

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /