1. Trang chủ
  2. » Công Nghệ Thông Tin

Cài đặt mạng và danh sách

4 741 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Cài Đặt Mạng Và Danh Sách
Tác giả Quang Hưng
Trường học Trường Đại Học
Chuyên ngành Công Nghệ Thông Tin
Thể loại Bài Tiểu Luận
Thành phố Hà Nội
Định dạng
Số trang 4
Dung lượng 40 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Cài đặt mạng và danh sách

Trang 1

Mảng và danh sách

Quang Hưng

Mảng là một tập có thứ tự gồm mộtsố cố định các phần tử Không có phép bổ sung phần

tử hoặc loại bỏ phần tử đượcthực hiện đối với mảng Thường chỉ có các phép tạo lập mảng, tìm kiếm một phầntử của mảng, lưu trữ một phần tử của mảng Ngoài giá trị, một phần tử của mảngcòn được đặc trưng bởi chỉ số (index) thể hiện thứ tự của phần tử đó trongmảng

Vector là mảng một chiều, mỗiphần tử ai của nó ứng với một chỉ số i Ma trận là mảng hai chiều, mỗi phần tửaij ứng với hai chỉ số i và j

Tương tự, người ta mở rộng ra:mảng ba chiều, ,mảng n chiều

Danh sách có hơi khác với mảng ởchỗ: nó là một tập hợp có thứ tự nhưng bao gồm một

số biến động các phần tử.Phép bổ sung và phép loại bỏ một phần tử là phép thường xuyên tác động lên danhsách Tập hợp các người đến khám bệnh cho ta hình ảnh một danh sách Họ sẽ đượckhám theo một thứ tự Số người có lúc tăng lên (do có người mới đến), có lúcgiảm đi (do bỏ về vì không chờ được) Một danh sách mà quan hệ lân cận giữa cácphần tử được hiển thị ra thì được gọi là danh sách tuyến tính Như vậy, danhsách tuyến tính là một danh sách hoặc rỗng (không có phần tử nào) hoặc có dạng(a1, a2, , an) với ai (1≤ i ≤ n) làcác dữ liệu nguyên tử Trong danh sách tuyến tính luôn tồn tại một phần tử đầu a1, phần tử cuối an Đối với mỗi phần tử ai bất kỳ với 1≤ i ≤ n-1 thì có một phần tử ai + 1 gọi là phần tử sau của ai và với 2 ≤ i ≤ n thì có một phần tửai-1 gọi là phần

tử trước ai ai được gọi là phần tử thư i của danh sách tuyến tính n, n được gọi là độ dài hoặc kích thước của danh sách và nó có giá trị thay đổi

Mỗi phần tử trong một danh sáchthường là một bản ghi (gồm một hoặc nhiều trường) Ví dụ: danh mục điện thoạilà một danh sách tuyến tính, mỗi phần tử của nó ứng với một đơn

vị thuê bao, nógồm ba trường:

-Tên đơn vị hoặc tên chủ hộ thuêbao

-Địa chỉ

-Số điện thoại

Mỗi một phần tử được xác địnhbằng địa chỉ của chúng trong bộ nhớ trong Thường thì có hai cách để xác địnhđược địa chỉ của một phần tử trong danh sách Cách thứ nhất là dựa vào nhữngđặc tả của dữ liệu cần tìm Địa chỉ thuộc loại này được gọi là địa chỉ tínhđược (computed ađress) Cách này thường hay được sử dụng trong các ngôn ngữlập trình để tính địa chỉ các phần tử của vector, của ma trận để tính địa chỉlệnh thực hiện tiếp theo trong quá trình thực hiện chương trình đích Cách thứhai là lưu trữ các địa chỉ cần thiết

Trang 2

đó ở một chỗ nào đó trong bộ nhớ, khi cầnxác định sẽ lấy ở đó ra Loại địa chỉ này được gọi là con trỏ (pointer) hoặcmóc nối (link)

Đối với một trang sách, ngoàiphép bổ sung và loại bỏ còn có một số phép sau đây cũng hay được tác động:

- Ghép hai hoặcnhiều danh sách

- Tách một danhsách thành nhiều danh sách

- Sao chép mộtdanh sách

- Sắp xếp cácphần tử trong danh sách theo một thứ tự nhất định

- Tìm kiếmtrong danh sách,

Stack hay danh sách kiểungăn xếp

Stack là một kiểu danh sách tuyếntính đặc biệt mà phép bổ sung và phép loại bỏ luôn luôn thực hiện ở một đầu gọilà đỉnh (top) Bạn có thể hình dung nó như cơ cấu của một hộp chứa đạn súng.Lắp đạn vào hay lấy đạn ra cũng chỉ ở một đầu hộp Viên đạn mới nạp vào sẽ nằmở đỉnh còn viên nạp vào đầu tiên thì nằm ở đáy (bottom) Viên nạp vào sau cùnglại chính là viên lên nòng súng trước tiên

Nguyên tắc vào sau ra trước nhưvậy của Stack được gọi là danh sách kiểu LIFO (Last-In-First-Out) Stack cóthể rỗng hoặc bao gồm một số phần tử

Lưu trữ Stack bằng mảng

Có thể lưu trữ stack bởi mộtvectơ lưu trữ S gồm n phần tử kế tiếp Nếu T là địa chỉ của phần tử ở đỉnh củaStack thì T sẽ có giá trị biến đổi khi có giá trị biến đổi khi Stack hoạt động(vì vậy người ta gọi T là một biến trỏ) Khi Stack rỗng, ta quy ước T = 0 vàmỗi lần

bổ sung một phần tử mới vào Stack thì T sẽ tăng lên 1 Khi một phần tửbị loại ra khỏi Stack, T sẽ giảm đi 1

Sau đây là thuật giải bổ sung vàloại bỏ đối với Stack:

Procedure PUSH (S, T, X)

{

giải thuật này thực hiện bổ sungphần tử X vào Stack lưu trữ bởi vectơ S có n phần tử T

là con trỏ trỏ tới đỉnhStack }

1 { Kiểm tra xem Stack có tràn không tức là khi S không còn chỗ để tiếp tục lữu trữ các phần tử của Stack nữa }

Trang 3

If T >= nthen

Begin

writeln (Stacktràn);

return

end ;

2 {Chuyển con trỏ}

T:= T+1;

3 {Bổ sung phần tử mới X}

S[T]:= X;

4 return;

Function POP(S, T)

{hàm này thực hiện việc loại bỏphần tử ở đỉnh Stack S đang trỏ tới T, phần tử loại bỏ sẽ được thu nhận và đượcđưa ra }

1 {kiểm tra xem Stack có cạn không khi Stack đã rỗng (empty) tức là không còn phần tử nào để loại bỏ nữa}

if T<=0 then

begin

writeln("Stackcạn !");

return

end;

2 {chuyển con trỏ }

T:=T-1;

3 {đưa phần tử bị loại ra}

POP:= S[T+1];

Trang 4

4 return;

Các bạn có thể khảo sát các ứngdụng của Stack thông qua các bài toán: Đổi cơ số từ số nguyên thập phân sangnhị phân,

Ngày đăng: 07/09/2012, 11:12

TỪ KHÓA LIÊN QUAN

w