Thực sự học thuật toán để làm gì?

Để code kiếm cơm bác ạ, không phải ngày nào cũng code thuật toán nhưng lâu lâu vẫn phải ứng dụng một vài cái, chỉ là lâu lâu mới làm thôi nhưng trong team đứa nào nhận code cái chức năng cần áp dụng thuật toán thì đều được team trọng vọng hơn, dễ thăng tiến hơn và quay lại mục đích là kiếm được nhiều tiền hơn.
Cứ lấy mục đích thực dụng đó ra nói chuyện thì bao thuyết phục :beauty:
 
Công ty tớ làm phần mềm tối ưu lộ trình. Cái cốt lõi của nó là thuật toán. Tuyển lòi mắt ra mới dc 1 đứa, lương cao lắm, mà mới ra trường dc 1 năm thôi ấy
 
Các bác kinh nghiệm đầy mình cho em hỏi học thuật toán để rèn tư duy hay để làm gì vậy?

via theNEXTvoz for iPhone
Ko học có shit mà giải được bài toán lớn, thử đơn giản làm mấy bài tìm được ngắn nhất xem đã phải dùng thuật toán rồi mà nó là cái rất thực tiễn luôn. Ko giỏi thuật toán muôn đời chỉ là junior

via theNEXTvoz for iPhone
 
Các bác đi trước có kinh nghiệm gì về việc học thuật toán không? Chỉ đường dẫn lỗi để em bắt đầu? Ví dụ như một cuốn sách mà các bác từng đọc

via theNEXTvoz for iPhone
 
Các bác kinh nghiệm đầy mình cho em hỏi học thuật toán để rèn tư duy hay để làm gì vậy?

Rèn tư duy và cả áp dụng thực tiễn. Quan trọng là trình và môi trường của dev có thể áp dụng được hay không.

Còn đã đi làm coder bảo trì thì không cần thuật toán cũng được, cứ CRUD là đủ sống. Còn muốn phát triển thêm thì phải học thuật toán, và hiểu nó, áp dụng khi nào, tại sao cần dùng. Đây là lúc trình dev nâng lên đó.

Ex: Bài toán sắp xếp, thực tiễn áp dụng cực kì nhiều, và có một đống thuật toán chỉ cho việc sắp xếp. Việc áp dụng thuật toán này tùy trường hợp và số lượng (cái này quan tâm đến Độ phức tạp).
 
Muốn học cái j thì lên gg, đa phần mấy th lập thớt kiểu này chỉ xin ngta tài liệu nọ kia xong vưt xó có chịu đọc đâu . Đến cả search cũng lười thì học hành gì :cautious:
 
Các bác đi trước có kinh nghiệm gì về việc học thuật toán không? Chỉ đường dẫn lỗi để em bắt đầu? Ví dụ như một cuốn sách mà các bác từng đọc

via theNEXTvoz for iPhone
Giới thiệu bác cuốn này
Grokking Algorithms: An illustrated guide for programmers and other curious people
Nếu ngại đọc tiếng Anh thì có cuốn Giải thuật và lập trình của thầy Lê Minh Hoàng đọc cũng ổn.
Học giỏi thuật toán không bao giờ hối hận đâu bác
 
Học 1 chút thuật toán để phát triển tư duy thôi
Còn khi làm cứ phang công cụ vào, chả cần care nó là gì, chỉ cần kết quả
Tất nhiên nên đọc tài liệu hướng dẫn sử dụng trước khi dùng công cụ
 
Học thuật toán có giống như giải toán thời cấp 3 ko các thím? Tức là cứ đọc đề rồi đọc lời giải, làm các bài tương tự. Sau này gặp vấn đề nào thì bóc tách ra rồi áp thuật toán vào giải?

Và quên hết toán c3 rồi giờ 3x ôn lại thuật toán có đc ko?
Không giống mấy, nhưng cũng giống làm mấy bài sắp xếp từ bé đến lớn hay UCLN,.... hay vẽ hình * thành cây thông các kiểu, chủ yếu là rèn tư duy lập trình với khả năng đọc hiểu vấn đề
 
không học thuật toán thì lên voz hỏi cách tìm số lớn thứ 2 trong dãy số cho trước, điều kiện chỉ dùng C, éo có thư viện hay cái hàm loz nào dạng như " void findmax2nd(num1nd, 2nd, 3nd...vv rd){} :baffle:
 
Muốn lên dev hay cao hơn nữa thì học, muốn làm coder mãi thì ko cần học. 1 helpdesk cho hay :(
 
1/ Khi code, bạn chắc chắc phải đọc document, và luôn có TH vài hàm có chức năng tương tự nhau, vậy trong đám hàm đó phải dùng cái nào??? ---> Đọc docs, nó sẽ viết underlying implemtation ---> Từ cái này suy ra dùng cái nào tốt hơn. Đây là viêc hàng ngày. Ví dụ trong C++, có 4-5 hàm sort, bạn chọn cái nào để xài ??? Thằng biết giải thuật, chỉ cần đọc mô tả cái hàm là nó biết ưu nhược điểm của từng cái rồi.

2/ Viết các vòng For. Có những thằng sẽ viết 3-4 vòng for lồng vào nhau, nhưng ông biết giải thuật, sẽ suy nghĩ cho nó ra 1 vòng thôi.

3/ Rất nhiều TH phải xử lý file, xử lý chuỗi, hoặc cấu trúc dữ liệu đang dùng là graph, hoặc binary,... không biết algo làm sao mà code ??? Hay chọn bừa 1 cái data rồi thích ra sao thì ra ???

4/ Thăng đồng nghiệp nó viết theo giải thuật tối ưu cho công việc, bạn không biết giải thuật, đọc không hiểu đc code của nó, và bạn chửi nó ngu hay sao ??? Trong khi cái giải thuật nó implement là cái cơ bản nhất mà bất cứ thằng nào cũng phải biết. Tôi gặp nhiều TH này rồi.
 
Last edited:
cứ nói thuật toán cho văn vẻ cao siêu , chứ thực chất nó là hướng giải quyết vấn đề 1 cách rõ ràng từng bước , đối với các vấn đề đơn giản thì cứ mô phỏng lại các thực hiện ở ngoài vào máy , còn các vấn đề phức tạp thì phải dùng đến toán để giải quyết xong thì viết code để máy nó giải cái phương trình đó ra , cốt lõi là hiểu vấn đề + tìm quy luật >> diễn giải cách giải quyết bằng ngôn ngữ máy ...
 
Học 1 chút thuật toán để phát triển tư duy thôi
Còn khi làm cứ phang công cụ vào, chả cần care nó là gì, chỉ cần kết quả
Tất nhiên nên đọc tài liệu hướng dẫn sử dụng trước khi dùng công cụ
làm thế này dễ bị lớp trẻ nó đào thải lắm thím , muốn bám trụ lâu thì phải hơn bọn nó cái đầu
 
Back
Top