Tập hợp phần tử
Số trang: 48
Loại file: ppt
Dung lượng: 1.12 MB
Lượt xem: 1
Lượt tải: 0
Xem trước 5 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
ChoTlàmộtkiểuđượcđịnhnghiãtrước,kiểudanhsáchTxgồmcácphầntửthuộckiểuTđượcđịnh. nghĩalà: nốivớinhautheotrìnhtựtuyếntính};Ox={tậpthaotác:Tạodanhsách;Tìm1phầntử. trongdanhsách;Chènmộtphầntửvàodanhsách;Huỷmộtphầntửkhỏidanhsách;
Nội dung trích xuất từ tài liệu:
Tập hợp phần tửTậphợpphầntử DANHSÁCHLIÊNKẾT(LIST) ARRAYLISTDanhsáchliênkết(linkList) Ðịnhnghĩa: ChoTlàmộtkiểuđượcđịnhnghiãtrước,kiểudanh sáchTxgồmcácphầntửthuộckiểuTđượcđịnh nghĩalà: Tx= trongđó: Vx={tậphợpcóthứtựcácphầntửkiểuTđượcmóc nốivớinhautheotrìnhtựtuyếntính}; Ox={tậpthaotác:Tạodanhsách;Tìm1phầntử trongdanhsách;Chènmộtphầntửvàodanhsách; Huỷmộtphầntửkhỏidanhsách;Liệtkêdanhsách, Sắpxếpdanhsách...} Vídu: Hồsơcáchọcsinhcủamộttrườngđượctổ chứcthànhdanhsáchgồmnhiềuhồsơcủa từnghọcsinh;sốlượnghọcsinhtrongtrường cóthểthayđổidovậycầncócácthaotác thêm,hủymộthồsơ;đểphụcvụcôngtác giáovụcầnthựchiệncácthaotáctìmhồsơ củamộthọcsinh,indanhsáchhồsơ... Lệnhđặtmuabánchứngkhoán,tạimộtthời điểmthìkhôngxácđịnhtrướclàbaonhiêu lệnh. Cáchìnhthứctổchứcdanhsách Mốiliênhệgiữacácphầntửđượcthể hiệnngầm: Mốiliênhệgiữacácphầntửđượcthể hiệntườngminh Mốiliênhệgiữacácphầntửđượcthểhiện ngầm:mỗiphầntửtrongdanhsáchđượcđặc trưngbằngchỉsố.Cặpphầntửxi,xi+1được xácđịnhlàkếcậntrongdanhsáchnhờvào quanhệgiữacặpchỉsốivà(i+1).Vớihình thứctổchứcnày,cácphầntửcủadanhsách thườngbắtbuộcphảilưutrữliêntiếptrongbộ nhớđểcóthểxâydựngcôngthứcxácđịnh địachỉphầntửthứi: address(i)=address(1)+(i1)*sizeof(T) Cóthểxemmảngvàtậptinlànhững danhsáchđặcbiệtđượctổchứctheo hìnhthứcliênkếtngầmgiữacácphần tử.Tuynhiênmảngcómộtđặctrưng giớihạnlàsốphầntửmảngcốđịnh,do vậykhôngcóthaotácthêm,hủytrên mảng;trườnghợptậptinthìcácphầntử đượclưutrữtrênbộnhớphụcónhững đặctínhlưutrữriêng Chophéptruyxuấtngẫunhiên,đơn giảnvànhanhchóngđếnmộtphầntử bấtkỳtrongdanhsách Hạnchếvềmặtsửdụngbộnhớ. Đốivớimảng,sốphầntửđượcxácđịnh trongthờigianbiêndịchvàcầncấp phátvùngnhớliêntục. Trongtrườnghợptổngkíchthướcbộnhớtrốngcòn đủđểchứatoànbộmảngnhưngcácônhớtrốnglại khôngnằmkếcậnnhauthìcũngkhôngcấpphát vùngnhớchomảngđược. Ngoàiradokíchthướcmảngcốđịnhmàsốphầntử củadanhsáchlạikhódựtrùchínhxácnêncóthể gâyratìnhtrạngthiếuhụthaylãngphíbộnhớ. Cácthaotácthêm,hủymộtphầntửvàodanhsách đượcthựchiệnkhôngtựnhiêntronghìnhthứctổ chứcnày Mốiliênhệgiữacácphầntửđượcthểhiệntường minh: mỗiphầntửngoàicácthôngtinvềbảnthâncònchứa mộtliênkết(địachỉ)đếnphầntửkếtrongdanhsách nêncònđượcgọilàdanhsáchmócnối. Doliênkếttườngminh,vớihìnhthứcnàycácphầntử trongdanhsáchkhôngcầnphảilưutrữkếcậntrong bộnhớ khắcphụcđượccáckhuyếtđiểmcủahìnhthứctổ chứcmảng việctruyxuấtđếnmộtphầntửđòihỏiphảithựchiện truyxuấtquamộtsốphầntửkhác Vịtrítrongbộnhớ0x39 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 0x480x49 Inta[5]; Intb[4]; Vịtrítrongbộnhớ 1 40x39 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 0x480x49 3 5 2 .Cónhiềukiểutổchứcliênkếtgiữacác phầntửtrongdanhsáchnhư: Danhsáchliênkếtđơn Danhsáchliênkếtkép Danhsáchliênkếtvòng Danhsáchliênkếtđơn:mỗiphầntửliênkếtvới phầntửđứngsaunótrongdanhsách 1 5 7 9 10 1 11 Danhsáchliênkếtkép:mỗiphầntửliênkếtvớicác phầntửđứngtrướcvàsaunótrongdanhsách A D I M N W Danhsáchliênkếtvòng:phầntửcuốidanhsách liênkếtvớiphầntửđầudanhsách:1 5 7 9 10 1 11A D I M N WDanhsáchliênkếtđơn Cấutrúcdữliệucủamộtphầntửtrong danhsáchđơn: Mỗiphầntửcủadanhsáchđơnlàmộtcấu trúcchứa2thôngtin: Thànhphầndữliệu:lưutrữcácthôngtinvề bảnthânphầntử. Thànhphầnmốiliênkết:lưutrữđịachỉcủa phầntửkếtiếptrongdanhsách,hoặclưutrữ giátrịNULLnếulàphầntửcuốidanhsách. Địnhnghĩamộtnode structNode { KDLdata;//dữliệucủađốitượng Node*next;//giữđịachỉcủaphầntửkế … } data nextĐịnhnghĩa1danhsáchliênkết structSingleList{ Node*head;//đầulist inttotalNode;//sốnodetrênlist } VoidSingleListinit();//khởitạo publicvoidinsert(SingleLista,KDLx);//chèn thêmgiátrị publicintremoveAll(SingleLista);//xóagiátrịra khỏilist publicvoidtraverse(SingleLista);//duyệtlist … Vídụ:địnhnghĩaviệclưutrữhồsơsinh viên structSinhvien{ intmasinhvien char*tensinhvien … } ...
Nội dung trích xuất từ tài liệu:
Tập hợp phần tửTậphợpphầntử DANHSÁCHLIÊNKẾT(LIST) ARRAYLISTDanhsáchliênkết(linkList) Ðịnhnghĩa: ChoTlàmộtkiểuđượcđịnhnghiãtrước,kiểudanh sáchTxgồmcácphầntửthuộckiểuTđượcđịnh nghĩalà: Tx= trongđó: Vx={tậphợpcóthứtựcácphầntửkiểuTđượcmóc nốivớinhautheotrìnhtựtuyếntính}; Ox={tậpthaotác:Tạodanhsách;Tìm1phầntử trongdanhsách;Chènmộtphầntửvàodanhsách; Huỷmộtphầntửkhỏidanhsách;Liệtkêdanhsách, Sắpxếpdanhsách...} Vídu: Hồsơcáchọcsinhcủamộttrườngđượctổ chứcthànhdanhsáchgồmnhiềuhồsơcủa từnghọcsinh;sốlượnghọcsinhtrongtrường cóthểthayđổidovậycầncócácthaotác thêm,hủymộthồsơ;đểphụcvụcôngtác giáovụcầnthựchiệncácthaotáctìmhồsơ củamộthọcsinh,indanhsáchhồsơ... Lệnhđặtmuabánchứngkhoán,tạimộtthời điểmthìkhôngxácđịnhtrướclàbaonhiêu lệnh. Cáchìnhthứctổchứcdanhsách Mốiliênhệgiữacácphầntửđượcthể hiệnngầm: Mốiliênhệgiữacácphầntửđượcthể hiệntườngminh Mốiliênhệgiữacácphầntửđượcthểhiện ngầm:mỗiphầntửtrongdanhsáchđượcđặc trưngbằngchỉsố.Cặpphầntửxi,xi+1được xácđịnhlàkếcậntrongdanhsáchnhờvào quanhệgiữacặpchỉsốivà(i+1).Vớihình thứctổchứcnày,cácphầntửcủadanhsách thườngbắtbuộcphảilưutrữliêntiếptrongbộ nhớđểcóthểxâydựngcôngthứcxácđịnh địachỉphầntửthứi: address(i)=address(1)+(i1)*sizeof(T) Cóthểxemmảngvàtậptinlànhững danhsáchđặcbiệtđượctổchứctheo hìnhthứcliênkếtngầmgiữacácphần tử.Tuynhiênmảngcómộtđặctrưng giớihạnlàsốphầntửmảngcốđịnh,do vậykhôngcóthaotácthêm,hủytrên mảng;trườnghợptậptinthìcácphầntử đượclưutrữtrênbộnhớphụcónhững đặctínhlưutrữriêng Chophéptruyxuấtngẫunhiên,đơn giảnvànhanhchóngđếnmộtphầntử bấtkỳtrongdanhsách Hạnchếvềmặtsửdụngbộnhớ. Đốivớimảng,sốphầntửđượcxácđịnh trongthờigianbiêndịchvàcầncấp phátvùngnhớliêntục. Trongtrườnghợptổngkíchthướcbộnhớtrốngcòn đủđểchứatoànbộmảngnhưngcácônhớtrốnglại khôngnằmkếcậnnhauthìcũngkhôngcấpphát vùngnhớchomảngđược. Ngoàiradokíchthướcmảngcốđịnhmàsốphầntử củadanhsáchlạikhódựtrùchínhxácnêncóthể gâyratìnhtrạngthiếuhụthaylãngphíbộnhớ. Cácthaotácthêm,hủymộtphầntửvàodanhsách đượcthựchiệnkhôngtựnhiêntronghìnhthứctổ chứcnày Mốiliênhệgiữacácphầntửđượcthểhiệntường minh: mỗiphầntửngoàicácthôngtinvềbảnthâncònchứa mộtliênkết(địachỉ)đếnphầntửkếtrongdanhsách nêncònđượcgọilàdanhsáchmócnối. Doliênkếttườngminh,vớihìnhthứcnàycácphầntử trongdanhsáchkhôngcầnphảilưutrữkếcậntrong bộnhớ khắcphụcđượccáckhuyếtđiểmcủahìnhthứctổ chứcmảng việctruyxuấtđếnmộtphầntửđòihỏiphảithựchiện truyxuấtquamộtsốphầntửkhác Vịtrítrongbộnhớ0x39 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 0x480x49 Inta[5]; Intb[4]; Vịtrítrongbộnhớ 1 40x39 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 0x480x49 3 5 2 .Cónhiềukiểutổchứcliênkếtgiữacác phầntửtrongdanhsáchnhư: Danhsáchliênkếtđơn Danhsáchliênkếtkép Danhsáchliênkếtvòng Danhsáchliênkếtđơn:mỗiphầntửliênkếtvới phầntửđứngsaunótrongdanhsách 1 5 7 9 10 1 11 Danhsáchliênkếtkép:mỗiphầntửliênkếtvớicác phầntửđứngtrướcvàsaunótrongdanhsách A D I M N W Danhsáchliênkếtvòng:phầntửcuốidanhsách liênkếtvớiphầntửđầudanhsách:1 5 7 9 10 1 11A D I M N WDanhsáchliênkếtđơn Cấutrúcdữliệucủamộtphầntửtrong danhsáchđơn: Mỗiphầntửcủadanhsáchđơnlàmộtcấu trúcchứa2thôngtin: Thànhphầndữliệu:lưutrữcácthôngtinvề bảnthânphầntử. Thànhphầnmốiliênkết:lưutrữđịachỉcủa phầntửkếtiếptrongdanhsách,hoặclưutrữ giátrịNULLnếulàphầntửcuốidanhsách. Địnhnghĩamộtnode structNode { KDLdata;//dữliệucủađốitượng Node*next;//giữđịachỉcủaphầntửkế … } data nextĐịnhnghĩa1danhsáchliênkết structSingleList{ Node*head;//đầulist inttotalNode;//sốnodetrênlist } VoidSingleListinit();//khởitạo publicvoidinsert(SingleLista,KDLx);//chèn thêmgiátrị publicintremoveAll(SingleLista);//xóagiátrịra khỏilist publicvoidtraverse(SingleLista);//duyệtlist … Vídụ:địnhnghĩaviệclưutrữhồsơsinh viên structSinhvien{ intmasinhvien char*tensinhvien … } ...
Tìm kiếm theo từ khóa liên quan:
Cấu trúc dữ liệu Giải thuật dữ liệu Tài liệu giải thuật dữ liệu Tập hợp phần tử Danh sách liên kết các hình thức tổ chức danh sáchGợi ý tài liệu liên quan:
-
Đề cương chi tiết học phần Cấu trúc dữ liệu và giải thuật (Data structures and algorithms)
10 trang 316 0 0 -
Giải thuật và cấu trúc dữ liệu
305 trang 159 0 0 -
Bài giảng Phân tích thiết kế phần mềm: Chương 1 - Trường ĐH Ngoại ngữ - Tin học TP.HCM
64 trang 149 0 0 -
Tập bài giảng Thực hành kỹ thuật lập trình
303 trang 143 0 0 -
Giáo trình Cấu trúc dữ liệu và thuật toán (Tái bản): Phần 1
152 trang 139 0 0 -
Tài liệu tham khảo: Cấu trúc dữ liệu và giải thuật
229 trang 121 0 0 -
Lập trình C - Cấu trúc dữ Liệu
307 trang 74 0 0 -
Ứng dụng và cài đặt cấu trúc dữ liệu bằng C: Phần 1
338 trang 70 0 0 -
49 trang 69 0 0
-
Bài giảng Cơ sở dữ liệu: Chương 3 - ThS. Hoàng Mạnh Hà
67 trang 68 0 0