THINK JAVA: CÁCH SUY NGHĨ NHƯ NHÀ KHOA HỌC MÁY TÍNH - Trang 107

tìm ra kho ng th i gian gi a chúng. Cách làmth c hi n tính tr có nh . Nh ng dùng ph

ng th c đ

ư

ươ

ứ ể

chuy n đ i s d h n nhi u.

ổ ẽ ễ ơ

Đi u tr trêu là, đôi khi vi c làm cho bài toán khó h n

ơ (t ng quát h n) l i khi n cho d dàng h n (ít

ơ

ế

ơ

tr

ng h p đ c bi t, ít kh năng gây ra l i).

ườ

11.13 Thu t toán

Khi b n vi t m t l i gi i t ng quát cho m t l p các bài toán, thay vì tìm l i gi i riêng cho m t bài toán

ế

ộ ờ

ả ổ

ộ ớ

riêng l , b n đã vi t m t

ẻ ạ

ế

thu t toán

. Th t không d đ nh nghĩa thu t ng này, b i v y tôi s c g ng

ễ ị

ở ậ

ẽ ố ắ

th vài cái ti p c n khác nhau.

ế ậ

Tr

c h t, hãy xét m t s th không ph i là thu t toán. Khi b n h c tính nhân gi a hai s , có l b n đã

ướ ế

ộ ố ứ

ẽ ạ

ghi nh b n c u ch

ng. Th t ra, b n đã h c thu c lòng 100 l i gi i c th , b i v y ki n th c này th c

ớ ả ử

ươ

ả ụ ể ở ậ

ế

s không ph i là thu t toán.

Nh ng n u b n “l

i bi ng,” có th b n đã h c h i đ

c m y m o v t. Ch ng h n, đ tính tính c a m t

ư

ế

ườ

ế

ể ạ

ọ ỏ ượ

ẹ ặ

s

n v i 9, b n có th vi t

ể ế n−1 là ch s th nh t và 10−

ữ ố ứ

n là ch s th hai. M o này là l i gi i t ng quát

ữ ố ứ

ả ổ

đ nhân m t s d

i m

i b t kì v i 9. Đó chính là thu t toán!

ộ ố ướ

ườ ấ

T

ng t , nh ng kĩ thu t b n h c đ c ng có nh , tr có nh , và phép chia s l n đ u là nh ng thu t

ươ

ậ ạ

ọ ể ộ

ớ ừ

ố ớ

toán. M t trong nh ng đ c đi m c a thu t toán là chúng không c n trí thông minh đ th c hi n. Chúng

ể ự

ch là nh ng c ch máy móc trong đó t ng b

c n i ti p nhau theo m t lo t nh ng nguyên t c đ n

ơ ế

ướ ố ế

ắ ơ

gi n.

Theo ý ki n c a tôi, th t đáng ng i khi th y r ng chúng ta dành quá nhi u th i gian trên l p đ h c cách

ế ủ

ấ ằ

ể ọ

th c hi n nh ng thu t toán mà, nói th ng ra là, không c n trí thông minh gì c . M t khác, quá trình

thi t k nh ng thu t toán l i thú v , đ y th thách trí tu , và là ph n trung tâm c a vi c mà ta g i là l p

ế ế

ị ầ

trình.

Có nh ng vi c mà con ng

i làm theo l t nhiên, ch ng khó khăn hay ph i suy nghĩ gì, l i là nh ng th

ườ

ẽ ự

khó bi u di n b ng thu t toán nh t. Vi c hi u ngôn ng là m t ví d đi n hình. Chúng ta ai cũng làm

ụ ể

v y, nh ng đ n nay ch a ai gi i thích đ

c r ng ta làm v y

ư

ế

ư

ượ ằ

b ng cách nào

, ít nh t là bi u di n d

i

ướ

d ng thu t toán.

B n s s m có c h i thi t k nh ng thu t toán đ n gi n cho nhi u bài toán khác nhau.

ạ ẽ ớ

ơ ộ

ế ế

ơ

11.14 Thu t ng

l p:

Tr

c đây, tôi đã đ nh nghĩa l p là m t t p h p các ph ng th c có liên quan. Trong ch ng này ta

ướ

ộ ậ

ươ

ươ

còn đ c bi t r ng l i đ nh nghĩa l p cũng đ ng th i là m t b n m u c a m t ki u đ i t

ng m i.

ượ

ế ằ

ờ ị

ộ ả

ẫ ủ

ố ượ

th c th :

Thành viên c a m t l p. M i đ i t

ng đ u là th c th c a m t l p nào đó.

ộ ớ

ỗ ố ượ

ể ủ

ộ ớ

constructor:
M t ph ng th c đ c bi t đ kh i t o các bi n th c th c a m t đ i t ng m i l p nên.

ươ

ứ ặ

ệ ể

ở ạ

ế

ể ủ

ộ ố ượ

ớ ậ

l p kh i đ ng:

ở ộ

L p có ch a ph ng th c

ươ

ứ main n i b t đ u vi c th c thi ch ng trình.

ơ ắ ầ

ươ

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.