data structure (practice with java language) - sclabsclab.konkuk.ac.kr/static/files/chapter3.pdf ·...
TRANSCRIPT
![Page 1: Data Structure (Practice with Java language) - SCLABsclab.konkuk.ac.kr/static/files/chapter3.pdf · · 2017-03-22Data Structure (Java programming) ... [B-1반] 2404-2 [B-2반] 2405](https://reader030.vdocuments.net/reader030/viewer/2022021512/5afc88767f8b9a944d8c4ed4/html5/thumbnails/1.jpg)
Data Structure(Java programming)
Chapter 03.
SCLABSMART COMPUTING LABORATORY
![Page 2: Data Structure (Practice with Java language) - SCLABsclab.konkuk.ac.kr/static/files/chapter3.pdf · · 2017-03-22Data Structure (Java programming) ... [B-1반] 2404-2 [B-2반] 2405](https://reader030.vdocuments.net/reader030/viewer/2022021512/5afc88767f8b9a944d8c4ed4/html5/thumbnails/2.jpg)
Contents
• String
• Binary Recursion
• Practice
SCLABSMART COMPUTING LABORATORY
![Page 3: Data Structure (Practice with Java language) - SCLABsclab.konkuk.ac.kr/static/files/chapter3.pdf · · 2017-03-22Data Structure (Java programming) ... [B-1반] 2404-2 [B-2반] 2405](https://reader030.vdocuments.net/reader030/viewer/2022021512/5afc88767f8b9a944d8c4ed4/html5/thumbnails/3.jpg)
• String
SCLABSMART COMPUTING LABORATORY
![Page 4: Data Structure (Practice with Java language) - SCLABsclab.konkuk.ac.kr/static/files/chapter3.pdf · · 2017-03-22Data Structure (Java programming) ... [B-1반] 2404-2 [B-2반] 2405](https://reader030.vdocuments.net/reader030/viewer/2022021512/5afc88767f8b9a944d8c4ed4/html5/thumbnails/4.jpg)
• String
https://docs.oracle.com/javase/7/docs/api/java/lang/String.html
SCLABSMART COMPUTING LABORATORY
![Page 5: Data Structure (Practice with Java language) - SCLABsclab.konkuk.ac.kr/static/files/chapter3.pdf · · 2017-03-22Data Structure (Java programming) ... [B-1반] 2404-2 [B-2반] 2405](https://reader030.vdocuments.net/reader030/viewer/2022021512/5afc88767f8b9a944d8c4ed4/html5/thumbnails/5.jpg)
• String
SCLABSMART COMPUTING LABORATORY
![Page 6: Data Structure (Practice with Java language) - SCLABsclab.konkuk.ac.kr/static/files/chapter3.pdf · · 2017-03-22Data Structure (Java programming) ... [B-1반] 2404-2 [B-2반] 2405](https://reader030.vdocuments.net/reader030/viewer/2022021512/5afc88767f8b9a944d8c4ed4/html5/thumbnails/6.jpg)
• Binary Recursion
SCLABSMART COMPUTING LABORATORY
![Page 7: Data Structure (Practice with Java language) - SCLABsclab.konkuk.ac.kr/static/files/chapter3.pdf · · 2017-03-22Data Structure (Java programming) ... [B-1반] 2404-2 [B-2반] 2405](https://reader030.vdocuments.net/reader030/viewer/2022021512/5afc88767f8b9a944d8c4ed4/html5/thumbnails/7.jpg)
• Binary Recursion
SCLABSMART COMPUTING LABORATORY
• Binary recursion occurs whenever there are two recursive calls for each non-base case
3 , 1
2 , 2
0 , 4
2 , 11 , 10 , 1
i = 0 , n = 8
0 , 2
7 , 1
6 , 2
4 , 4
6 , 15 , 1
4 , 2
4 , 1
1
2
3 4
5
6 7
8
9
10 11
12
13 14
– E.g., adding all the numbers in an integer array A using binary recursion
Algorithm BinarySum(A, i, n):
Input: array A and int i and n
Output: sum of n int in A starting at i
if n = 1 then
return A[i]
else
return BinarySum(A, i, n/2) + BinarySum(A, i + n/2, n/2)
[ Visual trace of BinarySum(A, 0, 8) ]
E.g.) sum(1, 2, 3, 4, 5, 6, 7, 8)
sum(1, 2, 3, 4) + sum(5, 6, 7, 8)
{ sum(1, 2) + sum(3, 4) } +
{ sum(5, 6) + sum(7, 8) }
…
Base case: n=1
![Page 8: Data Structure (Practice with Java language) - SCLABsclab.konkuk.ac.kr/static/files/chapter3.pdf · · 2017-03-22Data Structure (Java programming) ... [B-1반] 2404-2 [B-2반] 2405](https://reader030.vdocuments.net/reader030/viewer/2022021512/5afc88767f8b9a944d8c4ed4/html5/thumbnails/8.jpg)
• Binary Recursion
SCLABSMART COMPUTING LABORATORY
![Page 9: Data Structure (Practice with Java language) - SCLABsclab.konkuk.ac.kr/static/files/chapter3.pdf · · 2017-03-22Data Structure (Java programming) ... [B-1반] 2404-2 [B-2반] 2405](https://reader030.vdocuments.net/reader030/viewer/2022021512/5afc88767f8b9a944d8c4ed4/html5/thumbnails/9.jpg)
• Practice
SCLABSMART COMPUTING LABORATORY
![Page 10: Data Structure (Practice with Java language) - SCLABsclab.konkuk.ac.kr/static/files/chapter3.pdf · · 2017-03-22Data Structure (Java programming) ... [B-1반] 2404-2 [B-2반] 2405](https://reader030.vdocuments.net/reader030/viewer/2022021512/5afc88767f8b9a944d8c4ed4/html5/thumbnails/10.jpg)
• Practice - 1
SCLABSMART COMPUTING LABORATORY
Linear Recursive Algorithm을 이용하여 문자열에 포함 된 ‘m‘의 수를 계산하시오
String str = “my mom loves me!”
Algorithm StringCounter(s, i)
Input : String s, Integer i
Output : the number of characters in string
if i = s.length then
if s[i] = ‘m’ then return 1
else return 0
else
if s[i] = ‘m’ then return 1 + StringCounter(s, i+1)
else return 0 + StringCounter(s, i+1)
![Page 11: Data Structure (Practice with Java language) - SCLABsclab.konkuk.ac.kr/static/files/chapter3.pdf · · 2017-03-22Data Structure (Java programming) ... [B-1반] 2404-2 [B-2반] 2405](https://reader030.vdocuments.net/reader030/viewer/2022021512/5afc88767f8b9a944d8c4ed4/html5/thumbnails/11.jpg)
• 과제
SCLABSMART COMPUTING LABORATORY
과제1.Practice1을 자신만의 알고리즘을 이용하여 만들어 보시오
조건1. Linear Recursive Algorithm을 사용할 것조건2. 문자열로 “my mom loves me!”를 사용할 것조건3. Practice1과 다른 방법을 이용할 것
과제2.Binary Recursive Algorithm을 이용하여 문자열에 포함 된 ‘m‘의 수를 계산하시오
조건1. Binary Recursive Algorithm을 사용할 것조건2. 문자열로 “my mom loves me!”를 사용할 것
제출기한 : 2017/03/26(일) 24:00까지
![Page 12: Data Structure (Practice with Java language) - SCLABsclab.konkuk.ac.kr/static/files/chapter3.pdf · · 2017-03-22Data Structure (Java programming) ... [B-1반] 2404-2 [B-2반] 2405](https://reader030.vdocuments.net/reader030/viewer/2022021512/5afc88767f8b9a944d8c4ed4/html5/thumbnails/12.jpg)
e-mail : [email protected]
Attach methods :
1. Create zip file (java project folder)
2. Modify the file names :
ID_name_datastructure[Classcode].dat
ex ) 201173378_이명재_datastructure[2403-1].dat
3. e-mail title :
datastructure_name_chapter
ex ) datastructure_최수용_chapter2[2404-1]
Classcode
2403-1 [A-1반] 2403-2 [A-2반]
2404-1 [B-1반] 2404-2 [B-2반] 2405 [C반]
• Submission
SCLABSMART COMPUTING LABORATORY