PDA

View Full Version : cấu trúc dữ liệu và giải thuật



tuyetmuahe
27-08-2007, 07:24
tôi mới học môn này ,các bạn tư vấn cho tui sách dùng và cách học môn này ,làm thía nào để đạt được kết quả tốt .
Tui đi tìm sách nhưng ko thấy có ,toàn là cấu trúc dữ liệu với c,java,acc,..
tư vấn giúp tui ha
thank you vẻy much

meotrang7x
27-08-2007, 09:18
"Introduction to Algorithms" của Thomas H. Cormen

tuyetmuahe
01-09-2007, 08:37
cam on ban nha,sach nay mua o dau thi co

meotrang7x
01-09-2007, 09:49
Bạn vô mục ebook sẽ thấy rất nhiều link ebook, trong đó chắc sẽ có quyển này.

n3wbie
01-09-2007, 10:15
cam on ban nha,sach nay mua o dau thi co

cuốn này đã được biên dịch ra tiếng việt bạn có thể tới nhà sách để tìm.Giá hơn 100k thì phải.

Mình cầm cuốn này lên.đọc vài dòng chả hiểu mô tơ gì hết hic,học dốt môn này quá.Bác nào học không cho mình xin học chung với.

meotrang7x
01-09-2007, 10:35
cuốn này đã được biên dịch ra tiếng việt bạn có thể tới nhà sách để tìm.Giá hơn 100k thì phải.

Mình cầm cuốn này lên.đọc vài dòng chả hiểu mô tơ gì hết hic,học dốt môn này quá.Bác nào học không cho mình xin học chung với.

Hay là nhiều khi do sách dịch không chuẩn?

khoabeo108
01-09-2007, 11:41
tôi mới học môn này ,các bạn tư vấn cho tui sách dùng và cách học môn này ,làm thía nào để đạt được kết quả tốt .
Tui đi tìm sách nhưng ko thấy có ,toàn là cấu trúc dữ liệu với c,java,acc,..
tư vấn giúp tui ha
thank you vẻy much

Tất nhiên rồi, một cách tổ chức cơ sở dữ liệu, một thuật toán giải quyết vấn đề. Thì ngoài việc miêu tả thuật toán = ngôn ngữ nói. Thì phải hiện thực nó = 1 ngôn ngữ lập trình, nên chuyện đó là điều tất nhiên
(thường thì ng ta học cấu trúc dữ liệu & giải thuật với C/C++)


Mình cầm cuốn này lên.đọc vài dòng chả hiểu mô tơ gì hết hic,học dốt môn này quá.Bác nào học không cho mình xin học chung với.
Đọc vài dòng mà đã hiểu đc thuật toán thì chỉ số IQ của bạn thuộc hàng cao rồi. Cả cuốn sách dày cộp mà chỉ đọc có vài đòng thì hiểu sao đc? Đúng là tự học cái này cũng hơi đau đầu, nhưng nếu có ng chỉ thuật toán đó cho bạn + đọc thêm sách, thì học rất dễ vào

conank
01-09-2007, 16:39
cuốn này đã được biên dịch ra tiếng việt bạn có thể tới nhà sách để tìm.Giá hơn 100k thì phải.

Mình cầm cuốn này lên.đọc vài dòng chả hiểu mô tơ gì hết hic,học dốt môn này quá.Bác nào học không cho mình xin học chung với.

1 là sách tiếng Việt dịch lại thường ko chính xác.
2 là đọc vài dòng thì càng ko thể hiểu được.

Nhiều khi phải đọc đi đọc lại chục lần mới hiểu được vấn đề :)

Mình thì thích 2 cuốn này:
Wrox.Beginning.Algorithms
Sams.Teach.Yourself.Data.Structures.and.Algorithms .in.24.Hours

nguyenniit1911
01-09-2007, 17:42
Đây là 1 ebook hoàn toàn free: www.oberon.ethz.ch/WirthPubl/AD.pdf
Còn đây là từ điển cho AD: www.nist.gov/dads/
Chúc bạn học tốt. ;)

huynhvothinh
03-09-2007, 19:22
Sách dành cho sinh viên : Cấu trúc dữ liệu và giải thuật (Đỗ Xuân Lôi) -Nhà xuất bản thống kê
Cày cuốn này là ổn cho việc học trên lớp (lắm thầy nhiều ma, học lơ mơ hoài)
Giá sách photo 15 000d

nhennuoc
07-02-2009, 19:56
chao cac bạn
mình đang rất rất cần sách này nhung phải là của Đỗ Xuân Lôi cơ
Nếu ai có cho minh xin nha
gia đình xin cảm ơn và ko hậu tạ

ngothanhtungth
17-08-2010, 09:31
bạn xem quyển "Cấu trúc dữ liệu và giải thuật" của Đỗ Xuân Lôi nhé

-viet-
01-03-2011, 00:00
Hỏi - Bài tập lớn môn cấu trúc dữ liệu và giải thuật
Nguồn bài viết: http://sinhvienit.net/@forum/showthread.php?t=84440
BÀI TẬP LỚN MÔN CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT

Đặc tả:

Một công ty điện thoại muốn có một chương trình thanh toán tiền điện thoại cho các khách hàng của mình. Hiện tại, công ty có lưu trữ 2 tệp tin, một tệp về khách hàng, một tệp về các cuộc điện thoại đã gọi.

1. Tệp khách hàng mang tên customer.dat. Mỗi dòng trong tệp này gồm có:
- Tên của khách hàng: tên là một xâu ký tự, độ dài không vượt quá 25 và kết thúc bởi dấy “;”.
- Số điện thoại của khách hàng: số điện thoại nằm trong khoảng 8000000 và 8999999.
Chẳng hạn dòng đầu tiên của tệp là:
Trần Thị Thanh; 8271954

2. Tệp lưu trữ các cuộc điện thoại mang tên phone.dat. Mỗi dòng có những thông tin về một cuộc điện thoại như sau:
- Số điện thoại: trong khoảng 8000000 đến 8999999.
- Số phút đã gọi: trong khoảng 1 đến 120.
- Thời điểm bắt đầu gọi: từ 0h00 đến 23h59 (đồng hồ 24 giờ/ngày).
- Ngày gọi: theo định dạng dd/mm/yyyy.
- Miền: nội hạt, lân cận, xa và rất xa, được viết tắt là: NH, LC, X, RX.
Chẳng hạn, dòng đầu tiên của tệp phone.dat có thể như sau:
8567345 4 8.23 14/06/2006 NH
Đương nhiên là có thể có nhiều dòng điện thoại.
Hai tệp trên được liên hệ với nhau qua số điện thoại. Sau khi đọc một cuộc điện thoại trong tệp phone.dat, cuộc gọi sẽ được xử lí cho khách hàng có số điện thoại trùng với số điện thoại của cuộc điện thoại đó. Tệp các cuộc gọi ban đầu chưa được sắp xếp nhưng tệp kết quả phải được sắp xếp theo sự tăng dần của số điện thoại. Có thể giả sử rằng tất cả các dữ liệu trên tệp đều hợp lệ và đương nhiên có thể có những khách hàng không có cuộc nào.

3. Tệp mang tên result.dat cần có tiêu đề thích hợp và nêu rõ những thông tin sau:
- Với mỗi khách hàng:
+ Tổng số tiền mà họ phải trả công ty.
+ Số cuộc gọi của từng miền.
- Thông tin tổng thể:
+ Toàn bộ số tiền thu được từ khách hàng.
+ toàn bô các cuộc gọi của khách hàng trong từng miền.

Xử lí:
- Việc tính tiền cho mỗi cuộc gọi như sau:
Tiền = Giá cơ bản * Số phút * Hệ số miền.
Giá cơ bản là 400đ.
Hệ số miền đối với nội hạt là 1, với lân cận là 2, với xa là 3, với rất xa là 4.
Đôi với các cuộc gọi bắt đầu từ 23h00 đến 5h00 các ngày trong tuần và ngày Thứ Bảy, Chủ nhật thì được giảm gái 30%.

Bác nào có hướng giải thì up lên chia sẻ cùng nhau với nha

dragonitvn
01-03-2011, 09:04
Hỏi - Bài tập lớn môn cấu trúc dữ liệu và giải thuật
Nguồn bài viết: http://sinhvienit.net/@forum/showthread.php?t=84440
BÀI TẬP LỚN MÔN CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT

Đặc tả:

Một công ty điện thoại muốn có một chương trình thanh toán tiền điện thoại cho các khách hàng của mình. Hiện tại, công ty có lưu trữ 2 tệp tin, một tệp về khách hàng, một tệp về các cuộc điện thoại đã gọi.

1. Tệp khách hàng mang tên customer.dat. Mỗi dòng trong tệp này gồm có:
- Tên của khách hàng: tên là một xâu ký tự, độ dài không vượt quá 25 và kết thúc bởi dấy “;”.
- Số điện thoại của khách hàng: số điện thoại nằm trong khoảng 8000000 và 8999999.
Chẳng hạn dòng đầu tiên của tệp là:
Trần Thị Thanh; 8271954

2. Tệp lưu trữ các cuộc điện thoại mang tên phone.dat. Mỗi dòng có những thông tin về một cuộc điện thoại như sau:
- Số điện thoại: trong khoảng 8000000 đến 8999999.
- Số phút đã gọi: trong khoảng 1 đến 120.
- Thời điểm bắt đầu gọi: từ 0h00 đến 23h59 (đồng hồ 24 giờ/ngày).
- Ngày gọi: theo định dạng dd/mm/yyyy.
- Miền: nội hạt, lân cận, xa và rất xa, được viết tắt là: NH, LC, X, RX.
Chẳng hạn, dòng đầu tiên của tệp phone.dat có thể như sau:
8567345 4 8.23 14/06/2006 NH
Đương nhiên là có thể có nhiều dòng điện thoại.
Hai tệp trên được liên hệ với nhau qua số điện thoại. Sau khi đọc một cuộc điện thoại trong tệp phone.dat, cuộc gọi sẽ được xử lí cho khách hàng có số điện thoại trùng với số điện thoại của cuộc điện thoại đó. Tệp các cuộc gọi ban đầu chưa được sắp xếp nhưng tệp kết quả phải được sắp xếp theo sự tăng dần của số điện thoại. Có thể giả sử rằng tất cả các dữ liệu trên tệp đều hợp lệ và đương nhiên có thể có những khách hàng không có cuộc nào.

3. Tệp mang tên result.dat cần có tiêu đề thích hợp và nêu rõ những thông tin sau:
- Với mỗi khách hàng:
+ Tổng số tiền mà họ phải trả công ty.
+ Số cuộc gọi của từng miền.
- Thông tin tổng thể:
+ Toàn bộ số tiền thu được từ khách hàng.
+ toàn bô các cuộc gọi của khách hàng trong từng miền.

Xử lí:
- Việc tính tiền cho mỗi cuộc gọi như sau:
Tiền = Giá cơ bản * Số phút * Hệ số miền.
Giá cơ bản là 400đ.
Hệ số miền đối với nội hạt là 1, với lân cận là 2, với xa là 3, với rất xa là 4.
Đôi với các cuộc gọi bắt đầu từ 23h00 đến 5h00 các ngày trong tuần và ngày Thứ Bảy, Chủ nhật thì được giảm gái 30%.

Bác nào có hướng giải thì up lên chia sẻ cùng nhau với nha


Bạn có thể làm như sau

1. Xử lý tập tin phone.dat, vì tập tin có quy luật nên bạn dễ dàng bóc tách ra các thông số để phục vụ tính toán
2. bạn tạo 1 đối tượng để lưu trữ việc tính toán cho 1 dòng dữ liệu đọc được, đối tượng này chứa các thuộc tính dùng để lấy dữ liệu ( set, get)
3. Bạn dùng 1 mảng 2 chiều 1 cột và nhiều dòng, mỗi khi đọc được 1 dòng, tính toán, lưu trữ vào 1 đối tượng. Sau đó dùng mảng này để lưu trữ : 1 cột lưu trữ đối tượng, sau khi tính ra được 1 đối tượng, taọ thêm 1 dòng để lưu số điện thoại, Sau đó lưu vào Mảng 2 chiều kia

Mảng 2 chiều của ta sẽ tương ứng với từng dòng như sau

SDt Đối tượng
0976731787 obj1
0976731787 obj2

4. Truy xuất thông tin cần thiết trong mảng, trong này chúng ta hoàn toàn có thể nhóm lọc dựua vào sô điện thoại hoặc thuộc tính của các đối tượng tương ứng

motthoangquehuon
02-03-2011, 02:33
bạn mua sách cấu trúc dữ liệu ứng dụng cho C đó,rất căn bản!