#18 [C++]. Thuật Toán Tìm Kiếm Nhị Phân | Hàm Lower_bound và Upper_bound Trong Thư Viện STL

Поделиться
HTML-код
  • Опубликовано: 7 фев 2025

Комментарии •

  • @28tech_
    @28tech_  2 года назад +2

    Thông tin các khóa học mình đang hướng dẫn : 28tech.com.vn/

  • @quyhoang9864
    @quyhoang9864 8 месяцев назад +1

    1 trong những nguồn giảng dễ hiểu , dễ hc code nhất . E cảm ơn anh đã làm video về lập trình như này

  • @LinhChi0704_
    @LinhChi0704_ 2 месяца назад

    Tuyệt luôn anhhhhh, đúng lúc đang khó phần này thì tìm được video này

  • @cuongao7770
    @cuongao7770 2 года назад +5

    bài giảng của anh rất hay và dễ hiểu ạ
    Chúc anh ngày càng thành công hơn nữa

    • @28tech_
      @28tech_  2 года назад

      Ok cảm ơn em nhé, chúc em học tốt.

  • @namtrungvo7582
    @namtrungvo7582 11 месяцев назад

    Cảm ơn anh, bài giảng khá là dể hiểu ạ

  • @namlequang4290
    @namlequang4290 3 месяца назад

    Video rất hay và dễ hiểu, cảm ơn anh nhé.

    • @28tech_
      @28tech_  3 месяца назад

      Oke em chia sẻ cho anh tới mọi người nhé

    • @namlequang4290
      @namlequang4290 3 месяца назад +1

      @28tech_ Cả huyện cấp THCS đều học theo video và blog của a nhé.

  • @MinhVietHoang-pz2rr
    @MinhVietHoang-pz2rr Год назад

    Em cam ơn thâyg giảng rất dễ hiểu ạ

    • @28tech_
      @28tech_  Год назад

      Cảm ơn bạn, chúc bạn học tốt

  • @suthatthuvi6435
    @suthatthuvi6435 Год назад

    bài giảng hay quá ạ

    • @28tech_
      @28tech_  Год назад

      Cảm ơn em, nhớ chia sẻ giúp nha

  • @uclam5872
    @uclam5872 3 года назад +1

    Video rất hữu ích, thanks a

  • @minhkhanhnguyen6266
    @minhkhanhnguyen6266 17 дней назад

    Anh ơi dùng tìm kiếm nhị phân để đếm số tam giác khác nhau có độ dài 3 cạnh là 3 số trong 1 dãy bằng cách nào ạ?

  • @nhatkhoa8990
    @nhatkhoa8990 2 года назад +1

    xuất sắc luôn a ơi

  • @bldouyin4145
    @bldouyin4145 2 года назад +2

    :)) trên youtube này mỗi anh giảng là em hiểu

    • @28tech_
      @28tech_  2 года назад +1

      haha thế là do anh giảng hay do em chậm hiểu?

    • @bldouyin4145
      @bldouyin4145 2 года назад

      @@28tech_ :)) cả 2 luôn anh

  • @fruith_
    @fruith_ 3 года назад +2

    Em cảm ơn anh nhiều lắm ạ

    • @28tech_
      @28tech_  3 года назад

      OK e :D, thank em đã ủng hộ

  • @PhúcHoàng-n5o
    @PhúcHoàng-n5o 3 месяца назад

    free lại còn hay .Anh giảng free như này lấy gạo đâu ăn v.Tại em thấy kênh a hơi ít sub

    • @28tech_
      @28tech_  3 месяца назад

      @@PhúcHoàng-n5o mọi người ủng hộ các khoá học của anh mà, đủ gạo nha em

  • @angVanHuy-tf2rv
    @angVanHuy-tf2rv 3 года назад

    video rất hay

    • @28tech_
      @28tech_  3 года назад

      Thank b nhé.

  • @anhung9351
    @anhung9351 2 года назад

    Thanks anh ạ.

    • @28tech_
      @28tech_  2 года назад

      😁😁😁😁

  • @hongsonnguyen9620
    @hongsonnguyen9620 2 года назад

    được của ló quá anh ơiiii

    • @28tech_
      @28tech_  2 года назад +1

      Haha chia sẻ cho a đi

    • @hongsonnguyen9620
      @hongsonnguyen9620 2 года назад

      @@28tech_ ok anh luôn chia sẻ khuya khuya dầy tạo áp lực cho mọi người quaaa

  • @NguyễnLong-o1t
    @NguyễnLong-o1t 9 месяцев назад

    em cảm ơn anh

  • @nguyenthanh0598
    @nguyenthanh0598 10 месяцев назад +1

    anh oi, có hàm hoặc cách nào để tìm số lớn nhất của 1 mảng

  • @kimsabu4425
    @kimsabu4425 3 года назад

    Anh hướng dẫn bài Tìm dãy con tăng dài nhất bằng Tìm kiếm nhị phân đi anh. Đọc trên mạng khó hiểu quá ạ. Chỉ có anh hướng dẫn mới dễ hiểu thôi.

    • @28tech_
      @28tech_  3 года назад

      :v phải có thời gian cơ chứ tự dưng làm 1 bài thì dở quá.

    • @28tech_
      @28tech_  3 года назад +5

      geeksforgeeks có hướng dẫn rất đầy đủ mà.

  • @luchoang4301
    @luchoang4301 Год назад

    hay quá anh ơi

  • @minhkhanhnguyen6266
    @minhkhanhnguyen6266 20 дней назад

    anh ơi dùng tìm kiếm nhị phân để đếm số phần tử trong mảng trong khoảng (a,b) như nào v anh?

    • @28tech_
      @28tech_  20 дней назад

      sort mảng, tìm vị trí đầu tiên >= a, tìm vị trí cuối cùng

  • @quantao7002
    @quantao7002 4 месяца назад

    thầy có dạy online ko ạ???

  • @meomayiphonepro
    @meomayiphonepro 10 месяцев назад +1

    ah dạy ah k có chỉ từng câu lệnh nó hoạt động như nào ah chạy chương trình luôn có vài chỗ câu lệnh lạ em không hiểu được ạ

    • @Skidjcjxj
      @Skidjcjxj 7 месяцев назад +1

      nếu k hiểu thì là do b k nắm chắc cơ bản về biến và mảng chứ ng dạy như này là rất có tâm r

  • @nguyenthanh0598
    @nguyenthanh0598 10 месяцев назад

    38:00 là đối với 1 phần tử bất kỳ lun hả anh

  • @puongnguyen4073
    @puongnguyen4073 Год назад +2

    ah cho em hỏi nếu mình dùng binary_search có sẵn trong thư viện thì cái mảng vẫn phải được xếp tăng dần trước đúng ko ạ

  • @lytrankhanh5799
    @lytrankhanh5799 5 месяцев назад

    anh ơi dùng upper_bound tìm giá trị lớn nhất nhỏ hơn x trong set thì viết như thế nào ạ?

    • @28tech_
      @28tech_  5 месяцев назад

      Lớn nhất nhỏ hơn x thì phải dùng lower bound xong dịch trái 1 vị trí nhé em

  • @puongnguyen4073
    @puongnguyen4073 Год назад

    anh cho em hỏi cai lower va upper kia dùng cho mảng đã sắp xếp là xếp Tang9 hoặc Giảm đều được hay chi Tăng thôi ạ

  • @dinhminh-ir2gh
    @dinhminh-ir2gh Год назад +1

    cái phần biến đổi tknp thì sao res anh lại gắn = -1 ạ

  • @nguyenthanhkhang1772
    @nguyenthanhkhang1772 Год назад +2

    Cho em hỏi là đoạn 41:17 em code y như anh và cũng trên Dev C++ nhưng nó lại báo lỗi là 'it' does not name a type và 'it' was not declared in this scope.
    Nhưng nếu em đổi lại thành : int *it = lower_bound(a, a + n, x);
    cout

  • @MaximGamer360
    @MaximGamer360 Год назад

    Em muốn hỏi anh một số bài tập thì có cách nào không ạ

  • @ToạiNguyễnAnh
    @ToạiNguyễnAnh Год назад

    dạ anh cho em hỏi 23:55 sao khai báo véc tơ phải (n) chi vậy ạ
    không có thứ đó có được không ạ
    em xóa chạy thử thì ct không lỗi mà chạy thì ko ra được output ạ

    • @mainboy4167
      @mainboy4167 10 месяцев назад

      đấy là độ dài của mảng vector là bằng n

  • @vquoc25
    @vquoc25 2 года назад +1

    ông này vt bằng chuột chữ đẹp v

    • @28tech_
      @28tech_  2 года назад +4

      Kinh nghiệm đi dạy nhiều toàn vẽ bằng nó mà :v

  • @waifu308
    @waifu308 Год назад

    a ơi cái chỗ for(int &x :a ) cin>>x là nhập phần tử vào mảng hử a

    • @28tech_
      @28tech_  Год назад +1

      Uh nhập mảng bằng range based for loop e

  • @toanvuminh1446
    @toanvuminh1446 Год назад

    Sắp xếp mảng ở bài nào vậy ạ

  • @hongchau-rj8zg
    @hongchau-rj8zg 2 года назад

    ak oi,sao "return " cua em no lai tra ve la 1 vay,em viet return res roi ma

  • @taiphanvan2403
    @taiphanvan2403 3 года назад +1

    em có điều thắc mắc.Anh khai báo mảng 1 chiều vs số lượng phần tử là n.Nhưng mảng 1 chiều lúc khai báo phần tử nó thì số lượng là const chứ anh.

    • @28tech_
      @28tech_  3 года назад +1

      Không quan trọng đâu, e khai báo trước mảng có kích thước cố định cũng được, mà trong VS code không cho nhập n rồi mới khai báo mảng có kích thước n.

    • @hongsonnguyen9620
      @hongsonnguyen9620 2 года назад

      @@28tech_ trong visual codde có cách nào khai báo mảng cấp phát đủ với n phần tử không anh , dùng mảng tĩnh luônn

  • @quangphanminh1084
    @quangphanminh1084 Год назад

    thế nếu mình dùng binary search cho mảng chưa được sắp xếp có được k ạ

    • @28tech_
      @28tech_  Год назад

      Nó sẽ bị sai nhé em

  • @hungtruong12197
    @hungtruong12197 7 месяцев назад

    Phut 35:00
    first_pos cần bổ sung thêm đoạn r= m -1 vào câu if đâuf trong first_pos để vòng lặp không bị lặp vô hạn
    int first_pos(int a[], int n, int x) {
    int res = -1;
    int l = 0;
    int r = n - 1;
    while (l

    • @Skidjcjxj
      @Skidjcjxj 7 месяцев назад

      ? b xem kiểu gì v ngta có ghi r=m-1 r

    • @andanh112
      @andanh112 3 месяца назад

      giờ còn chơi không bạn

  • @vung4018
    @vung4018 2 года назад

    bài tìm kiếm nhị phân a chưa xếp lại mảng = sort thì phải, e thêm sort vào mới chạy đúng a ạ :l

    • @28tech_
      @28tech_  2 года назад

      Uh phải sort trước em

  • @duykhang2416
    @duykhang2416 Год назад

    cho em hỏi mình có cần học tất cả thuật toán để thi hsg không ạ hay chỉ nên học vài cái tối ưu thôi anh

    • @28tech_
      @28tech_  Год назад

      Em ko thể học hết các thuật toán đâu, học càng nhiều càng tốt

  • @tuanatinh5728
    @tuanatinh5728 3 года назад +1

    42:18 a ơi sao ở đoạn này phải lấy it-a ạ

    • @28tech_
      @28tech_  3 года назад

      Uh vì lower_bound nó chỉ trả về iterator tới vị trí đầu tiên của phần tử >=x trong mảng, đôi khi em muốn biết chỉ số của phần tử đầu tiên đó thì mình phải lấy cái iterator nó trả về mình trừ đi iterator bắt đầu của mảng chính là a, thì sẽ ra được chỉ số.

    • @tuanatinh5728
      @tuanatinh5728 3 года назад

      @@28tech_ a ra video về cái này chưa a cho e xem với e năm nay mới học nên chưa biết ạ

    • @28tech_
      @28tech_  3 года назад

      @@tuanatinh5728 Iterator thì e có thể xem video phần vector trước, con trỏ thì sắp tới mình sẽ có hướng dẫn. Uh mới học chưa biết con trỏ thì hơi mắc tí.

  • @loltv6448
    @loltv6448 2 года назад +1

    Anh ơi bài
    Tìm vị trí đầu tiên của 1 phần tử

    • @28tech_
      @28tech_  2 года назад

      Em làm như tìm kiếm nhị phân thôi

    • @vangnguyenthe2027
      @vangnguyenthe2027 2 года назад

      @@28tech_ như này có đúng ko anh
      ----------------------------------------------------
      int timx(int mang[],int n,int x)
      {
      int l=0;
      int r=n;
      int res=-1;
      while(l

    • @cambinh5090
      @cambinh5090 Год назад

      @@vangnguyenthe2027 tớ có sửa mà chưa chạy. Cậu lưu ý while l

  • @yordle6_613
    @yordle6_613 2 года назад

    Dạ a ơi, vậy lower_bound với upper_bound chỉ khác nhau chỗ có dấu = thôi hả a

    • @28tech_
      @28tech_  2 года назад +2

      Đúng rồi em nhưng dùng khó phết

  • @linhoan3339
    @linhoan3339 3 года назад

    a ơi ở dòng bool bs() mình không khai báo biến , xuống phía dưới mình khai báo đc hông anh

    • @28tech_
      @28tech_  3 года назад

      Cũng được e ơi

  • @nguyenxuantruong2291
    @nguyenxuantruong2291 2 года назад

    anh dùng công cụ gì mà viết chữ trên lap đẹp thế ạ

    • @28tech_
      @28tech_  2 года назад +2

      White board của window e nhé

  • @toan6762
    @toan6762 2 года назад

    21:08 vậy làm sao để biết được x là phần tử thứ mấy ạ

    • @28tech_
      @28tech_  2 года назад +2

      binary search chỉ dùng để check sự tồn tại, em xem nốt đoạn sau thì sẽ rõ cách lấy ra vị trí.

  • @hungphuc2836
    @hungphuc2836 3 года назад

    trong file bài tập dưới 1 phần mô tả, có 1 bài em đọc source code của anh em thấy có chỗ "1LL". Cho em hỏi cái 1LL này là gì vậy nhỉ?

    • @28tech_
      @28tech_  3 года назад +1

      1 ở kiểu long long e ơi. Thường dùng để tránh tràn số khi nhân 2 số int

  • @huynguyenhoang3460
    @huynguyenhoang3460 3 года назад

    a ơi cho e hỏi sao e viết code theo anh mà lúc nhập để tìm x nó ra lung tung lắm a ạ
    vd :n=4,x=5 or 7
    1 3 5 7
    saoe nhập 5 với 7 nó ko tìm đc vậy anh,chỉ tìm được 1 với 3 thôi

    • @28tech_
      @28tech_  3 года назад

      Em thử gửi full code lên đây a xem. Có thể do em code sai thôi.

  • @cuong9211
    @cuong9211 2 года назад

    anh ơi sao phải trừ cho a lúc tìm vị trí ạ

    • @28tech_
      @28tech_  2 года назад

      Em học iterator thì mới rõ hơn, nói thì nó ko hết

  • @punchone1760
    @punchone1760 Год назад

    học hết đống này thì học sinh giỏi cấp huyện được giải không anh. Mong anh rep!!!

    • @28tech_
      @28tech_  Год назад

      Huyện là bt em ạ

    • @punchone1760
      @punchone1760 Год назад

      em sắp thi học sinh giỏi, có câu này của anh em tự tin hẳn. E cảm ơn

  • @tieppham8351
    @tieppham8351 3 года назад

    Anh ơi e cũng dùng DEV c++ 5.11 nma sao nó k nhận "auto" ạ anh chỉ e cách set up đc k ạ

    • @28tech_
      @28tech_  3 года назад +2

      Do e chưa cài chuẩn c++11. E vào tool - compiler option- setting-code generation-language standard rồi chọn gnu c++11

    • @tienn.06
      @tienn.06 Год назад

      @@28tech_ ẹc anh ơi e làm i hệt nó còn k chạy đc gì luôn gì :(

  • @hongo818
    @hongo818 3 года назад

    dạ anh gửi code được k ạ . chứ em code nó không chạy mà tìm không ra lỗi luôn

    • @28tech_
      @28tech_  3 года назад +1

      hehe, a ko hay gửi code đâu, chú ý code cẩn thận tí.

  • @duynguyenvan7876
    @duynguyenvan7876 3 года назад

    auto có ý nghĩa gì vậy anh

    • @28tech_
      @28tech_  3 года назад

      Auto thay cho được cho các kiểu dữ liệu như int, long long, pair, iterator...

  • @nguyeninhman7499
    @nguyeninhman7499 3 года назад

    Vị trí đầu tiên (cuối cùng) của một phần tử trong mảng đã sắp xếp dùng thư viện chuẩn gì vậy bạn

    • @28tech_
      @28tech_  3 года назад +1

      Thực ra thì nó không có hàm có sẵn để lấy ra chính xác được phần đó, dùng thư viện thì phải tùy chỉnh, nên mình tự code luôn cũng được cho dễ. Mình có hướng dẫn code 2 cái đó đấy.

    • @28tech_
      @28tech_  3 года назад

      Mình không đọc được cmt mới của bạn, nhưng hình như bạn đang áp dụng binary search vs mảng chưa được sắp xếp. Binary search chỉ áp dụng được với mảng đã sắp tăng dần hoặc giảm dần.