Bài Tập Thuật Toán Lập Trình, Giải Thuật Lập Trình · Các Bài Đã Viết

Học lập trình nhất định phải rèn luyện tư duy, thuật toán. Và nếu bạn vừa nhập môn, vậy thì đây là 5 trang web cực hay ho để bạn luyện tập. Hãy chọn 1 – 2 trang và sẵn sàng cho công cuộc “up” kỹ năng của mình thôi!

1. hướng dẫnerrank (hướng dẫnerrank.com)

Trang nay rất rất phổ biến trong giới lập trình, từ junior đến senior, từ developer đến mấy bác tuyển dụng.

Đang xem: Bài tập thuật toán lập trình

hướng dẫnerrank có rất nhiều bài thuật toán, với độ khó từ thấp đến cao, đủ mọi thể loại thuật toán và cấu trúc dữ liệu (Thậm chí cả SQL cũng có luôn). Bạn sẽ viết code, chạy trực tiếp và xem kết quả, bí quá có thể qua mục discussion xem bà con giải ra sao nữa.

Đi phỏng vấn, có thể bạn sẽ gặp công ty cho vào trang web này để làm bài test (thuật toán + trắc nghiệm + tự luận). Do vậy, các bạn cứ lên đây làm bài tập nhiều cho quen dần cũng được nha.

2. Leetcode (leetcode.com)

Bên cạnh hướng dẫneerank, Leetcode cũng là 1 trang rất hay để luyện thuật toán. Số lượng bài toán trên này không hề thua hướng dẫnerrank, có 3 độ khó chính là Easy/Medium/Hard.

Đợt mình đi phỏng vấn thuật toán thì cũng hay bị hỏi mấy bài tầm Easy để khởi động, Medium để đánh giá khả năng. Tầm Hard thì chắc cỡ phỏng vấn Facebook/Google họ mới hỏi.

Xem thêm: Cách Khóa Màn Hình Máy Tính Win Xp, Hướng Dẫn Đặt Mật Khẩu Cho Máy Tính

*

Trang này còn có 1 cái khá hay ho là nó đo performance/runtime code của bạn, so sánh với người khác để xem code bạn chạy nhanh hay chậm, có thể optimize được hay không.

3. Geekforgeeks (practice.geeksforgeeks.org)

Nếu bạn đã từng bí khi làm bài thuật toán, từng Google tìm lời giải, hẳn bạn sẽ thấy qua trang này một … vài lần.

Trang geekforgeeks này giao diện không được đẹp(do dân Ấn Độ làm), bài tập cũng không phân loại rõ cho lắm. Tuy vậy, nó lại có … rất nhiều bài giải của những bài tập thuật toán thông dụng. Mỗi bài giải lại gồm nhiều cách giải khác nhau, đi kèm với độ phức tạp/memory của mỗi cách giải. Đọc rất là hay và bổ ích.

*

Do vậy, lâu lâu các bạn có thể trang này xem bài giải/code example của các thuật toán phổ biến nha!

4. Exercism.io

Nếu như các trang trên để luyện thuật toán, thì Exercism lại là 1 trang khá hay để luyện thành thạo ngôn ngữ lập trình.

Xem thêm: Ví Dụ Giải Phương Trình Bậc 3 Một Ẩn, Giải Phương Trình Bậc 3

Trên Exercism cũng có nhiều bài tập, nhưng các bài tập này không quá nặng về thuật toán, mà nặng về cách dùng ngôn ngữ lập trình:

Sử dụng if/else, loop.Xử lý ngày tháng, xử lý chuỗiCách phân tách method, tổ chức classCách xử lý lỗi, viết code bất đồng bộ…Cá nhân mình từng dùng trang này để học thêm về Golang, Elixir. Vừa làm vừa xem thử bài giải của các bạn khác để học cách viết code!

*

Nếu các bạn đã lập trình 1 thời gian, muốn học ngôn ngữ mới, học cách tư duy mới thì cứ lên Exercism nhé!

5. Daily Coding Problem (dailycodingproblem.com)

Khác với những trang còn lại, trang này không có danh sách bài tập. Thay vào đó, bạn nhập email của bạn vào, mỗi ngày họ sẽ gửi cho bạn 1 bài thuật toán để làm thử.

Các bài này cũng mức Easy/Medium, được các công ty như Amazon/Google sử dụng để phỏng vấn ứng viên. Dùng gói Premium thì các bạn sẽ được gửi kèm lời giải luôn!

*

Bản thân mình dùng gói thường, sau đó nếu bí thì Google 1 hồi cũng ra đáp án bên Geekforgeeks. Nếu các bạn sắp đi phỏng vấn, ôn thuật toán thì đăng kí trang này, luyện trước 2-3 tháng là vừa nha!

Tạm kếtVậy là bạn đã có list 5 trang web cực hay ho để luyện thuật toán, học lập trình rồi nhé! Hãy luyện tập, học hành có lộ trình để cải thiện kỹ năng, tư duy và tất nhiên là dần dần up level skill của bản thân nữa!

#Phạm Huy Hoàng

HỆ THỐNG ĐÀO TẠO CNTT QUỐC TẾ lingocard.vn

> Tìm hiểu Chương trìnhKiến tạo IT 4.0 – Cam kết lương từ 8 triệu đồng:https://bit.ly/2L0TreC

Xem thêm bài viết thuộc chuyên mục: Bài tập