Tìm kiếm theo tiêu đề

Tin tức cộng đồng

5 điều đơn giản cha mẹ nên làm mỗi ngày để con hạnh phúc hơn

Tìm kiếm hạnh phúc là một nhu cầu lớn và xuất hiện xuyên suốt cuộc đời mỗi con người. Tác giả người Mỹ Stephanie Harrison đã dành ra hơn 10 năm để nghiên cứu về cảm nhận hạnh phúc, bà đã hệ thống các kiến thức ấy trong cuốn New Happy. Bà Harrison khẳng định có những thói quen đơn...
Xem tiếp

Tin tức thư viện

Chức năng Dừng xem quảng cáo trên violet.vn

12087057 Kính chào các thầy, cô! Hiện tại, kinh phí duy trì hệ thống dựa chủ yếu vào việc đặt quảng cáo trên hệ thống. Tuy nhiên, đôi khi có gây một số trở ngại đối với thầy, cô khi truy cập. Vì vậy, để thuận tiện trong việc sử dụng thư viện hệ thống đã cung cấp chức năng...
Xem tiếp

Hỗ trợ kĩ thuật

  • (024) 62 930 536
  • 0919 124 899
  • hotro@violet.vn

Liên hệ quảng cáo

  • (024) 66 745 632
  • 096 181 2005
  • contact@bachkim.vn

Bài tập cấu trúc và dữ liệu

Wait
  • Begin_button
  • Prev_button
  • Play_button
  • Stop_button
  • Next_button
  • End_button
  • 0 / 0
  • Loading_status
Nhấn vào đây để tải về
Báo tài liệu có sai sót
Nhắn tin cho tác giả
(Tài liệu chưa được thẩm định)
Nguồn:
Người gửi: Lê Mạnh Hùng
Ngày gửi: 13h:50' 04-12-2008
Dung lượng: 192.5 KB
Số lượt tải: 131
Số lượt thích: 0 người
Chào mừng các bạn đã đến tham gia buổi thuyết trình của chúng tôi
Thành Viên :
1. Lê Mạnh Hùng _ 87
2. Lê Văn Hưng
3. Đỗ Đình Liêm


Bài tập lớn
Môn : cấu trúc dữ liệu & giải THUậT
ĐỀ SỐ 17 :
Cho một DSLK đơn. Mỗi phần tử info là một ký tự (‘A’.. ‘Z’) và liên kết chỉ đến phần tử kế tiếp. Dùng ngôn ngữ Pascal viết chương trình thực hiện các yêu cầu sau :
a. Tạo một danh sách liên kết đơn với mô tả trên.
b. Viết chương trình con loại khỏi danh sách đã cho các phần tử vi phạm điều kiện tăng dần của danh sách. Biết rằng phần tử đầu tiên được giữ lại trong danh sách.
VD : DSLK biểu diễn : D F H G K M A B Q
DSLK sau khi loại : D F H K M Q
c. Với danh sách đã cho có thứ tự tăng dần (không có phần tử trùng nhau). Viết chương trình bổ sung vào danh sách này sao cho danh sách sẽ chứa đầy đủ các ký tự từ ‘A’ đến ‘Z’.

TỔNG QUAN SƠ LƯỢC VỀ BÀI TẬP LỚN
MÔN : CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT
Để giải quyết được yêu cầu của bài tập lớn chúng em đã đưa vào trong phần bài làm một số kiến thức lý thuyết cơ bản liên quan tới danh sách liên kết đơn, giúp cho người đọc nắm được cái nội dung cốt yếu mà người viết muốn diễn đạt khi lần đầu tiếp xúc với dạng bài tập này. Nội dung cụ thể sẽ được trình bày một cách khái quát như sau :
Nội dung bao gồm 2 phần :
Phần lý thuyết + Phần bài tập

I. Phần lý thuyết.
1. Cấu trúc dữ liệu và giải thuật
1.1 Khái niệm CTDL, GT
1.2 Các bước cơ bản giải quyết các bài toán trong tin học
B1: Xác định bài toán (cho cái gì ↔ input, tìm cái gì ↔ output)
B2: Tìm cấu trúc dữ liệu
B3: Tìm thuật toán ( liệt kê, lưu đồ, ngôn ngữ chương trình )
B4: Lập trình
B5: Thử và chạy trương trình
B6: Tối ưu chương trình
1.3 Phân tích và thiết kế bài toán

2. Mô hình dữ liệu - danh sách
2.1 Khái niệm danh sách là gì ?
2.2 Các phép toán trên danh sách
2.3 Cách xác định địa chỉ của một phần tử trong danh sách
2.4 Ưu, nhược điểm của phương pháp lưu trữ kế tiếp đối với danh sách
2.5 Tại sao phải xây dựng cấu trúc dữ liệu động

3. Cài đặt danh sách
+ Bằng mảng ( DS đặc )
+ Bằng Danh Sách liên kết
4. Danh sách liên kết
4.1 Phân loại : có 3 loại danh sách, song ở đây ta chỉ tìm hiểu về danh sách liên kết đơn.
4.2 Danh sách liên kết đơn
a. Khái niệm
b. Cấu trúc dữ liệu

c. Các phép toán trên danh sách liên kết đơn
+ Duyệt danh sách
+ Bổ sung 1 phần tử vào danh sách liên kết đơn
+ Loại bỏ 1 phần tử khỏi danh sách liên kết đơn
+ Ghép hai hay nhiều danh sách liên kết đơn thành một
+ Tách một danh sách thành nhiều danh sách
+ Sao chép một danh sách
+ Sắp xếp các phần tử trong danh sách theo một thứ tự đã được ấn định
+ Tìm kiếm trong danh sách một phần tử mà một trường nào đó có một giá trị ấn định
+ v.v...
Có rất nhiều phép toán được thực hiện trên danh sách liên kết đơn song ở đây chúng ta chỉ thao tác với một số phếp toán thường gặp.

5. Một số giải thuật tương ứng với từng phép toán trên danh sách liên kết đơn
Giải thuật bổ sung 1 phần tử vào danh sách
Giải thuật loại bỏ 1 phần tử khỏi danh sách
Giải thuật duyệt danh sách
Giải thuật tìm kiếm trên danh sách
Giải thuật sắp xếp trên danh sách

II. Phần bài tập
ĐỀ SỐ 17
Cho một DSLK đơn. Mỗi phần tử info là một ký tự (‘A’.. ‘Z’) và liên kết chỉ đến phần tử kế tiếp. Dùng ngôn ngữ Pascal viết chương trình thực hiện các yêu cầu sau :
Tạo một danh sách liên kết đơn với mô tả trên.
Viết chương trình con loại khỏi danh sách đã cho các phần tử vi phạm điều kiện tăng dần của danh sách. Biết rằng phần tử đầu tiên được giữ lại trong danh sách.
VD : DSLK biểu diễn : D F H G K M A B Q
DSLK sau khi loại : D F H K M Q
c. Với danh sách đã cho có thứ tự tăng dần (không có phần tử trùng nhau). Viết chương trình bổ sung vào danh sách này sao cho danh sách sẽ chứa đầy đủ các ký tự từ ‘A’ đến ‘Z’.

Hướng giải quyết bài toán :
a. Tạo một danh sách liên kết đơn theo thứ tự tăng dần, mỗi phần tử info là một ký tự (‘A’ .. ‘Z’) và liên kết chỉ đến phần tử kế tiếp.
+ Tạo một danh sách liên kết đơn mà trường info có chứa đầy đủ các ký tự từ ‘A’ đến ‘Z’ , trường Next chỉ đến phần tử kế tiếp.

b. Viết chương trình con loại khỏi danh sách đã cho các phần tử vi phạm điều kiện tăng dần của danh sách. Biết rằng phần tử đầu tiên được giữ lại trong danh sách.
So sánh trường Data của nút giữa với 2 nút ngay cạnh nó → có hay không loại bỏ nút đó.
Nếu phần tử ở cuối là phần tử bị loại thì ta phải gán địa chỉ Nil cho trường Next của phần tử cuối cùng của danh sách sau khi đã loại bỏ hết các phần tử vi phạm điều kiện tăng dần.

c. Với danh sách đã cho có thứ tự tăng dần (không có phần tử trùng nhau). Viết chương trình bổ sung vào danh sách này sao cho danh sách sẽ chứa đầy đủ các ký tự từ ‘A’ đến ‘Z’.
Kiểm tra xem trong danh sách đã có đủ hết các ký tự từ ‘A’ đến ‘Z’ hay chưa.
Bổ sung ký tự còn thiếu vào danh sách sao cho danh sách sau khi bổ sung vẫn đảm bảo thứ tự tăng dần.
Nếu bổ sung vào cuối danh sách thì ta phải gán trường Next của nút mới bổ sung bằng Nil.

 
Gửi ý kiến