Tài liệu CTDL> cho các lớp ITP và ĐH
2011/01/10 49 bình luận
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
Cảm ơn Thầy Hiệp rất nhiều !
thay oi bai tap cua itp o dau?
LTU08
trong file nén đó em, em giải nén ra thì sẽ thấy!
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??
Thầy em hỏi chiều mai (thứ 6)có được nghỉ không ạ
Không em à, vẫn học. Em nhắn các bạn trong lớp đi đầy đủ nhé !
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
em trình bày như ví dụ mình làm trong slide nhé !
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
tùy em, em cứ ghi là TRUE cho dễ hiểu
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 –>
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 –> ???
Đó là 45 chứ ko phải 4 và 5!
Nếu viết 1 và 0 thì (boolean) cho nó dễ hiểu 🙂
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.
truyền bằng tham chiếu chỉ có trong C++. Nếu dùng tham chiếu em phải để file chương trình là *.cpp
Vang cam on thay. De em kiem tra lai.
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 ạ?
Ý 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.
Cam on thay.
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 ạ
Em chỉ cần làm và nộp 5 bài thôi, còn bài nào thì tùy em chọn.
lần này gửi mỗi code thôi ạ?
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;
}
Em xem lại ví dụ mẫu về stack trong phần CD nhé (tìm ở các bài post phía dưới cùng).
Ví dụ trên chưa chạy được là thiếu các hàm push và pop
http://www.mediafire.com/?xn220t9b8thhr3h
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!
Có chứ em, em để ý là tham số truyền vào là tham chiếu của con trỏ (*&root)! chứ không phải là con trỏ (*root).
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 ạ
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!
Thay Hiep thay giai thich cho em:
4
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
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
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.
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;}}}
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.
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.
Đơ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ó.
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 ạ.
Em có thể dùng bộ nhớ phụ để lưu trữ các ô đụng độ
thay oi lop dai hoc hom sau cuoi ky thi phan nao
thay oi thay co biet tinh so sector trong master boot ko a
Lâu rồi mình quên mất , em tham khảo thêm tại http://en.wikipedia.org/wiki/Master_boot_record
Thay oi thay co the cho em huong dan cac bai tap cua chuong 6 duoc khong a
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 ý.
em thưa thầy cho em hỏi thi cuối kì có được sử dụng tài liệu không ạ.
Sẽ vẫn như những gì đã thống nhất trên lớp trước đó!
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!
Đú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.
Thay oi, Thay khong post ly thuyet len ah
Lý thuyết ở các link download mediafire đó em.