01/10/2018, 13:25

Hỏi sự khác nhau của 2 thuật toán sắp xếp mảng dùng for tiến và lùi?

các bác cho em hỏi sự khác nhau giữa 2 thuật toán sắp xếp mảng 1 chiều :

  • 2 for nối đuôi.

    for(i=0;i<n-1;i++)
    for(j=i+1;j<n;j++)

  • 2 for chạy ngược nhau.

       for(i=0;i<n-1;i++)
       for(j=n-1;j>=i;j++)
    

theo em là nó đều giống nhau nhưng không hiểu sau trong tài liệu em đọc nó lại chia làm 2 dạng.

sdo4 viết 15:31 ngày 01/10/2018

@TuanAnh 2 cái đều là sắp xếp cả bạn à, và có rất nhiều thuật toán sắp xếp như: Insertion sort, Selection sort,… bạn có thể tìm thêm với từ khóa “Sorting algorithm”.

rogp10 viết 15:36 ngày 01/10/2018

Nếu trong thân vòng lặp viết đúng thì cơ bản là như nhau.

Dark.Hades viết 15:29 ngày 01/10/2018

Đa phần thì big O như nhau, còn nếu dùng các container đặc biệt (trong C++) như std::set thì sẽ thành “thảm hoạ” :))

Bài liên quan
0