-
26-08-2008, 12:59 PM #1Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Hỏi về thuật toán và ứng dụng của nó
Xin chào mọi người, mình hiện đang rất thắc mắc về ứng dụng cụ thể của những thuật toán trong lập trình ứng dụng. Mình không được học ĐH/CĐ (do thi rớt) nên không làm cách nào hiểu được hết những thuật toán dạng đồ thị, nội suy, vi phân... Mình chỉ có thể tạm đọc hiểu code của những ứng dụng đơn giản và cao lắm thì cũng chỉ đến các phương pháp sorting, searching, binary tree là dừng bước. Các bài thuộc về vi phân, hàm số, đồ thị, phi tuyến thì mình chịu thua hoàn toàn [IMG]images/smilies/21.gif[/IMG]
Vấn đề mình rất lo là nếu mai này làm lập trình viên thì các vấn đề trên có phải là trở ngại chính không? Mình có đọc qua nhiều bài trong mục đào tạo và kinh nghiệm của congdongcviet.com và rất tâm đắc là phải học từ đầu, học cho kĩ mà mình thì không hiểu hết cơ bản thì đào đâu ra thuật toán để giải đây [IMG]images/smilies/dont_know.gif[/IMG] Mình đã nghĩ tới cách học chui ở giảng đường nhưng xem ra không khả thi
Và một thắc mắc nữa là mình định theo hướng lập trình ứng dụng, vậy thì các thuật toán đồ thị, ma trận, vi phân... có được bỏ qua hay không? Bởi lẽ theo mình thì các ứng dụng (nhỏ và vừa) trên thị trường xem ra thuật toán của chúng không liên quan nhiều đến Toán (cao cấp). Phải chăng những thuật toán để giải Toán (cao cấp) chỉ dùng để nâng cao tư duy và ít khi áp dụng cho ứng dụng thực tế? Mình thấy đa phần các ứng dụng trong mục "Sản phẩm của bạn..." trong congdongcviet thì theo mình thuật toán ít phụ thuộc vào trình độ Toán (cao cấp) của tác giả. Có lẽ họ chỉ nảy ra ý tưởng, viết ra giấy, sắp xếp ý tưởng rồi code chứ không áp dụng những ma trận, vi phân này nọ vào... Dĩ nhiên mình không bàn tới những chương trình đồ sộ hoặc thiên về đồ họa đòi hỏi tính toán cao (lập trình game, 3D chẳng hạn).
Câu hỏi cuối là trong thời kì công nghệ thay đổi nhanh như gió hiện nay, mình có cần phải học thuộc tất cả những thuật toán hay không khi xin việc? Hay ví dụ chỉ cần dùng hàm qsort()...trong C# mà không cần viết lại nguyên hàm? Mình hiểu thuật toán nhưng không dùng thì sẽ không nhớ mà thực tế trong công việc mình nghĩ ít khi đụng đến thuật toán, do đó không biết nên làm gì với đống thuật toán đang ngâm cứu nữa - tiếp tục đào sâu hay dừng ở mức căn bản đây? Ví dụ như chương trình quản lý hồ sơ, nhân sự thì mình chưa hình dung được những thuật toán đồ sộ khó hiểu của Toán cao cấp giải quyết được gì trong chương trình đó nữa [IMG]images/smilies/17.gif[/IMG]
Hiện mình đang rất bối rối giữa việc tiếp tục nghiên cứu thuật toán (cho Toán cao cấp) hay chuyển sang C# (dùng sẵn những hàm đã viết) để đi làm kiếm cơm đây [IMG]images/smilies/21.gif[/IMG] Mong mọi người cho ý kiến.
Mình chân thành cảm ơn tất cả [IMG]images/smilies/biggrin.png[/IMG]View more random threads:
- Học Embedded Linux thì nên bắt đầu từ đâu và làm việc ở đâu?
- Cách nào để học lập trình tốt?
- Reviews trà ô long có giảm cân không? - NewwayMart
- Chỉ dẫn vừa đủ các cách tẩy tế bào chết cho làn da mặt nhờn bằng phương pháp tự nhiên
- Để hoc UML thi cần nền tảng gi?
- [Giải đáp] Tẩy da chết Rosette có sử dụng được cho bà bầu?
- Phân loại các loại kem tránh nắng phổ biến trên thị trường hiện giờ
- Nghành an ninh mạng cần học những gì và ở đâu?
- Mách mẹ cách làm gối đinh lăng cho bé ngủ ngon giấc ngay tận nơi
- Review áp dụng tretinoin trước hay sau serum?
-
26-08-2008, 01:23 PM #2Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
- Thuật toán quan trọng nhưng trong lập trình thì viết code nhiều cũng quan trọng. Nhiều người rất dở giải thuật chỉ nắm căn bản vẫn có thể làm việc được ầm ầm do họ làm quen và có nhiều kinh nghiệm. Thuật toán nếu giỏi thì viết code sáng hơn, nhanh hơn và tất nhiên hiệu quả hơn rất nhiều nhưng không cần phải xuất sắc mới trở thành lập trình viên được vì đa phần mấy cao thủ giải thuật toàn là dân cội toán học và học lập trình từ khi lên 6 lên 7 không à. Cậu cũng đừng nhìn vào đó mà tự ti. Cậu cứ học hết sức là được.
- Còn ứng dụng thì 1 nhiều lắm, hầu như code nào mà chẳng có giải thuật, nhỏ to lớn bé là tùy thôi. Với lại học thuật toán nó đốt thời gian gấp trăm lần học programming T_T.
- Và nếu cậu rành các thuật toán cơ bản thì tui nghĩ cậu viết code sẽ nhanh hơn nhiều và design cũng tốt hơn nhiều, hình như cứ mỗi lần quay lại học giải thuật vài tuần thì quay lại tui viết code nó nhanh hơn 1 tí T_T( không biết có đúng như vậy không nhưng tui thấy nó lại đúng với tui ) [IMG]images/smilies/biggrin.png[/IMG].
- Nếu cậu muốn học thì tìm đọc 2 bộ sách này :
1. Algorithm in C++ ( 4 tập ) của Robert Sedgewick
2. Art of computer programming của Donald E. Knuth. ( 4 tập )
Tất nhiên đọc hiểu 2 bộ này tối thiểu chắc cũng phải vài năm, và tất nhiên sách đọc không dễ như đọc sách công nghệ đâu. Nhưng nếu cậu thực sự thích thì cậu sẽ được thôi. Chúc cậu may mắn [IMG]images/smilies/wink.png[/IMG]!
-
26-08-2008, 01:32 PM #3Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Chào bạn.
Mình chưa đi làm như theo mình nếu bạn thiên về làm web, làm các ứng dụng quản lý thì cái bạn cần là tư duy logic và cơ sở dữ liệu(tất nhiên ngôn ngữ lập trình mình không đề cập ở đây vì nếu làm coder mà ngôn ngữ yếu thì không bàn gì nữa).
2- theo như mình thì thuật toán rất quan trọng, nó sẽ giúp bạn làm việc tốt hơn. và trên đời này không ai là hoàn hảo cả nên nhiều vấn đề bạn chưa biết là chuyện bình thường thôi phải không bạn. nên khi đi làm đụng tới giải thuật thì bạn chỉ cần google và hô biến. là nó list ra cho bạn một đống. chỉ cần các từ khóa liên quan tới nó thôi.
mình nói như vậy không có nghĩa là chối bỏ sự quan trọng của thuật toán. mà chỉ muốn nói với bạn rằng thuật toán quan trọng đó nhưng nó không phải là tất cả. Nếu bạn không làm game, làm nhúng, làm các lĩnh vực về AI, khoa học máy tính thì bạn có thể làm mọi việc nếu như bạn code tốt.
chúc bạn thành công.
-
26-08-2008, 04:27 PM #4Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Mình chân thành cám ơn ý kiến của rox_rook và zkday2686, đúng là mình rất tự ti khi thấy mọi người ai cũng biết hết còn mình chẳng biết gì. Quả thật có lẽ họ đã bỏ rất nhiều công sức để được như vậy còn mình thì chỉ ngồi than thân trách phận mà không bắt tay vào nỗ lực học tập nhiều hơn để bằng và hơn họ. Phải năng vào congdongcviet hơn mới được [IMG]images/smilies/biggrin.png[/IMG]
Cám ơn những lời động viên của các bạn, cám ơn congdongcviet, cám ơn mọi người rất nhiều [IMG]images/smilies/smile.png[/IMG]
-
08-09-2008, 10:54 AM #5Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Gửi bởi rox_rook
vậy mình có lợi thế gì không?
(mình dân toán nhưng theo tin lại mới học C nên kòn lơ mơ lắm)
-
08-09-2008, 12:50 PM #6Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
vd nhé: bài xác định số n có phải là số nguyên tố không với người bình thường họ cho chạy từ 2->n còn bạn là dân toán nên sẽ chỉ cho chạy tới sqrt(n), vì toán học đã chứng minh như vậy v.v.... [IMG]images/smilies/biggrin.png[/IMG]
-
08-09-2008, 04:19 PM #7Junior Member
- Ngày tham gia
- Sep 2015
- Đang ở
- Số 60 Thái Hà, Đống Đa, Hà Nội
- Bài viết
- 0
Bạn có thể tham khảo thêm ở quyển : Toán Rời Rạc - ứng dụng trong tin học .
Nếu khá tiếng anh thì có thể đọc : Data Structure and Algorithm in Java : quyển này chỉ nên quan tâm tới Algorithm(Thuật Toán) thôi.
-
09-09-2008, 02:00 PM #8Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
nhưng cái đó không phải chỉ dân toán học mới biết
đó không phải là lợi thế
kòn cái gì khác to lớn hơn không?
-
09-09-2008, 04:45 PM #9Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Gửi bởi RedHatLinux9
Theo mình như thế là đã quá nhiều rồi.[IMG]images/smilies/lick.gif[/IMG] [IMG]images/smilies/lick.gif[/IMG]
-
09-09-2008, 04:52 PM #10Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
http://forums.congdongcviet.com/showthread.php?t=9055
cậu thử xem bài này nếu không có toán thì sẽ khó biết chừng nào
lúc xứ đa ngay canh nhỏ sậm màu hơn sánh với phần đang lại hạng thân thể. thời chúng lắm dạng khiến chị em cảm thấy tự ti, mặc cảm. được giàu trạng thái giúp bạn thoát khỏi tình yêu trạng nào, bài...
Trị Thâm Cô Bé Tại Nhà: Những Mẹo...