đề Tài Danh Sách Liên Kết - Tài Liệu Text - 123doc

Tải bản đầy đủ (.pdf) (18 trang)
  1. Trang chủ
  2. >>
  3. Kỹ thuật
  4. >>
  5. Điện - Điện tử - Viễn thông
đề tài danh sách liên kết

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (422.73 KB, 18 trang )

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGCƠ SỞ TẠI THÀNH PHỐ HÀ NỘIKHOA CÔNG NGHỆ THÔNG TIN_____o0o_____BÁO CÁO CHUYÊN ĐỀCÔNG NGHỆ PHẦN MỀMĐề tài:Danh sách liên kếtGiáo viên hướng dẫn:Sinh viên thực hiện:Mã sinh viên:Lớp:Nguyễn Mạnh SơnNguyễn Quốc DũngB14LDCN008L14CNPMHà Nội – 2/2016MỤC LỤCChương 1: Tổng quan về danh sách liên kết ..................................................................11. Giới thiệu danh sách liên kết ....................................................................................12. Ưu điểm và nhược điểm ...........................................................................................22.1. Ưu điểm .............................................................................................................22.2. Nhược điểm .......................................................................................................2Chương 2: Các loại danh sách liên kết và các thuật ngữ liên quan. ................................31. Các loại danh sách liên kết .......................................................................................31.1. Danh sách liên kết đơn.......................................................................................31.2. Danh sách liên kết kép .......................................................................................31.3. Danh sách liên kết vòng .....................................................................................32. Các thuật ngữ liên quan............................................................................................42.1. Nút giả (Dummy node) .....................................................................................42.2. Danh sách trống (Empty lists) ...........................................................................42.3. Trường liên kết (Hash linking) ..........................................................................43. So sánh giữa các loại cấu trúc dữ liệu danh sách .....................................................43.1. Danh sách liên kết và mảng động ......................................................................43.2. Danh sách liên kết kép và đanh sách liên kết đơn .............................................53.3. Danh sách liên kết vòng và danh sách liên kết đơn ...........................................63.4. Danh sách liên kết đơn và danh danh sách khác ...............................................6Chương 3: Các thao tác trên danh sách liên kết ..............................................................81. Thêm một nút vào đầu danh sách.............................................................................92. Duyệt danh sách .....................................................................................................103. Thêm một nút vào cuối danh sách. ........................................................................104. Chèn vào sau một nút trong danh sách. .................................................................115. Chèn vào trước một nút trong danh sách ...............................................................116. Xóa một nút trong danh sách .................................................................................12Chương 4: Xây dựng chương trình sử dụng danh sách liên kết bằng java ...................14KẾT LUẬN ...................................................................................................................15TÀI LIỆU THAM KHẢO .............................................................................................16NỘI DUNG CHUYÊN ĐỀChương 1: Tổng quan về danh sách liên kết1. Giới thiệu danh sách liên kếtDanh sách liên kết là danh sách tuyến tính các phần tử dữ liệu. mỗi phân tử dữliệu được gọi là các điểm nút, các điểm nút liên kết với nhau giông như con trỏ.Danh sách liên kết là một cấu trúc dữ liệu bao gồm một tập các nút đứng cạnhnhư một chuỗi. Mỗi một nút bao gồm dữ liệu và một liên kết tới nút kết tiếp trong chuỗi.Cấu trúc này cho phép thêm hoặc xoá một cách hiệu quả các phẩn tử tại bất kỳ vị trí nàotrong chuỗi.Ví dụ:Hình 1: Một danh sách liên kết đơn, mỗi nút chứa hai trường: một giá trị nguyên và một liên kết tớinút tiếp theo.Danh sách liên kết là một trọng những cấu trúc dữ liệu đơn giản và phổ biến nhất.Chúng được sử dụng để thực hiện một số kiểu dữ liệu trừu tượng phổ biến khác nhưlists, stack, queues,... Tuy nhiên, nó rất ít được dùng để thực hiện các cấu trúc dữ liệukhác một cách trực tiếp nếu không sử dụng một danh sách như một sự thực thi cơ sở.Lợi thế chủ yếu của một danh sách liên kết so với một mảng thông thường làdanh sách các phẩn tử có thể dễ dàng được thêm hoặc xoá mà không cần thiết lập lại vịtrí hay cách tổ chức của toàn bộ cấu trúc bởi vì các thành phần dữ liệu không được lưutrữ kề nhau trong bộ nhớ, trong khi một mảng phải được khải báo trong mã nguồn trướckhi dịch và chạy chương trình. Danh sách liên kết cho phép chèn hoặc xoá các nút tạibất kỳ vị trí nào trong danh sách và có thể thực hiện như thế với một số thao tác nhấtđịnh nếu liên kết trước đó với liên kết được thêm vào hoặc xoá đi được duy trì.Danh sách liên kết ngay bản thân nó không cho phép truy cập một cách ngẫunhiên vào dữ liệu hoặc bất kỳ dạng chỉ số nào. Do đó, rất nhiểu thao tác cơ bản như lấyra nút cuối cùng của danh sách hay tìm kiểm một nút với điểu kiện nào đó hay thiết đặt1vị trí cho một nút mới… có thể cần phải duyệt hầu hết hoăc toàn bộ các phần tử trongdanh sách.2. Ưu điểm và nhược điểm2.1. Ưu điểm- Danh sách liên kết là một cấu trúc dữ liệu động, có thể tăng lên hoặc bớt đi, cấp pháthoặc thu hồi bộ nhớ trong khi chương trình đang chạy.- Thao tác chèn và xoá các nút được thực hiện một cách dễ dàng.- Các cấu trúc tuyến tính như Stacks và queues được thực thi một cách dễ dàng trongmột danh sách liên kết.- Chúng có thể giảm thời gian truy cập và có thể mở rộng theo thời gian thực mà khôngcần bộ nhớ bộ nhớ được chỉ định.2.2. Nhược điểm- Chúng có xu hướng sử dụng thêm bộ nhớ do con trỏ yêu cầu thêm không gian lưu trữ.- Các nút trong danh sách liên kết phải được đọc một cách thứ tự từ đầu danh sách .- Các nút lưu trữ không kề nhau, do đó làm tăng thời gian truy cập vào một phần tử đơnlẻ trong danh sách.- Khó khăn khi thực hiện duyệt ngược danh sách.- Bộ nhớ heap hạn chế.Chương 2: Các loại danh sách liên kết và các thuật ngữliên quan.1. Các loại danh sách liên kết1.1. Danh sách liên kết đơnDanh sách liên kết đơn bao gồm các phần tử có mối liên hệ với nhau. Mỗi phầntử đó là một nút, mỗi nút có một trường dữ liệu chứa thông tin và một trường liên kếchứa địa chỉ của nút kế tiếp trong danh sách hoặc lưu trữ giá trị Null nếu phần tử đó nằmcuối danh danh sách. Các thao tác có thể được thực hiện trên danh sách liên kết đơn baogồm thêm, xoá và duyệt nút.Ví dụ:Hình 2: Danh sách liên kết đơn, mỗi nút chứa hai trường: một giá trị nguyên và một liên kết tới núttiếp theo.1.2. Danh sách liên kết képDanh sách liên kết bao gồm các phần tử có mối liên hệ với nhau. Mỗi phần tử đólà một nút, mỗi nút có một trường dữ liệu chứa thông tin và hai trường liên kết chứa địachỉ của nút kế tiếp đứng trước và sau nó trong danh sách.Ví dụ:Hình 3: Danh sách liên kết kép, mỗi nút chứa ba trường: Một giá trị nguyên, một liên kết với nút đứngtrước và một liên kết với nút đứng sau.Rất nhiều hệ điều hành hiện nay sử dụng danh sách liên kết kép để duy trì cáctham số trong các tiến trình hoạt động, luồng và một số đối tượng động khác.1.3. Danh sách liên kết vòngDanh sách liên kết vòng là một danh sách đơn (hoặc kép) mà phần tử cuối danhsách thay vì mang giá trị Null, trỏ tới phần tử đầu danh sách.Ví dụ:HÌnh 4: Danh sách liên kết vòng2. Các thuật ngữ liên quan2.1. Nút giả (Dummy node)Nút giả là một nút được thiết kế để sử dụng trong danh sách liên kết và cây tạiđiểm kết thúc. Nó không chứa bất kỳ dữ liệu nào được quản lý bởi cấu trúc dữ liệu.Việc sử dụng có rất nhiểu ưu điểm nhu tăng tốc độ thao tác, giảm độ phức tạpcủa thuật toán và chiểu dài code, làm cấu trúc dữ liệu trở lên mạnh mẽ hơn.2.2. Danh sách trống (Empty lists)Danh sách trống là danh sách không chứa một bản ghi dữ liệu nào. khi nút giảđang được sử dụng, danh sách, danh sách được gọi là trống khi chỉ có nút giả.2.3. Trường liên kết (Hash linking)Trường liên kết không phải là một phần của nút. Nếu bản ghi dữ liệu được lưutrữ trong một mảng và được tham chiếu thông qua chỉ số thì trường liên kết có thể đượclưu trữ trong một mảng riêng với chỉ số giống như chỉ sổ của bản ghi dữ liệu.3. So sánh giữa các loại cấu trúc dữ liệu danh sách3.1. Danh sách liên kết và mảng độngMảng động là một cấu trúc dữ liệu cấp phát tất cả các phần tử liên tiếp trong bộnhớ và cố định số phần tử hiện tại. Nếu không gian hiện có cho mảng động bị đầy, nósẽ cấp phát lại và có thể sao chép các phần tử.Danh sách liên kết có một số ưu điểm hơn mảng động . chèn thêm hoặc xoá mộtphần tử tại một vị trí nào đó trong danh sách, giả sử chúng ta đã định chỉ số của con trỏtới nút đó (trước vị trị cần xoá hoặc cần chèn thêm) rồi, nó là một thao tác với thời giankhông đổi, trong khi việc chèn trong mảng động tại vị trí ngẫu nhiên sẽ yêu cầu di chuyểntrung bình một nửa số phần tử và tất cả các phần tử trong trường hợp xấu nhất. Trongkhi có thể xoá một phần tử từ một mảng trong thời gian không đổi bởi cách nào đó đánhdấu chỗ đó một chỗ trống, đây là nguyên nhân gây ra sự phân mảnh, nó sẽ cản trở việcthực hiện các vòng lặp.Ngoài ra, rất nhiểu phần tử được thêm vào trong một danh sách liên kết chỉ bịgiới hạn bởi tổng bộ nhớ khả dụng; trong khi một mảng động sẽ lấp đầy cấu trúc dữ liệumảng của nó và sẽ phải cấp phát lại, thậm trí là không thể cấp phát lại nếu bộ nhớ bịphân mảnh, mặc dù chi phí cấp phát lại lớn hơn việc chèn và chi phí chèn khi cấp phátlại sẽ được trừ dần O(1). Điểu này sẽ giúp việc gắn thêm phần tử tại cuối mảng, nhưngviệc chèn (hoặc xoá) vào vị trí giữa vẫn kéo theo những chi phí trái phép của dữ liệu dichuyển để duy trì. một mảng có nhiểu phẩn tử được xoá có thể được đưa trở lại kíchthước yêu cầu để tránh lãng phí quá nhiểu bộ nhớ.Mảng động (cũng như cấu trúc dữ liệu mảng cố định) cho phép truy cập ngẫunhiên với khoảng thời gian không đổi, trong khi danh sách liên kết chỉ cho phép truycập tuần tự các phần tử. Trong thực tế, danh sách liên kết đơn có thể dễ dàng được duyệtchỉ trong một đường, nên nó làm cho danh sách liên kết không phù hợp với các ứngdụng mà cần tìm kiếm các phần tử bằng chỉ số của nó nhanh chóng. Truy cập các mảnghay mảng động nhanh hơn danh sách liên kết trên nhiểu máy bởi vì chúng được tối ưuvị trí tham chiếu và như vậy rất hữu ích để giấu dữ liệu.Một nhược điểm của danh sách liên kết là bộ lưu trữ thêm cần thiết cho thamchiếu. cái đó thường làm cho chúng không thực tế cho danh sách các mục dữ liệu nhỏnhư ký tự hoặc giá trị boolean, bởi vì bộ lưu trữ cho các liên kết có thể vượt gấp nhiềulần dữ liệu. Ngược lại, một mảng động chỉ yêu cầu khoảng trống cho dữ liệu của nó (vàmột số lượng rất nhỏ dữ liệu điểu khiển). Nó có thể chậm và với một bộ cấp phát kémđể cấp phát bộ nhớ cho mỗi phần tử, một vấn chung được giải quyết việc sử dụng bể bộnhớ (memory pools).Một vài giải pháp biến thể cố kết hợp hai ưu điểm của hai loại danh sách này.Danh sách liên kết mở (Unrolled linked list) lưu trữ một số phần tử trong mỗi nút danhsách, tăng khả năng lưu trữ và giảm bộ nhớ chỉ định cho tham chiếu.3.2. Danh sách liên kết kép và đanh sách liên kết đơnDanh sách liên kết kép yêu cầu nhiểu không gian cho mỗi nút, các thao tác cơbản của chúng mất nhiều chi phí hơn. Nhưng chúng lại dễ dàng hơn để thao tác bằng taybởi vì chúng cho phép truy cập tuần tự nhanh và dễ dàng hơn từ tất cả các chiểu. Mộtdanh sách liên kết kép có thể chèn thêm hoặc xoá một nút trong một số thao tác nhấtđịnh nếu cho địa chỉ của nút. Để làm tương tự trong danh sách liên kết đơn, ta phải cóđịa chỉ của con trỏ tới nút đó, nó là chỉ dẫn cho toàn bộ danh sách (trong trường hợp nólà nút đầu tiên ) hoặc là trường liên kết trong nút trước. Một vài thuật toán yêu cầu truycập từ tất cả các chiểu. Mặt khác danh sách liên kết kép không cho phép chi sẻ đoạncuối danh sách (tail-sharing) và không thể được sử dụng như cấu trúc dữ liệu bền vững.3.3. Danh sách liên kết vòng và danh sách liên kết đơnMột danh sách liên kết vòng có thể được dùng để miêu tả một mảng như là vòngtròn trong thực tế, ví dụ: các góc của một đa giác, một bộ nhớ đệm được sử dụng và giảiphóng trong thứ tự FIFO (Fisrt In, First Out)… Trong các ứng dụng này, một con trỏ tớibất kỳ nút nào dùng làm chỉ dẫn tới toàn bộ danh sách.Với dánh sách liên kết vòng, một con trỏ tới nút cuối cùng cũng cho sự truy cậpdễ dàng như ở nút đầu tiên bằng một liên kết tiếp theo. Do vậy, trong ứng dụng yêu cầutruy cập từ tất các đầu của danh sách (ví dụ: thực hiện hàng đợi), một cấu trúc vòng chophép ta điểu khiển cấu trúc bởi một con trỏ duy nhất.Một danh sách vòng có thể được tách thành hai danh sách vòng trong khoảngthời gian cố định bằng việc cho biết địa chỉ của nút cuối cùng của mỗi vòng. Thao tácbao gồm trao đổi thông tin các trường liên kết của hai nút. Thực hiện thao tác tương tựvới bất kỳ hai nút trong hai danh sách riêng biệt, ghép hai danh sách đó thành một. Đặctính này rất đơn giản trong một số cấu trúc dữ liệu và giải thuật.Sự miêu tả đơn giản nhất cho một danh sách vòng trống là con trỏ null, nó chobiết rằng danh sách không có nút. Không có con trỏ null, rất nhiểu thuật toán phải kiểmtra trường hợp đặc biệt này và làm việc với nó theo cách khác. Ngược lại, sử dụng nullđể biểu thị danh sách đơn trống là tự nhiên hơn và xảy ra các trường hợp đặc biệt ít hơn.3.4. Danh sách liên kết đơn và danh danh sách khácTrong khi danh sách liên kết kép và danh sách liên kết vòng có những ưu điểmhơn danh sách liên kết đơn. Nhưng danh sách liên kết đơn cũng có những ưu điểm làmcho chúng thích hợp hơn trong một số trường hợp.Một danh sách liên kết đơn là một cấu trúc dữ liệu đệ quy, bởi vì nó chứa mộtcon trỏ tới một đối tượng nhỏ hơn cùng kiểu. Chính vì lý do đó, rất nhiểu thao tác trêndanh sách liên kết đơn (như ghép hai danh sách, liệt kê các phần tử trong đảo thứ tự)thường có những thuật toán đệ quy rất đơn giản, đơn giản hơn bất kỳ giải pháp nào sửdụng câu lệnh lặp. Trong khi những giải pháp đệ quy này có thể sửa lại cho phù hợp vớidanh sách liên kết kép và liên kết vòng, nhưng các thủ tục cần thêm những tham số vàcác trường hợp cơ bản phức tạp hơn.Danh sách liên kết đơn cũng cho phép chia sẻ đoạn cuối danh sách (tail-sharing),Cụ thể, nếu một nút được thêm vào tại vị trí bắt đầu danh sách, thì danh sách cũ vẫn duytrì như là đoạn cuối của danh sách mới.Chương 3: Các thao tác trên danh sách liên kếtTrong Java bạn được phép định nghĩa một class (B) bên trong một class (A) khác.Class A được gọi là outer class và class B được gọi là inner class. Mục đích của innerclass là được sử dụng bên trong như một class hỗ trợ. Dưới đây là LinkedList class vớiinner Node class.private static class Node<AnyType>{private AnyType data;private Node<AnyType> next;public Node(AnyType data, Node<AnyType> next){this.data = data;this.next = next;}}Một inner class là một thành viên của class chứa nó và có truy cập tới thành viênkhác của outer class. outer class có thể có một truy cập trực tiếp tới tất cả thành viêntrong inner class. Một inner class có thể được khai báo private, public, protected hoặcpackage private. Có hai kiểu inner class: static và non-static. Một static inner class khôngthể chuyển trực tiếp tới biến instance hoặc phương thức được định nghĩa bên trong outerclass của nó: Nó có thể sử dụng chúng qua đối tượng tham chiếu.Chúng ta thực thi LinkedList class với hai inner class: static Node class và nonstatic LinkedListIterator class.public Iterator<AnyType> iterator(){return new LinkedListIterator();}private class LinkedListIterator implements Iterator<AnyType>{private Node<AnyType> nextNode;public LinkedListIterator(){nextNode = head;}public boolean hasNext(){return nextNode != null;}public AnyType next(){if (!hasNext()) throw new NoSuchElementException();AnyType res = nextNode.data;nextNode = nextNode.next;return res;}public void remove() { throw new UnsupportedOperationException(); }}Giả sử ta có danh sách liên kết đơn và theo thứ tự mỗi bước thực hiện bên dưới.Danh sách đó được lưu trữ trạng thái khởi tạo của nó trước mỗi dòng thực thi.1). head = head.next;2). head.next = head.next.next;3). head.next.next.next.next=head;1. Thêm một nút vào đầu danh sáchPhương thức tạo một nút và thêm vào trước nút bắt đầu của danh sách.public void addFirst(AnyType item){head = new Node<AnyType>(item, head);}2. Duyệt danh sáchBắt đầu với head và truy cập mỗi nút cho đến khi đến điểm null. Không thay đổitham số head.Node tmp = head;while(tmp != null) tmp = tmp.next;3. Thêm một nút vào cuối danh sách.Tạo phương thức gắn nút mới vào điểm cuối danh sách. Việc này yêu cầu duyệtdanh sách nhưng phải đảm bảo rằng bạn dừng ở nút cuối cùng.public void addLast(AnyType item){if(head == null) addFirst(item);else{Node<AnyType> tmp = head;while(tmp.next != null) tmp = tmp.next;tmp.next = new Node<AnyType>(item, null);}}4. Chèn vào sau một nút trong danh sách.Tìm một nút chứa “key” và chèn một nút mới vào sau nút đó. Trong hình bêndưới, chúng ta chèn một nút mới sau “E”:public void insertAfter(AnyType key, AnyType toInsert){Node<AnyType> tmp = head;while(tmp != null && !tmp.data.equals(key)) tmp = tmp.next;if(tmp != null)tmp.next = new Node<AnyType>(toInsert, tmp.next);}5. Chèn vào trước một nút trong danh sáchTìm một nút chứa “key” và chèn một nút mới vào trước nút đó. Trong hình bêndưới, chúng ta chèn một nút mới sau “A”:Để thuận tiện hơn, chúng ta duy trì hai tham số prev và cur. Khi chúng ta duyệtdọc danh sách chúng ta cũng di chuyển hai tham số này, giữ prev trước một bước so vớicur. Chúng ta cứ duyệt cho đến khi cur trạm đến nút trước nút chúng ta cần chèn. Nếucur trạm đến null, chúng ta không chèn mà chúng ta chỉ chèn một nút mới ở giữa prevvà cur.public void insertBefore(AnyType key, AnyType toInsert){if(head == null) return null;if(head.data.equals(key)){addFirst(toInsert);return;}Node<AnyType> prev = null;Node<AnyType> cur = head;while(cur != null && !cur.data.equals(key)){prev = cur;cur = cur.next;}if(cur != null) prev.next = new Node<AnyType>(toInsert, cur);}6. Xóa một nút trong danh sáchTìm một nút chứa “key” và xóa nó. Trong hình bên dưới chúng ta xóa một nútchứa “A”:Thuật toán xóa một nút cũng tương tự như thuật toán chèn vào trước một núttrong danh sách. Chúng ta sử hai tham số prev và cur. Khi chúng ta duyệt dọc theo danhsách chúng ta cũng di chuyển hai tham số này sao cho tham số prev trước một bước sovới cur. Chúng ta duyệt danh sách cho đến khi tham số cur trạm đến nút muốn xóa. Có3 trường hợp ngoại lệ cần lưu ý:1). Danh sách trống2). Xóa nút đầu tiên3). Nút không tồn tại trong danh sáchpublic void remove(AnyType key){if(head == null) throw new RuntimeException("cannot delete");if( head.data.equals(key) ){head = head.next;return;}Node<AnyType> cur = head;Node<AnyType> prev = null;while(cur != null && !cur.data.equals(key) ){prev = cur;cur = cur.next;}if(cur == null) throw new RuntimeException("cannot delete");prev.next = cur.next;}Chương 4: Xây dựng chương trình sử dụng danh sách liênkết bằng javaKẾT LUẬNSau khi tìm hiểu về danh sách liên kết, em đã học được cách thêm, duyệt, chènvà xóa một nút vào danh sách. Những thao tác này rất hữu ích trong rất nhiều ứng dụngthực tế. Ví dụ như ứng dụng Microsoft Powerpoint, có thể coi một bài thuyết trìnhpowerpoint như một danh sách, mỗi một nút là một slide. Trong quá trình tạo và quảnlý slide cũng chính là sử dụng các thao tác chèn hoặc xóa các nút trong danh sách liênkết. Có rất nhiểu ứng dụng yêu cầu chúng ta trừu tượng các vấn đề như một danh sách.Danh sách liên kết là là một trong những cấu trúc dữ liệu được sử dụng rộng rãitrong các chương trình ứng dụng. Có các cấu trúc dữ liệu danh sách liên kết nâng caokhác mà em cần tìm hiểu như mảng danh sách liên kết, danh sách liên kết trong danhsách liên kết hay danh sách đa liên kết. Các cấu trúc này được sử dụng để thực hiện cácứng dụng yêu cầu cấu trúc dữ liệu phức tạp.TÀI LIỆU THAM KHẢO[1] Michiel T.Goodrich, Roberto Tamassia, Michael H.Goldwasser, “Data Structuresand algorithms.”[2] Linked Lists, “www.cs.cmu.edu/ ~adamchik/15- 121/lectures/Linked%20Lists/linked%20lists.html”.[3] Linked List Basics, “www.cslibrary.stanford.edu/103/LinkedListBasics.pdf”.

Tài liệu liên quan

  • Danh sách liên kết Danh sách liên kết
    • 4
    • 670
    • 9
  • ĐOẠN CODE danh sách liên kết ĐOẠN CODE danh sách liên kết
    • 1
    • 876
    • 5
  • Các thuật toán trên cấu trúc, danh sách liên kết Các thuật toán trên cấu trúc, danh sách liên kết
    • 8
    • 782
    • 2
  • Cấu trúc danh sách liên kết Cấu trúc danh sách liên kết
    • 61
    • 912
    • 5
  • Các thuật toán trên cấu trúc danh sách liên kết (Linked list) Các thuật toán trên cấu trúc danh sách liên kết (Linked list)
    • 8
    • 807
    • 5
  •  Tài liệu hướng dẫn thực hành môn Cấu trúc dữ liệu và giải thuật HCMUS 2010  DANH SÁCH LIÊN KẾT Tài liệu hướng dẫn thực hành môn Cấu trúc dữ liệu và giải thuật HCMUS 2010 DANH SÁCH LIÊN KẾT
    • 5
    • 1
    • 21
  • Đồ án Đồ án " Bài toán Quản lý sinh viên bằng danh sách liên kết đơn " pdf
    • 45
    • 8
    • 76
  • Chương 9: Danh sách liên kết pdf Chương 9: Danh sách liên kết pdf
    • 7
    • 523
    • 2
  • Danh sách liên kết Danh sách liên kết
    • 20
    • 468
    • 0
  • Danh sách liên kết đôi doc Danh sách liên kết đôi doc
    • 12
    • 966
    • 9

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

(422.73 KB - 18 trang) - đề tài danh sách liên kết Tải bản đầy đủ ngay ×

Từ khóa » Danh Sách Liên Kết Hướng đối Tượng