#19.1. [C++]. Thuật Toán Sắp Xếp Chèn | Sắp Xếp Nổi Bọt | Sắp Xếp Chọn | Sắp Xếp Đếm Phân Phối

  Рет қаралды 99,472

28tech

28tech

Күн бұрын

Пікірлер: 118
@28tech_
@28tech_ 2 жыл бұрын
Thông tin các khóa học mình đang hướng dẫn : 28tech.com.vn/
@ngantran8489
@ngantran8489 Жыл бұрын
Dạ, em cảm ơn thầy nhiều ạ
@28tech_
@28tech_ Жыл бұрын
🤗🤗🤗
@TienVu-v9z
@TienVu-v9z Жыл бұрын
Đỉnh quá anh ạ. Làm nhiều thuật toán mà không thấy có Playlist thuật toán
@ngoctho9108
@ngoctho9108 2 жыл бұрын
Dễ hiểu quá, cám ơn anh♡
@28tech_
@28tech_ 2 жыл бұрын
OK chúc em học tốt :D
@khaicu6508
@khaicu6508 Жыл бұрын
anh ơi cho em hỏi cái thuật toán counting_sort , chỗ khai báo int cnt[10000001] em để trong hàm main chạy thì nó không hiện lên gì , còn để ngoài hàm main nó chạy được bình thường ạ
@_phuong_thao
@_phuong_thao Жыл бұрын
e để trong hàm main nó còn lặp vô hạn cơ=)))
@ThanhNguyen-qh6jt
@ThanhNguyen-qh6jt 3 жыл бұрын
Đỉnh quá a ơii 😍
@ieno8103
@ieno8103 Жыл бұрын
trong bài sắp xếp chọn em nếu em khởi tạo min_pos=0 thì lúc log ra nó đưa giá trị lớn nhất lên đầu rồi tiếp theo là gtri đã sắp xếp. Em làm tăng dần như anh. Bài code đầu tiên á anh(selection sort). Anh giải thích chỗ này giúp em vs
@loltv6448
@loltv6448 2 жыл бұрын
em code cái sắp xếp chèn ntn có hợp lý không anh void sapxepchen(int mang[],int n) { for (int i=1; i=0; j--) { if(key
@trungucpham1866
@trungucpham1866 3 ай бұрын
tuyệt vời quá anh oii
@28tech_
@28tech_ 3 ай бұрын
@@trungucpham1866 thank you 🤩🤩🤩
@thuhuynh2968
@thuhuynh2968 Жыл бұрын
ước gì anh làm giáo viên lớp em, anh giảng dễ hiểu hơn thầy em cả nghìn lần
@28tech_
@28tech_ Жыл бұрын
Thầy của em có thể dạy chán rồi nên ko muốn giảng kỹ hơn hoặc là thầy không đặt vị trí của thầy vào bọn em nên chỉ dạy tới mức đó thôi. Tự tìm hiểu thôi e
@vinhphucdang4959
@vinhphucdang4959 2 жыл бұрын
cho em hỏi ở đoạn bubblesort, giả dụ em lấy n=3, thì vòng for của j của em sẽ lần lượt tăng từ j=0 , nhưng cái điều kiện j
@28tech_
@28tech_ 2 жыл бұрын
Thì giảm dần mà em vì những phần tử ở phía sau nó đc sắp xếp tăng dần
@vinhphucdang4959
@vinhphucdang4959 2 жыл бұрын
@@28tech_ thế cái điều kiện j
@datnee20318
@datnee20318 2 жыл бұрын
@@vinhphucdang4959 là mỗi lượt sắp xếp thì nó sẽ có 1 phần tử lớn nhất ở phía sau rồi nên lần xét kế tiếp chỉ cần xét đến những phần tử ở trước đó
@NGUYENTHEPHAT-m4c
@NGUYENTHEPHAT-m4c Жыл бұрын
@28tech_ Em thấy Bubble Sort không khác gì so với Interchange Sort phải không ạ?
@28tech_
@28tech_ Жыл бұрын
Ko em ơi bubble hoán vị 2 thằng đứng cạnh nhau, interchange hoán đổi thằng a(i) vs những thằng đứng sau nó
@luutuananh3252
@luutuananh3252 Жыл бұрын
@@28tech_ Trong C không có khái niệm truyền tham chiếu mà chỉ có truyền tham trị với cả truyền con trỏ ở trong hàm phải không ạ?
@BDCCN-NguyenNgocNam
@BDCCN-NguyenNgocNam 3 жыл бұрын
mong anh ra series về cấu trúc dữ liệu và thuật toán
@28tech_
@28tech_ 3 жыл бұрын
Đầy thuật toán rồi còn gì :D. Ờ có thời gian thì mình sẽ làm.
@tieneptrai4246
@tieneptrai4246 2 ай бұрын
Cộng phân phối xâu đi thầy
@tanvinh3083
@tanvinh3083 3 ай бұрын
dạ anh ơi cho em hỏi ở thuật selectionsort sao lại cho vòng for chạy từ i = 0 đến i < N-1 vậy ạ
@XuanThinhCao
@XuanThinhCao 3 ай бұрын
giả sử mình có 5 phần tử 1 3 7 5 4 , với i=0 là phần tử 1, với i=1 là 3, i=2 là 7, i=3 là 5, i=4 là 4. vậy bình thường sẽ là sét từ i=0 đến i= n -1(hay i
@quocbuianh8103
@quocbuianh8103 Жыл бұрын
anh ơi cho em hỏi cái countingsort á anh em khai báo mảng count ngoài hàm main chạy nó báo lỗi vậy anh
@kaito66662
@kaito66662 19 күн бұрын
anh ơi sắp xếp chèn này mà có n phần tử thì mô phỏng hình học sẽ có n bước hả anh
@HuyTran-pr8ug
@HuyTran-pr8ug 2 жыл бұрын
miễn phí và chất lượng
@28tech_
@28tech_ 2 жыл бұрын
Quá chất lượng ấy chứ hehe.
@HuyTran-pr8ug
@HuyTran-pr8ug 2 жыл бұрын
@@28tech_ t chưa hiểu lắm chỗ O(n+k) của counting_sort
@28tech_
@28tech_ 2 жыл бұрын
@@HuyTran-pr8ug Mình duyệt mảng 1 lần mất O(n) với lúc mình duyệt từ số nhỏ nhất tới k là số lớn nhất để in nữa.
@HuyTran-pr8ug
@HuyTran-pr8ug 2 жыл бұрын
@@28tech_ t tưởng chỗ 2 vòng for là O(k^2) nhỉ
@taiphanvan2403
@taiphanvan2403 3 жыл бұрын
thuật toán countingsort vẫn dùng cho mảng có phần tử âm được đó anh.Em lưu tần suất vào map rồi gán lại vào mảng ban đầu
@28tech_
@28tech_ 3 жыл бұрын
Haha, cái này thì người ta lại ko gọi là counting sort đâu. :D. Còn nếu dùng map thì cũng không cần vector cũng được mà.
@28tech_
@28tech_ 3 жыл бұрын
Dùng map thì độ phức tạp nó là NLogN rồi.
@cuongdev03
@cuongdev03 2 жыл бұрын
a ơi dùng counting sort dùng map đếm tần suất thì các key của nó được sắp xếp sẵn rồi sau đó chỉ cần xuất ra theo tần suất của nó có được không a nhỉ
@28tech_
@28tech_ 2 жыл бұрын
Nhưng nó chạy chậm hơn dùng mảng để đếm đấy em ạ
@cuongdev03
@cuongdev03 2 жыл бұрын
@@28tech_ vâng ạ
@HiếuTrung-x4e
@HiếuTrung-x4e 9 ай бұрын
anh ơi em muốn hỏi cách cài đặt để xem đoạn code nó chạy như thế nào giống bên góc góc phải của anh thì cài đặt như thế nào vậy ạ. em cảm ơn ạ!
@28tech_
@28tech_ 9 ай бұрын
Đó là anh in ra mà. Dùng cout để in ra đó
@goccuahuy9641
@goccuahuy9641 2 жыл бұрын
em cảm ơn a
@28tech_
@28tech_ 2 жыл бұрын
Oke, chúc em học tốt
@nguyenhailinhk17hcm29
@nguyenhailinhk17hcm29 Жыл бұрын
cái bubble sort nếu mình muốn in ra từng mảng sau khi vừa đổi vị trí cho nhau thì sao a
@28tech_
@28tech_ Жыл бұрын
Thêm vòng for in trong vòng lặp chính của thuật toán ấy e
@datnee20318
@datnee20318 2 жыл бұрын
anh ơi cho em hỏi ở thuật toán insertionsort nếu ko dùng x để lưu a[i] thì mình gán a[i] trực tiếp vô luôn được không
@28tech_
@28tech_ 2 жыл бұрын
Nó có bước cập nhật mà e, sẽ bị sai đó em.
@17huynhquochieu32
@17huynhquochieu32 4 ай бұрын
mik thắc mắc là tại sao phải học nhiều thuật toán sx trong khi mik chỉ cần 1 cái tối ưu nhất🤔
@28tech_
@28tech_ 4 ай бұрын
@@17huynhquochieu32 không có thuật toán sx tối ưu nhất, nó còn phụ thuộc vào tập dữ liệu đem đi sắp xếp nữa. Cũng như việc bạn đi từ A tới B bằng các loại xe khác nhau, không phải ai cũng có khả năng lái xe phân khối lớn. Người ta cần đi từ xe có phân khối nhỏ- tương tự các thuật toán sắp xếp cơ bản trước rồi mới sang xe phân khối lớn hơn là các thuật toán sắp xếp nâng cao, khó hiểu, tối ưu hoen
@hoanginhnam6873
@hoanginhnam6873 3 жыл бұрын
hay quá idol
@28tech_
@28tech_ 3 жыл бұрын
OK e tú nhé.
@vung4018
@vung4018 2 жыл бұрын
cái int cnt[10000001] trên đầu là gì vậy ạ. Là đếm nhưng e chưa bao h đêm kiểu này @@
@waifu308
@waifu308 Жыл бұрын
a có dạy html css ko a
@28tech_
@28tech_ Жыл бұрын
Anh có khoá front end đó, em tham khảo 28tech.com.vn/lap-trinh-front-end.html
@LinhNguyen-ok6bp
@LinhNguyen-ok6bp 2 жыл бұрын
anh cho em hỏi vs ạ,ở phần sắp xếp chọn em ko sử dụng biến min_pot để lưu giá trị nhỏ nhất, ở dưới em swap trực tiếp a[i] vs a[j] luôn ko cần thông qua biến min_pot vẫn ra kết quả đúng, làm như vậy có đc ko ạ
@28tech_
@28tech_ 2 жыл бұрын
Uh được em nó vẫn sort đc
@QuocCuong-VKU
@QuocCuong-VKU Жыл бұрын
cho e hỏi ở insertsort sao chỗ kia lại dùng --pos mà k phải pos-- vậy a?
@toanpham7222
@toanpham7222 Жыл бұрын
A ơi . S em tìm hiểu cùng là nổi bọtaf lại có quá nhiều cách làm vậy ạ . cùng là c++ mà mỗi người lại biến tấu cái vòng lặp for thứ 2 khác nhau ạ
@28tech_
@28tech_ Жыл бұрын
Có 2 kiểu thôi em, 1 là đưa phần từ lớn nhất về cuối 2 là đưa phần tử nhỏ nhất về đầu
@datnee20318
@datnee20318 2 жыл бұрын
Ở cái bubble sort cho em hỏi tại sao i phải chạy đến n-2 v ạ nếu cho nó chạy đến phần tử cuối luôn thì sẽ ra sao
@28tech_
@28tech_ 2 жыл бұрын
Thì nó xét phần tử ko thuộc mảng
@datnee20318
@datnee20318 2 жыл бұрын
@@28tech_ nếu vậy thì kết quả vẫn đúng chỉ có tốn thêm tgian chạy thôi đúng ko a
@28tech_
@28tech_ 2 жыл бұрын
@@datnee20318 không em ạ, phần tử ko thuộc mảng nó có thể rác nên có thể ảnh hưởng tới kết quả của em
@datnee20318
@datnee20318 2 жыл бұрын
@@28tech_ vậy cho em hỏi luôn là biến i có thể được hiểu như là số lượt so sánh ko ạ
@datnee20318
@datnee20318 2 жыл бұрын
Biến i là gì thế anh ơi
@nguyenletrung2117
@nguyenletrung2117 3 ай бұрын
giảng đếm ko biết bao nhiêu chữ ok, hạn chế lại sẽ hay hơn
@maytapreview
@maytapreview Жыл бұрын
A ơi giải thích giúp e e chưa hiểu 2 cái for đầu á anh😢
@hungdang9621
@hungdang9621 3 жыл бұрын
Anh cho em hỏi tại sao khi khai báo thằng cnt[INT_MAX] trong int main() nó không chạy còn ở ngoài thì chạy bình thường vậy anh (nó bị tràn bộ nhớ hay sao ah).
@28tech_
@28tech_ 3 жыл бұрын
Uh ko khai báo đc mảng lớn cỡ đó trong main đâu
@HieuVo-qt1xx
@HieuVo-qt1xx 3 жыл бұрын
dễ hiểu quá a ơi
@it-erstyle6954
@it-erstyle6954 2 жыл бұрын
sao phải khai báo cnt[] ở ngoài main thế a e cho vào hàm main thì ko được mặc dù e giới hạn cnt[20]
@28tech_
@28tech_ 2 жыл бұрын
Cnt 20 thì e chỉ đếm đc các phần tử nhỏ hơn hoặc bằng 20
@28tech_
@28tech_ 2 жыл бұрын
Khai báo ngoài main để tránh tràn stack
@66.tranvuthang75
@66.tranvuthang75 7 ай бұрын
Counting Sort O(n + k), nhưng khi triển khai code ở phần đếm tần suất là O(n), rồi đoạn in ra các phần tử có 2 for lồng nhau là O(n^2) => tổng là O(n) + O(n^2) đúng không ạ, hay e đang tính sai ạ
@28tech_
@28tech_ 7 ай бұрын
Nhìn nó là 2 for lồng nhưng thực tế tổng số lần mình in ra chỉ là b phần tử em ạ. Kèm thêm duyệt từ 0 tới k nữa
@nguyenhoa5409
@nguyenhoa5409 3 жыл бұрын
cái INT_MIN là cg anh với lại dùng để làm gì ạ
@28tech_
@28tech_ 3 жыл бұрын
INT_MIN là giá trị nhỏ nhất của kiểu dữ liệu min, khi tìm số lớn nhất trong mảng thì hay khởi tạo biến đó là một giá trị rất nhỏ.
@DuongLe-zz6du
@DuongLe-zz6du Жыл бұрын
A ơi em xin file các thuật toán sắp xếp với ạ.
@motchiecyoutubeangxamxinhu577
@motchiecyoutubeangxamxinhu577 2 жыл бұрын
cho em xin tài liệu pdf anh dùng này được không ạ
@congquang5861
@congquang5861 2 жыл бұрын
ah đừng có oke nữa oke -.- coi mà bực á oke oke
@28tech_
@28tech_ 2 жыл бұрын
haha :D, giờ ít nói ok rồi hehe.
@khavovan8201
@khavovan8201 3 жыл бұрын
Lâu rồi k thấy anh
@28tech_
@28tech_ 3 жыл бұрын
Hehe. Đợt này a bận quá.
@quangngo4786
@quangngo4786 2 жыл бұрын
Anh ơi web anh dùng chạy thử code là j vậy ạ em đang học chuyên tin nên cx cần bt ạ anh cho em xin với
@28tech_
@28tech_ 2 жыл бұрын
visual go thì phải em ạ.
@quangngo4786
@quangngo4786 2 жыл бұрын
Em cảm ơn bao h anh lm một video review các web học tin anh ạ nhiều bạn cx giống như em đang cần bt cái đó
@-PhungAnhKhang-A
@-PhungAnhKhang-A Жыл бұрын
counting sort mình dùng map được ko anh
@sunisshining2515
@sunisshining2515 Жыл бұрын
cho mình hỏi map là gì ạ, có thể học ở đâu
@ruanyouxing6969
@ruanyouxing6969 Жыл бұрын
​​@@sunisshining2515ap nó gồm key và value (key là độc nhất), có thể thay đổi kích thước Nó cũng giống mảng thường nhưng key thì có thể là kiểu dữ liệu khác thay vì số nguyên ko âm như map["abc"], map[-1], map[1.5],...
@hanamhw
@hanamhw Жыл бұрын
tại sao em khai báo int i ở trong vòng for nó cứ báo lỗi và bắt phải khai báo i ở bên ngoài vậy ạ :((
@28tech_
@28tech_ Жыл бұрын
Do em đang code vs chuẩn C thấp quá. Em lưu file .cpp hoặc chạy chuẩn C cao hơn
@hanamhw
@hanamhw Жыл бұрын
@@28tech_ dạ em cảm ơn anh
@bestta8155
@bestta8155 8 ай бұрын
cho em xin file pdf dc ko ạ
@attruonggia8433
@attruonggia8433 3 жыл бұрын
Đã gọi là thuật toán thì k đc dùng những thư viện có sẵn như map hay set đúng k a :v
@28tech_
@28tech_ 3 жыл бұрын
Dùng bình thường đi :v. Thoải mái.
@lvtuan123langvan5
@lvtuan123langvan5 2 жыл бұрын
10:44 em tưởng phải dùng toán tử & thì mới thay đổi mảng chứ anh?
@vanhoai3384
@vanhoai3384 3 жыл бұрын
Anh dạy bên full house phải không nhỉ
@28tech_
@28tech_ 3 жыл бұрын
Uh thi thoảng mình nhận 1 lớp.
@beat_music_cover
@beat_music_cover 3 жыл бұрын
in tơ chen sọt là dễ nhất rồi anh :)
@28tech_
@28tech_ 3 жыл бұрын
Haha
@vananhnguyenthi8415
@vananhnguyenthi8415 24 күн бұрын
ủa thầy ơi cho e hỏi là dòng 9 thì tại sao nó lại là j=i+1 vậy ạ e chưa hiểu ạ. Mong thầy giải thích e cảm ơn ạ!!!
@anhung9351
@anhung9351 2 жыл бұрын
Hay quá anh :(((
@28tech_
@28tech_ 2 жыл бұрын
Ok em ơi ✌🏿✌🏿✌🏿. Hình như hôm trước e mail cho anh thì phải 😂😂😂
@B_E_N06
@B_E_N06 26 күн бұрын
tại sao lại là n - 1 v ạ em nghe đi nghe lại cx ko hình dung ra đc
@28tech_
@28tech_ 25 күн бұрын
Vì mảng có n phần tử em chỉ cần đưa n-1 phần tử về vị trí thì thằng còn lại tự khắc sẽ về đúng vị trí nha
@PhongTran-ul1rl
@PhongTran-ul1rl 2 жыл бұрын
em góp ý xiu anh nói đừng ok đc k ạ
@binhphuc3740
@binhphuc3740 3 жыл бұрын
mấy cái thuật toán này để làm gì khi đã có hàm sort hả anh :
@28tech_
@28tech_ 3 жыл бұрын
Haha. Đôi khi biết chỉ để có kiến thức thôi. 😆😆
@truongtaman5663
@truongtaman5663 3 жыл бұрын
Cần không mình ném cái đề học sinh giỏi cho khỏi dùng cái hàm sort luôn
@tientrantuan8001
@tientrantuan8001 Жыл бұрын
anh ơi em có thắc mắc hơi ngu 1 tí là mình học những cách sắp xếp này để làm gì ạ, vì độ phức tạp của nó đều là O(n*2) và O(n+k)
@ruanyouxing6969
@ruanyouxing6969 Жыл бұрын
do nó đơn giản dễ hiểu
@Itn.2004
@Itn.2004 2 жыл бұрын
Còn này là thuật toán sắp xếp gì a for(int i=0; i
@28tech_
@28tech_ 2 жыл бұрын
Này gọi là sắp xếp đổi chỗ trực tiếp
@tienphanvan2289
@tienphanvan2289 Жыл бұрын
#include using namespace std; int main(){ int cnt[10000001]; cout > n; int a[n]; int m = INT_MIN; cout > a[i]; cnt[a[i]]++; m = max(m,a[i]); } for (int i = 0; i
@28tech_
@28tech_ Жыл бұрын
Em khai báo mảng cnt trong main bị tràn bộ nhớ stack, khai báo ngoài main thì nó được cấp phát bởi bộ nhớ heap nên ko bị tràn nữa
99.9% IMPOSSIBLE
00:24
STORROR
Рет қаралды 25 МЛН
Thuật toán sắp xếp nhanh - Quick Sort
26:03
Minh Nguyen Coder
Рет қаралды 11 М.
7  ПАРАДОКСОВ БЕСКОНЕЧНОСТИ
36:02
Mathin
Рет қаралды 948 М.
Минимум математики для Айтишников
16:12