01/10/2018, 10:36

Cần tìm hiểu về thuật toán

Các bác ở diễn đàn có thể chia sẻ 1 vài thuật toán trong lập trình được không, vd như cấu trúc dữ liệu Stack,…

HK boy viết 12:46 ngày 01/10/2018

Đọc sách Cấu trúc dữ liệu và Giải thuật của Lê Minh Hoàng nhé.

Trần Hoàn viết 12:41 ngày 01/10/2018

Chia sẻ vài thuật toán?
Có phải bạn đang chuẩn bị bài thuyết trình, chứ hỏi thế này thì khó quá.
Thuật toán thì có những cái cực nhỏ, lại có những cái cực to, trong bài thuyết trình bạn sẽ không thể mô tả nổi vì không đủ thời gian.

Thuật toán cực nhỏ ví dụ như thuật toán đổi chỗ 2 biến ab sử dụng phép cộng, chỉ tốn 3 dòng code, mình minh hoạ bằng C:

a = a + b;
b = a - b;
a = a - b;

Ngoài việc đổi chỗ bằng phép cộng, bạn có thể tìm thêm thuật toán đổi chỗ bằng phép xor, thuật toán đổi chỗ sử dụng biến trung gian, các thuật toán sắp xếp…

Một thuật toán đủ to để bạn không thể giải thích kỹ càng trong một buổi thuyết trình, đó là Hàm băm mật mã SHA-512, bạn có thể tìm hiểu Google.

rogp10 viết 12:39 ngày 01/10/2018

CTDL là khác à thuật toán chỉ là dãy các bước có thứ tự, rõ ràng (và đơn nghĩa), sẽ dừng và phải có nhiệm vụ cụ thể (vì vậy chỉ ra 1 thuật toán riêng là phải biết nó làm gì). Các định nghĩa kinh điển thì hàm ý rằng khi đã gọi là algo thì nó phải đúng 100%, nhưng trong thực tế sử dụng thì lại có từ “wrong algorithm” =) và pseudoprimality algorithm (tức là xác suất nó sai là <= 1/4 và giảm dần khi số càng lớn).

Bài liên quan
0