Cơ bản về thuật toán – Giúp bạn học thuật toán đơn giản hơn – iViettech

Trong những năm gần đây, nhu yếu tuyển dụng ngành lập trình nhiều nên rất nhiều bạn theo học ngành công nghệ thông và cũng rất nhiều bạn từ ngành khác chuyển sang. Do thời hạn học ngắn hoặc thiếu tập trung chuyên sâu trong quy trình học, những bạn gặp rất nhiều khó khăn vất vả khi đi phỏng vấn, nhất là phỏng vấn với thuật toán .
Trong chuỗi bài viết này, mình sẽ trình diễn một cách rất cơ bản về thuật toán và những thuật toán thường gặp để giúp những bạn dễ hiểu, dễ vận dụng và tự tin trong quy trình tham gia phỏng vấn tìm việc cũng như tạo nền tảng cho quy trình học lập trình .

Thuật toán là gì?

Thuật toán / Thuật giải / Giải thuật / Algorithm nói chung đó là cách giải một bài toán bằng chương trình máy tính. Kỹ năng về thuật toán là nền tảng trong lập trình nên những lập trình viên phải nắm vững phần này thì mới làm việc tốt được .

Ví dụ: Để giải một phương trình bật nhất ax+b =0. Cần các bước:

Khai báo các biến a, b và x

Nhập hai tham số a và b

Kiểm tra a:

    Nếu a =0

      Kiểm tra b

         Nếu b= 0 thì in ra phương trình có vô số nghiệm

         Nếu b<>0 thì in ra phương trình vô nghiệm

    Nếu a<>0

       In ra phương trình có một nghiệm x=-b/a

Cái trên gọi là thuật toán để giải phương trình bậc nhất ax + b = 0

Cách biểu diễn thuật toán

Đôi khi bạn biết cách giải nhưng lại không nắm được cách trình diễn cũng là một yếu tố khác bạn phải đương đầu. Có 03 cách cơ bản để trình diễn thuật toán :

    • – Sử dụng ngôn ngữ giả (Pseudo Code)
    • – Sử dụng sơ đồ khối (Flow Chart)
    • – Sử dụng code của một ngôn ngữ lập trình nào đó.

1. Ngôn ngữ giả (Pseudo Code)

Ngôn ngữ giả, ở đây có nghĩa là không phải ngôn ngữ lập trình, bạn có thể sử dụng ngôn ngữ tiếng Anh hoặc tiếng Việt để biểu diễn thuật toán. Ví dụ ở trên tôi sử dụng tiếng Việt để biểu diễn thuật toán giải phương trình bậc nhất ax + b =0 . Ở các bài tiếp theo chúng ta sử dụng thường xuyên ngôn ngữ giả để biểu diễn thuật toán.

2. Sơ đồ khối (Flowchart)

Sơ đồ khối sử dụng những ký hiệu để màn biểu diễn những khối lệnh trong thuật toán .

a. Bảng ký hiệu của sơ đồ khối

Cac ky hieu so do khoi

b. Khối lệnh điều khiển (if)

khoi lenh dieu khien if

c. Khối lệnh điều khiển (if..else)

khoi lenh dieu khien if..else

d. Khối lệnh lặp 

Khoi lenh lap

e. Ví dụ: Sử dụng sơ đồ khối để biểu diễn thuật giải để giải bài toán ax+b=0 ở trên.

thuat toan giai phuong trinh bac nhat

3. Code

Bạn hoàn toàn có thể sử dụng ngôn từ lập trình mình đã học để trình diễn thuật toán .
Ví dụ : Sử dụng ngôn từ lập trình Java để trình diễn thuật toán giải phương trình ax + b = 0 ở trên .

package firstdegreeequation;

import java.util.Scanner;

public class FirstDegreeEquation {

public static void main(String[] args) {
   System.out.println("Giai phuong trinh bac nhat ax + b =0");
   int a, b;
   double x;
   Scanner sc= new Scanner(System.in);
   System.out.print("Nhap bien so a:");
   a= sc.nextInt();
   System.out.print("Nhap bien so b:");
   b= sc.nextInt();

   if(a==0)
      if(b==0)
         System.out.println("Phuong trinh co vo so nghiem");
      else
         System.out.println("Phuong trinh vo nghiem");
   else{
       x=(double)-b/a;
       System.out.println("Phuong trinh co nghiem x=" + x);
   }
}

}

Việc nắm rõ cách trình diễn thuật toán ngoài việc giúp bạn trình diễn thuật toán bạn muốn viết ra, nó còn giúp bạn đọc, hiểu những thuật toán do người khác viết hoặc đọc những đề thi tuyển .

Cách giải quyết một bài toán liên quan đến thuật toán

Có thể tóm tắt những bước để giải một bài toán tương quan đến thuật toán như sau :

  1. – Tìm hiểu kỹ về yêu cầu
  2. – Tìm ra cách giải
  3. – Phân ra từng bước thực hiện
  4. – Biểu diễn

a. Tìm hiểu kỹ về yêu cầu

Đây làm bước đọc đề, bạn cần đọc kỹ để chớp lấy được nhu yếu và bảo vệ hiểu được nhu yếu .

b. Tìm ra cách giải

Bước này khó nhất, tùy thuật vào kiến thức và kỹ năng tư duy và kinh nghiệm tay nghề của bạn. Phần lớn nhờ vào nhiều và năng lực làm toán của bạn. Tuy nhiên, nếu bạn chịu khó đọc kỹ những bài toán tương quan hoặc lập trình nhiều kỹ năng và kiến thức này cũng tăng lên .

c. Phân ra từng bước thực hiện

Lập trình là quy trình chia nhỏ những bước thực thi của một thuật toán đến mức hoàn toàn có thể viết thành những lệnh trong ngôn từ lập trình. Nên bạn cần chia nhỏ những bước thực thi của thuật giải ra thành từng bước nhỏ nhất hoàn toàn có thể màn biểu diễn .

d. Biểu diễn

Tùy theo nhu cầu mà bạn có thể biểu diễn thuật toán theo các hình thức đã nêu ở trên.

Thuật toán và cấu trúc dữ liệu

Mỗi kiểu tài liệu sẽ định hình trên đó những bài toán cơ bản và thuật giải trên đó. Do vậy, khi nói về thuật toán tất cả chúng ta thường phải đi kèm với cấu trúc tài liệu. Trong những bài tiếp theo tất cả chúng ta sẽ làm quen với những thuật toán thông dụng trên những kiểu tài liệu thường gặp như :
Trên đây là những nội dung cơ bản về thuật toán, kỳ vọng giúp bạn thuận tiện hơn trong việc học hoặc ôn tập về thuật toán .

Bài tiếp: Các thuật toán về số học

Các bài viết liên quan

Viết một bình luận