Cấu trúc dữ liệu và giải thuật : Selection Sort - Sắp xếp chọn
ฝัง
- เผยแพร่เมื่อ 17 ธ.ค. 2024
- Bài giảng về Cấu Trúc Dữ Liệu & Thuật Giải của tác giả : Lê Đình Tuấn & Thái Doãn Ngọc
Selection sort algorithm
Data Structures and algorithms
Selection Sort
Data Structure (Literature Subject)
Sắp xếp lựa chọn
Sorting Algorithm
(Data Structures and Algorithms Selection Sort)
Video rất hay và cực kì dễ hiểu. Ko cần dông dài. Thanks ad
tuyệt vời quá, mấy tiếng nghiền ngẫm mà không hiểu, xem clip này mới hiểu đc. Cảm ơn ad nhiều.
một kiến thức cơ bản mà đc làm video rất cầu kỳ. xin chân thành cảm ơn
học trên lớp giảng rất nhanh qua xem video chầm chậm em mới phân tích được cám ơn thầy ạ
bài giảng dễ hiểu quá, em cảm ơn TN Group nhiều ạ
vòng lặp đầu tiên
for(int i = 0; i < (n-1); i++)
vòng lặp thứ hai
for(int j = i+1; j
+duy lê cũng đâu khác zì đâu bạn; tại trên clip hình như vòng lặp thứ nhất là for(int i = 1; i < (n-1); i++) //Sai
i=0 mới đúng thì fải
chính xác i phải đi từ 0 đến n-1 mới đúng! vì thuật toán nó chỉ làm đến thằng thứ n-1
sanh tung atm nếu để "< N" thì cũng vậy. Bởi vì nhỏ hơn N thì cũng có nghĩa giá trị lớn nhất là N-1
bai giang rat sinh dong va de hieu, cam on tac gia
Rất sinh động và dễ hiểu, em cảm ơn thầy ạ ❤❤
quá hay,cảm ơn tác giả rất nhiều....
đi học trung tâm mấy chục triệu, hỏi thầy giải thích các thứ không hiểu. về xem youtube 3 phút hiểu ra vấn đề :v
rất hữu ích, giờ mới biết nguyên lý của selection
rất dễ hiểu, em cảm ơn thầy
Bài giảng Cấu trúc dữ liệu và giải thuật : Selection Sort - Sắp xếp chọn
Cảm ơn Thầy nhiều ạ!
Dễ hiểu quá ad ạ, cảm ơn ad nhiều nhé!
rất hay và dễ hiểu. cảm ơn ad nhiều nhé ! :)
Tuyệt vời, cảm ơn ạ !
Thuật toán sắp xếp này là dễ hiểu và đơn giản nhắt @@
điều kiện vòng for đầu là i< n-1
tin học mãi đỉnh
1:56
void selectionsort(int a[], int n)
{
int j;
for (int i = 0; i < n - 1; i++)
{
int min = i;
for (int j = i + 1; j < n; j++)
{
if (a[j] < a[min])
min = j;
}
if (min != i)
{
int t = a[min];
a[min] = a[i];
a[i] = t;
}
}
}
đề ghi sai như v mới đúng nè ^^ khỏi cảm ơn
Hay lắm ạ ! ;)
hay wa', lai con` rat ki` cong
vòng for đầu là i đúng ko ạ và video rất hay ạ
thưa thầy, bài giảng trong vi deo đc làm từ phần mềm nào vậy thầy, e đang học ctdj và gt, cô bảo làm như video trên thì sẽ đủ yêu cầu của cô, nên mong thầy giúp đỡ
cái này làm = powerpoint đó bạn, làm từng hiệu ứng sau đó export ra file mp4, office 2010 và 2013 có hỗ trợ export file nhé
thanks thầy nhiều, để e thử
cho mình hỏi về video mô phỏng thuật toán chèn nhị phân với (binary insertion sort)
sao bạn
Cảm ơn thầy, video rất dễ hiểu !
Nhưng mà hình như dòng đầu là < for(I=0;i mới hợp lí !
+3524 TH bạn này nói đúng này
thank you so much
Thầy cho em xin slide của các bài này được không ạ!
i chỉ chạy tới
love
thầy cho e hỏi "t" trong video là gì vậy ạ
"t" là biến tạm nhé bạn
"t" là biến tạm nhé bạn
chỗ
if(m!=1)
là tại sao đấy ạ. em ko hiểu chỗ đấy lắm.
và tại sao phải chayj.
tráng đặng nếu min =i với ở trên ( min =j ) thì i=j nằm chung 1 chỗ rồi bạn :) . lúc đó số tại ô này sẽ đứng yên k di chuyển và nếu vòng lặp cứ tiếp tục thế thì nó chỉ điểm mặt thôi chứ k sắp xếp nữa.
cho em hỏi tại sao người ta lại làm nhiều kiểu sort vậy anh ?
mỗi cái đều có ưu nhược riêng hả anh ?
nếu như thế anh có thể nói sơ sơ cho em vài cái sort nó có ưu và nhược gì để em dùng nó 1 cách hiệu quả hơn
Hãy thử tưởng tượng bạn có một bộ bài đã được xáo, và bạn muốn sắp xếp lại các lá bài theo thứ tự tăng dần. Bạn sẽ làm như nào? Có rất nhiều cách tiếp cận khác nhau:Chia bộ bài theo giá trị: 2, 3, 4... Rồi gộp lại.Trải tất cả các lá bài ra, rồi lần lượt lấy lá bài nhỏ nhất.Chia bộ bài ra thành nhiều nhóm nhỏ. Với mỗi nhóm, sắp xếp lại, sau đó gộp các nhóm lại với nhau theo thứ tự tăng dần.Bạn sẽ thấy những cách tiếp cận khác nhau sẽ có thời gian nhanh chậm khác nhau. Các thuật toán sắp xếp cũng vậy. Có rất nhiều cách tiếp cận, với ưu, nhược điểm khác nhau.Khi so sánh giữa các thuật toán này với nhau, có nhiều vấn đề phải quan tâm.Thời gian chạy. Đối với các dữ liệu rất lớn, các thuật toán không hiệu quả sẽ chạy rất chậm và không thể ứng dụng trong thực tế.Bộ nhớ. Các thuật toán nhanh đòi hỏi đệ quy sẽ có thể phải tạo ra các bản copy của dữ liệu đang xử lí. Với những hệ thống mà bộ nhớ có giới hạn (ví dụ embedded system), một vài thuật toán sẽ không thể chạy được.Độ ổn định (stability). Độ ổn định được định nghĩa dựa trên điều gì sẽ xảy ra với các phần tử có giá trị giống nhau.Đối với thuật toán sắp xếp ổn định, các phần tử bằng với giá trị bằng nhau sẽ giữ nguyên thứ tự trong mảng trước khi sắp xếp.Đối với thuật toán sắp xếp không ổn định, các phần tử có giá trị bằng nhau sẽ có thể có thứ tự bất kỳ.Giả sử cần sắp xếp tăng dần các phần tử. Để sắp xếp giảm dần, ta có nhiều cách:Sửa đổi thuật toán một cách phù hợp.Sắp xếp, sau đó đảo ngược thứ tự các phần tử.Định nghĩa lại việc so sánh nhỏ hơn.
đó
Cho em xin full code được không ạ ?
đéo được em ạ. link này của thầy làm nên éo có share :)
SAO LẠI GÁN MIN=I, MIN = A[0] DC KO A
i là vị trí, còn a[0] là giá trị rồi, sao gán dc ?
thầy ơi, cho em xin bài giảng với ạ. Gmail: handk1999 @@t.
Cảm ơn thầy nhiều .