Siêu thị PDFTải ngay đi em, trời tối mất

Thư viện tri thức trực tuyến

Kho tài liệu với 50,000+ tài liệu học thuật

© 2023 Siêu thị PDF - Kho tài liệu học thuật hàng đầu Việt Nam

Tìm hiểu tầm quan trọng của cấu trúc dữ liệu trong giải thuật phần 5 pps
MIỄN PHÍ
Số trang
23
Kích thước
184.3 KB
Định dạng
PDF
Lượt xem
1598

Tìm hiểu tầm quan trọng của cấu trúc dữ liệu trong giải thuật phần 5 pps

Nội dung xem thử

Mô tả chi tiết

Giaùo trình: Caáu Truùc Döõ Lieäu vaø Giaûi Thuaät

Trang: 93

Ñeå quaûn lyù moät danh saùch lieân keát chuùng ta coù theå söû duïng nhieàu phöông phaùp khaùc

nhau vaø töông öùng vôùi caùc phöông phaùp naøy chuùng ta seõ coù caùc caáu truùc döõ lieäu

khaùc nhau, cuï theå:

- Quaûn lyù ñòa chæ phaàn töû ñaàu danh saùch:

SLL_Type SLList1;

Hình aûnh minh hoïa:

SLList1 NULL

15 10 20 18 40 35 30

- Quaûn lyù ñòa chæ phaàn töû ñaàu vaø cuoái danh saùch:

typedef struct SLL_PairNode

{ SLL_Type SLLFirst;

SLL_Type SLLLast;

} SLLP_Type;

SLLP_Type SLList2;

Hình aûnh minh hoïa:

SLLFirst SLLLast NULL

15 10 20 18 40 35 30

- Quaûn lyù ñòa chæ phaàn töû ñaàu, ñòa chæ phaàn töû cuoái vaø soá phaàn töû trong danh saùch:

typedef struct SLL_PairNNode

{ SLL_Type SLLFirst;

SLL_Type SLLLast;

unsigned NumNode;

} SLLPN_Type;

SLLPN_Type SLList3;

Hình aûnh minh hoïa:

SLLFirst SLLLast NULL

15 10 20 18 40 35 30

NumNode = 7

B. Caùc thao taùc treân danh saùch lieân keát ñôn:

Vôùi moãi caùch quaûn lyù khaùc nhau cuûa danh saùch lieân keát ñôn , caùc thao taùc cuõng seõ

coù söï khaùc nhau veà maët chi tieát song noäi dung cô baûn ít coù söï khaùc nhau. Do vaäy, ôû

ñaây chuùng ta chæ trình baøy caùc thao taùc theo caùch quaûn lyù thöù nhaát (quaûn lyù ñòa chæ

cuûa phaàn töû ñaàu danh saùch lieân keát ñôn), caùc caùch quaûn lyù khaùc sinh vieân töï vaän

duïng ñeå ñieàu chænh cho thích hôïp.

Giaùo trình: Caáu Truùc Döõ Lieäu vaø Giaûi Thuaät

Trang: 94

a. Khôûi taïo danh saùch (Initialize):

Trong thao taùc naøy chæ ñôn giaûn laø chuùng ta cho giaù trò con troû quaûn lyù ñòa chæ phaàn

töû ñaàu danh saùch veà con troû NULL. Haøm khôûi taïo danh saùch lieân keát ñôn nhö sau:

void SLL_Initialize(SLL_Type &First)

{ First = NULL;

return;

}

Hình aûnh minh hoïa:

SLList1 NULL

b. Taïo môùi moät phaàn töû / nuùt:

Giaû söû chuùng ta caàn taïo môùi moät phaàn töû coù thaønh phaàn döõ lieäu laø NewData.

- Thuaät toaùn:

B1: First = new SLL_OneNode

B2: IF (First = NULL)

Thöïc hieän Bkt

B3: First->NextNode = NULL

B4: First->Key = NewData

Bkt: Keát thuùc

- Caøi ñaët thuaät toaùn:

Haøm SLL_Create_Node coù prototype:

SLL_Type SLL_Create_Node(T NewData);

Haøm taïo môùi moät nuùt coù thaønh phaàn döõ lieäu laø NewData, haøm traû veà con troû troû

tôùi ñòa chæ cuûa nuùt môùi taïo. Neáu khoâng ñuû boä nhôù ñeå taïo, haøm traû veà con troû

NULL.

SLL_Type SLL_Create_Node(T NewData)

{ SLL_Type Pnode = new SLL_OneNode;

if (Pnode != NULL)

{ Pnode->NextNode = NULL;

Pnode->Key = NewData;

}

return (Pnode);

}

- Minh hoïa thuaät toaùn:

Giaû söû chuùng ta caàn taïo nuùt coù thaønh phaàn döõ lieäu laø 20: NewData = 20

Pnode = new SLL_OneNode

Pnode

Pnode->NextNode = NULL

Pnode->Key = NewData

Tải ngay đi em, còn do dự, trời tối mất!