Tài liệu CTDL&GT cho các lớp ITP và ĐH

Chương 1: Thuật toán http://www.mediafire.com/?33wrhhfty42kq2z

Ôn tập về Struct và Function : http://www.mediafire.com/?s9mhfchbt9qipna

Ôn tập về con trỏ : http://www.mediafire.com/?cxv65n1s9q1ncf4

Chương 2: Các cấu trúc dữ liệu cơ bản : http://www.mediafire.com/?2b7kx9dcl4bzzfd

Chương 3: Cấu trúc cây: http://www.mediafire.com/?03l6andobx1bl98

Chương 4: Tìm kiếm http://www.mediafire.com/?q8q1pb637to8yi2

Chương 4 (tiếp) {updated 24/3}: Một số cấu trúc cây tìm kiếm cân bằng http://www.mediafire.com/?oif19znnqc11c9q

Chương 5 {updated 29/3}: Sắp xếp http://www.mediafire.com/?p9rz007s78yjrcx

Chương 6 : Tìm kiếm nâng cao http://www.mediafire.com/?jnas3yyp8lm7ni6

Chương 7 {updated 5/5/2011}: Đồ thị http://www.mediafire.com/?jcjin888qd28yt8

49 Responses to Tài liệu CTDL&GT cho các lớp ITP và ĐH

  1. kaspersky says:

    Cảm ơn Thầy Hiệp rất nhiều !

  2. Viet says:

    Thầy ơi! thầy gửi bản đầy đủ tất cả các chương cho các lớp ĐH đc ko??

  3. nghia says:

    Thầy em hỏi chiều mai (thứ 6)có được nghỉ không ạ

  4. thdcbkhn says:

    Không em à, vẫn học. Em nhắn các bạn trong lớp đi đầy đủ nhé !

  5. gamevnlc says:

    Thầy ơi cho em hỏi một số bài tập chuyển từ trung tô sang hậu tố có cần viết cách làm từng bước hay là ghi kết quả luôn;. Hay là làm một bài tượng trưng rùi các bài sau ghi kết thôi

  6. gamevnlc says:

    Thầy ơi cho em hỏi
    3 0 ≥ 4 5 7 > 5 6 ≤ AND NOT OR
    thì cái so sanh 3 ≥ 0 kết quả là true hay ghi là 1 0
    và quan hệ AND OR NOT ý em không hiểu viết TRUE FALSE hay 1 0 hay dùng nhị phân

  7. gamevnlc says:

    3 0 ≥ 4 5 7 > 5 6 ≤ AND NOT OR
    thầy ơi cho em hỏi dòng hậu tố trên có đúng không vì em làm thấy cảm giác thừa số 4
    vì 3 0 ≥ -> true
    true 4 5 7 > false
    true 4 false 5 6 ≤ –>true
    true 4 flase true AND –> false
    true 4 false NOT –>

    • gamevnlc says:

      3 0 ≥ 4 5 7 > 5 6 ≤ AND NOT OR
      thầy ơi cho em hỏi dòng hậu tố trên có đúng không vì em làm thấy cảm giác thừa số 4
      vì 3 0 ≥ -> true
      true 4 `5 7 > false
      true 4 false 5 6 ≤ –>true
      true 4 flase true AND –> false
      true 4 false NOT –> true
      true 4 true OR –> ???

      • Shen says:

        Đó là 45 chứ ko phải 4 và 5!
        Nếu viết 1 và 0 thì (boolean) cho nó dễ hiểu 🙂

  8. Tran Thai Duong says:

    Thầy ơi, khi giải bài 9 em sử dụng một số hàm với mẫu hàm như sau:
    void push( List*&pTop,char op,int lv)
    void pop(List*&pTop, char &value)
    int compare(List*&pTop,int lv)

    thì khi truyền tham số cho hàm thì bị lỗi primary-expression:
    đây là các hàm em truyền:
    compare(List *&pTop,lv)
    push(List *&pTop,op[i],lv)
    pop(List *&pTop,&value)

    hệ thống báo lỗi : primary-expression expected before ‘*’ token.

  9. Tran Thai Duong says:

    Vang cam on thay. De em kiem tra lai.

  10. Tran Thai Duong says:

    Thầy ơi thầy cho em ý tưởng giải bài 7 bài 8 phần 4.1 Basic Searching được k0 ạ?

    • thdcbkhn says:

      Ý tưởng của nó là kết hợp giữa tìm kiếm nhị phân và tìm kiếm tuần tự.
      Ban đầu em tìm kiếm nhị phân, sau đó dùng tìm kiếm tuần tự để bỏ qua những vị trí xâu rỗng.

  11. gamevnlc says:

    Thầy ơi cho em hỏi thứ 5 này phải nộp bao nhiêu bài ạ . 5 bài hay 10 bài. Làm mỗi phần Binary Search Tree hay là thêm cả phần searching nữa ạ

  12. Thay Hiep em chay vd nay may bao loi thay sua cho em voi
    them phan tu 1,2,3 vao trong stack
    #include<stdio.hc
    #include
    int main()
    {int stack[max];
    int count =-1;
    int n,value;
    push(stack,count,1);
    push(stack,count,2);
    push(stack,count,3);
    while(empty(stack,count)==0)
    {pop(stack,count,value);
    printf(“%d”,value);
    }
    return 0;
    }

  13. Mũ Lòe Loẹt says:

    Kính gửi thầy!
    Trong bài giảng của thầy (Chapter4.1.Searching(Basic).pdf), cuối trang 11 và đầu trang 12 có 2 hàm insert để thêm nút mới vào cây tìm kiếm nhị phân. Em xin phép được mô tả hoạt động của hàm này theo SUY NGHĨ của em như sau (Trong trường hợp thêm vào tổng quát, không phải thêm vào cây rỗng):
    Khi tìm được nút để chèn thích hợp (ta hãy tạm gọi nó là nút LTU08), nó sẽ gọi đệ quy hàm insert với parameter đầu tiên (*&root) là con trái hoặc con phải của nút hiện hành. Tuy nhiên con trái (hoặc phải đó là NULL). Vậy tham số truyền vào là NULL. Và một nút mới được tạo. Tuy nhiên nút này lại không có liên quan gì đến nút LTU08 cả. Vì con của LTU08 đang trỏ về NULL từ trước khi tạo ra nút mới. Con của nút LTU08 là NULL, nhưng NULL thì không chắc là con của LTU08.
    Không biết em lảm nhảm thế có gì sai không nữa. Mong thầy giảng giải!

  14. Gamevnlc says:

    Thầy ơi cho em hỏi qua mỗi chương và chữa bài tập chương đó. Thầy có thể cho em đáp án các bài tập các chương đó được không ạ . Đáp án code một số bài trong đó để em down về nghiên cứu thêm được không ạ

    • thdcbkhn says:

      Bài tập cuối mỗi chương cũng không nhiều, tuy nhiên mình cũng muốn các bạn học năng động một chút nên mình sẽ không chữa hoàn chỉnh mà chỉ gợi ý cách làm hoặc hướng làm thôi.
      Chỉ những bài nào mà các bạn đã thử làm ở nhà, và trên lớp có thắc mắc thì mới được chữa. Những bài còn lại mặc định coi như các bạn đã làm được hết rồi!

  15. Thay Hiep thay giai thich cho em:
    4

  16. 4
    * *
    2 6
    * * * *
    1 3 5 15
    * *
    7 16
    *
    14
    Khi them 14 vao cay nhi phan tim kiem AVL thi 6 tro thanh nut vi pham

  17. 4
    * *
    2 7
    * * * *
    1 3 6 15
    * * *
    1 14 16
    *
    13
    Day la vi du o trang 5 slide phan cay tim kiem nhi phan can bang AVL
    Khi ta them 13 vao cay nhi phan nay nut 6 la nut vi pham .Thay giai thich cho em

    • thdcbkhn says:

      Khi thêm 13 thì nút vi phạm đầu tiên chính là nút gốc chứ, em xem lại trạng thái cân bằng của các nút trên đường trở về gốc đi.

  18. Thay sua gium em 2 bai nay voi
    Xay dung thuat toan hieu qua de tim 1 xau ki tu co xuat hien trong mang xau ki tu hay khong
    void search_for_char(char s)
    {int a[n];
    int i,n;
    int k;
    int key;
    for(i=0;ii;k++)
    {if(key==a[i]) return k;
    else return -1;}
    Viet chuong trinh tim mode cua tap hop
    void search_for_mode(int a[n]))
    {int i,n,k,j;
    int key;
    for(i=o;ii;j++)
    {if(key==a[i]&&j>k) mode(a[n])=j;}}}

  19. thdcbkhn says:

    Em không hiểu ý đề bài rồi, ở đây là tìm xem một xâu ký tự có xuất hiện trong mảng xâu ký tự hay không? (1)Trước hết ta sẽ sắp xếp mảng xâu ký tự đó, sau đó thực hiện tìm kiếm nhị phân
    (2) Hoặc chỉ đơn giản là tìm kiếm tuần tự

    Hiệu quả của 2 cách tiếp cận này em tự đánh giá nhé!

    Còn tìm mode của tập hợp, trước hết em phải sắp xếp các phần tử trong tập hợp theo thứ tự giảm dần tần số xuất hiện, sau đó đưa ra các phần tử có tần số xuất hiện lớn nhất.

  20. Tran Thai Duong says:

    Thưa thầy, em đang thử viết code cho thuật toán tìm chu trình trên đồ thị, tuy nhiên em gặp một số vướng mắc trong việc xác định cạnh ngược: tức là trong quá trình duyệt các đỉnh kề với một đỉnh đang xét, làm thế nào để biết đc liệu có đỉnh nào là tổ tiên của đính đó hay không. Mong thầy có thể cho em một ý tưởng để giải quyết bài toán này trên cấu trúc dữ liệu là danh sách kề.
    Cảm ơn thầy.

    • thdcbkhn says:

      Đơn giản cạnh ngược là cạnh từ đỉnh hiện tại tới 1 đỉnh đang được thăm (màu xám) mà không phải là cha trực tiếp của nó.

  21. Tran Thai Duong says:

    Thưa thầy trong phần bài tập của phần bảng băm : bài cuối cùng có hỏi về cách xóa phần tử trong bảng băm đánh địa chỉ mở mà không cần đánh dấu trạng thái của phần tử, em không tìm đc ra giải pháp cho thuật giải này, liệu thầy có thể cho em gợi ý đc không ạ.

  22. thdcbkhn says:

    Em có thể dùng bộ nhớ phụ để lưu trữ các ô đụng độ

  23. tuakapro says:

    thay oi lop dai hoc hom sau cuoi ky thi phan nao

  24. gamevnlc says:

    thay oi thay co biet tinh so sector trong master boot ko a

  25. gamevnlc says:

    Thay oi thay co the cho em huong dan cac bai tap cua chuong 6 duoc khong a

    • thdcbkhn says:

      Mình chỉ hướng dẫn trên lớp thôi, mình sẽ không đưa ra hướng dẫn tại thời điểm này. Nếu bạn làm thì gửi cho mình và mình sẽ cho bạn gợi ý.

  26. zuzuhaco says:

    em thưa thầy cho em hỏi thi cuối kì có được sử dụng tài liệu không ạ.

  27. thangka says:

    Thưa thầy! Sao thầy không up điểm giữa kì lên cho bọn em xem đi ạ! Hôm thầy đọc điểm đúng vào hôm em nghỉ lên không có biết điểm mình là bao nhiêu.:(
    Kính mong thầy up để em biết mà còn tính toán 🙂
    Thanks thầy nhiều!

  28. Bùi Tiến Cường says:

    Đúng rồi ah, hôm đấy em cũng nghỉ nên không biết, thầy up điểm lên đi ah.

  29. Dang says:

    Thay oi, Thay khong post ly thuyet len ah

  30. thdcbkhn says:

    Lý thuyết ở các link download mediafire đó em.

Gửi phản hồi cho thdcbkhn Hủy trả lời