Skip to content

Commit 24b8bf1

Browse files
committed
Chapter 02 section 05 C++ codes updated, Java codes added.
1 parent 4659f3e commit 24b8bf1

File tree

4 files changed

+110
-24
lines changed

4 files changed

+110
-24
lines changed

02-Time-Complexity/Course Code (C++)/05-Recursion-Time-Complexity/main.cpp

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -6,48 +6,48 @@ using namespace std;
66
// binarySearch
77
int binarySearch(int arr[], int l, int r, int target){
88

9-
if( l > r )
9+
if(l > r)
1010
return -1;
1111

12-
int mid = l + (r-l)/2;
13-
if( arr[mid] == target )
12+
int mid = l + (r - l) / 2;
13+
if(arr[mid] == target)
1414
return mid;
15-
else if( arr[mid] > target )
16-
return binarySearch(arr, l, mid-1, target);
15+
else if(arr[mid] > target)
16+
return binarySearch(arr, l, mid - 1, target);
1717
else
18-
return binarySearch(arr, mid+1, r, target);
18+
return binarySearch(arr, mid + 1, r, target);
1919

2020
}
2121

2222
// sum
23-
int sum( int n ){
23+
int sum(int n){
2424

25-
assert( n >= 0 );
25+
assert(n >= 0);
2626

27-
if( n == 0 )
27+
if(n == 0)
2828
return 0;
29-
return n + sum(n-1);
29+
return n + sum(n - 1);
3030
}
3131

3232
// pow2
33-
double pow( double x, int n ){
33+
double pow(double x, int n){
3434

35-
assert( n >= 0 );
35+
assert(n >= 0);
3636

37-
if( n == 0 )
37+
if(n == 0)
3838
return 1.0;
3939

40-
double t = pow(x, n/2);
41-
if( n%2 )
42-
return x*t*t;
40+
double t = pow(x, n / 2);
41+
if(n % 2)
42+
return x * t * t;
4343

44-
return t*t;
44+
return t * t;
4545
}
4646

4747
int main() {
4848

49-
cout<<sum(100)<<endl;
50-
cout<<pow(2,10)<<endl;
49+
cout << sum(100) << endl;
50+
cout << pow(2, 10) << endl;
5151

5252
return 0;
5353
}

02-Time-Complexity/Course Code (C++)/05-Recursion-Time-Complexity/main2.cpp

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,27 +8,29 @@ int f(int n){
88

99
assert( n >= 0 );
1010

11-
if( n == 0 )
11+
if(n == 0)
1212
return 1;
1313

14-
return f(n-1) + f(n-1);
14+
return f(n - 1) + f(n - 1);
1515
}
1616

17+
/*
1718
// mergeSort
1819
void mergeSort(int arr[], int l, int r){
1920
20-
if( l >= r )
21+
if(l >= r)
2122
return;
2223
2324
int mid = (l+r)/2;
2425
mergeSort(arr, l, mid);
25-
mergeSort(arr, mid+1, r);
26+
mergeSort(arr, mid + 1, r);
2627
merge(arr, l, mid, r);
2728
}
29+
*/
2830

2931
int main() {
3032

31-
cout<<f(4)<<endl;
33+
cout << f(10) << endl;
3234

3335
return 0;
3436
}
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
public class Main {
2+
3+
// binarySearch
4+
private static int binarySearch(Comparable[] arr, int l, int r, int target){
5+
6+
if(l > r)
7+
return -1;
8+
9+
int mid = l + (r - l) / 2;
10+
if(arr[mid].compareTo(target) == 0)
11+
return mid;
12+
else if(arr[mid].compareTo(target) > 0)
13+
return binarySearch(arr, l, mid - 1, target);
14+
else
15+
return binarySearch(arr, mid + 1, r, target);
16+
17+
}
18+
19+
// sum
20+
private static int sum(int n){
21+
22+
assert n >= 0;
23+
24+
if(n == 0)
25+
return 0;
26+
return n + sum(n - 1);
27+
}
28+
29+
// pow2
30+
private static double pow(double x, int n){
31+
32+
assert n >= 0;
33+
34+
if(n == 0)
35+
return 1.0;
36+
37+
double t = pow(x, n / 2);
38+
if(n % 2 == 1)
39+
return x * t * t;
40+
41+
return t * t;
42+
}
43+
44+
public static void main(String[] args) {
45+
46+
System.out.println(sum(100));
47+
System.out.println(pow(2, 10));
48+
}
49+
}
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
/**
2+
* Created by liuyubobobo.
3+
*/
4+
public class Main2 {
5+
6+
// f
7+
private static int f(int n){
8+
9+
assert( n >= 0 );
10+
11+
if(n == 0)
12+
return 1;
13+
14+
return f(n - 1) + f(n - 1);
15+
}
16+
17+
/*
18+
// mergeSort
19+
private static void mergeSort(Comparable[] arr, int l, int r){
20+
21+
if(l >= r)
22+
return;
23+
24+
int mid = (l+r)/2;
25+
mergeSort(arr, l, mid);
26+
mergeSort(arr, mid + 1, r);
27+
merge(arr, l, mid, r);
28+
}
29+
*/
30+
31+
public static void main(String[] args) {
32+
33+
System.out.println(f(10));
34+
}
35+
}

0 commit comments

Comments
 (0)