Trang 1 / 2 12 LastLast
Hiển thị kết quả từ 1 đến 10 / 16
  1. #1
    Tham gia
    28-05-2007
    Location
    Biên Hoà
    Bài viết
    102
    Like
    0
    Thanked 0 Times in 0 Posts

    Danh sách liên kết.

    Nghe nói học đại học là sẽ học về "danh sách liên kết" bác nào biết chỉ cho em biết đôi chút về nó với?
    Quote Quote

  2. #2
    Tham gia
    17-10-2007
    Location
    Hà Nội
    Bài viết
    758
    Like
    0
    Thanked 8 Times in 7 Posts
    Khi dùng mảng, do có một số nhược điểm: số phần tử được định trước, khó khăn trong việc thêm và xóa phần tử nên người ta đã nghĩ ra việc dùng danh sách liên kết:
    - Danh sách liên kết sử dụng bộ nhớ động (heap)
    - Mỗi phần tử của danh sách liên kết gồm có một phần chứa địa chỉ dữ liệu và một phần để lưu trữ địa chỉ của phần tử tiếp theo. Phần tử cuối chỉ vào rỗng
    Có gì thiếu sót mong các bạn góp ý

  3. #3
    Tham gia
    21-08-2007
    Location
    Sài Gòn hoa lệ
    Bài viết
    2,164
    Like
    0
    Thanked 2 Times in 2 Posts
    Nhiều lắm bác: danh sách liên kết đơn, danh sách liên kết đôi, danh sách liên kết vòng v.v... Mời bác xem thêm:
    http://en.wikipedia.org/wiki/Linked_list
    Được sửa bởi meotrang7x lúc 08:44 ngày 30-12-2007 Reason: Sai chính tả

  4. #4
    Tham gia
    14-10-2004
    Bài viết
    9
    Like
    0
    Thanked 0 Times in 0 Posts

    Thông tin

    Quote Được gửi bởi mr_invincible View Post
    Khi dùng mảng, do có một số nhược điểm: số phần tử được định trước, khó khăn trong việc thêm và xóa phần tử nên người ta đã nghĩ ra việc dùng danh sách liên kết:
    - Danh sách liên kết sử dụng bộ nhớ động (heap)
    - Mỗi phần tử của danh sách liên kết gồm có một phần chứa địa chỉ dữ liệu và một phần để lưu trữ địa chỉ của phần tử tiếp theo. Phần tử cuối chỉ vào rỗng
    Có gì thiếu sót mong các bạn góp ý
    Nói mảng & danh sách liên kết đều có những ưu điểm và nhược điểm, tùy từng trường hợp cụ thể và ta sử dụng loại cấu trúc dữ liệu nào cho chính xác.
    Mảng: Dùng để lưu trữ danh sách các phần tử (lưu liền kề nhau) cùng kiểu.
    -Ưu điểm:
    + Dễ cài đặt và truy nhập các phần tử dữ liệu
    + Tốc độ truy nhập đến một vị trí bất kỳ trên mảng nhanh, hiệu quả
    -Nhược điểm:
    + Cần phải xác định trước số phần tử mảng trước khi sử dụng(kể cả mảng động)==>không phù hợp với các bài toán chưa biết trước số lượng các phần tử.
    + Khó khăn trong các thao tác chèn và xóa một phần tử bất kỳ trong mảng. Nếu bài toán mà việc chèn phần tử và xóa phần tử diễn ra liên tục==>tốc độ xử lý sẽ rất chậm.
    Danh sách liên kết:Cũng như mảng, danh sách liên kết(DSLK) dùng để lưu trữ danh sách các phần tử. Tuy nhiên cách lưu trữ của DSLK khác hẳn với mảng.Với danh sách liên kết, các phần tử ngoài phần dữ liệu, nó còn lưu trữ các địa chỉ mà các phần tử có quan hệ với nó (nhờ các địa chỉ này mà ta có thể tìm được các phần tử khác nhau trong DS).
    DSLK có rất nhiều loại, tuy nhiê chung quy lại nó chỉ có 2 loại cơ bản: Danh sách đơn liên kết và danh sách đa liêu kết.
    Ưu điểm:
    + Do DSLK dùng tới đâu thì cấp phát tới đó==> phù hợp với các bài toán mà các phần tử chưa xác định trước.
    + Dễ dàng trong việc xóa, chèn các phần tử trong DS(chỉ cần thay đổi lại các địa chỉ của các phần tử có quan hệ với nó cho phù hợp là được).
    Nhược điểm:
    + Khó cài đặt và truy nhập đến các phần tử trong DS.
    + Tốc độ truy nhập của danh sách chậm ==> do đó người ta thường dùng các cây quyết định để phục vụ cho việc tìm kiếm trong DS(cây nhị phân tìm kiếm...)

  5. #5
    Tham gia
    28-06-2008
    Bài viết
    2
    Like
    0
    Thanked 0 Times in 0 Posts
    Mình mới nhận đề tài là dùng đồ họa C minh họa giải thuật danh sách liên kếtđơn vòng!các bạn júp mình nhá! mính mới học nên chưa bít đc n` cần tham khảovới lại time ko còn n`cho việc nghiên cúu! júp nhá~!0_+! thanks

  6. #6
    Tham gia
    01-11-2008
    Bài viết
    19
    Like
    0
    Thanked 0 Times in 0 Posts
    đây là 1 ví dụ về DSLK đơn [C++] :
    #include <iostream.h>

    typedef struct Cell* List;
    struct Cell
    {
    int key;
    List head,next;
    };

    void Constructor(Cell &c)
    {
    c.head = &c;
    c.key = NULL;
    c.next = NULL;
    }

    void Constructor(List x)
    {
    x->head = x;
    x->key = NULL;
    x->next = NULL;
    }

    void Insert(Cell &c, int n)
    {
    c.head->key=n;
    List x = new Cell;
    Constructor(c);
    x->next = c.head;
    c.head = x;
    }
    void Print (Cell c)
    {
    for (List x = c.head->next; x != NULL; x = x->next)
    cout << x->key << " " ;
    cout << endl;
    }
    int main()
    {
    Cell c;
    Constructor(c);
    cout << " Nhap so phan tu : ";
    int n;
    cin >> n;
    cout << " Nhap gia tu tung phan tu : ";
    for (int i = 1; i <= n; i++)
    {
    int k;
    cin >> k;
    Insert(c,k);
    }
    cout << " Out put : ";
    Print(c);
    cout << endl;

    return 0;
    }
    ////////////////////////////////
    mở Visual C++ lên chạy thử coi sao bạn nhé !

  7. #7
    Tham gia
    28-06-2008
    Bài viết
    2
    Like
    0
    Thanked 0 Times in 0 Posts
    cám ơn n` n` lắm! 0_+! hì!

  8. #8
    Tham gia
    15-11-2008
    Bài viết
    7
    Like
    0
    Thanked 0 Times in 0 Posts
    bạn ơi! bạn có thể hướng dẫn mình cài một đa thức bằng danh sách liên kết theo kiểu lập trình hướnmg đối tượng không.

  9. #9
    Tham gia
    10-04-2009
    Bài viết
    5
    Like
    0
    Thanked 0 Times in 0 Posts
    tớ thử test bài cua cậu rồi mặc dù không có lỗi xong phần output chưa đáp ứng.chưa đưa ra được danh sách,cậu kiểm tra lại xem nhé!

    [=========> Bổ sung bài viết <=========]

    có bạn nào biết về cài đặt suy diễn tiến không chỉ dùm mình với gần đây cô mình có cho bài tập lớn về nhà nhưng mình chưa có phương thức xử lý vẫn còn loay hoay phần khai báo.tớ còn phải vận dụng từ thuật toán vào để cài đặt ứng dụng cho bài này.bạn nào biết chỉ giùm mình với,thanks!
    Được sửa bởi thehaicitd lúc 07:43 ngày 09-07-2009 Reason: Bổ sung bài viết

  10. #10
    Tham gia
    05-05-2009
    Bài viết
    21
    Like
    0
    Thanked 0 Times in 0 Posts
    Bạn hỏi về DSLK trong lập trình hướng đối tượng theo mình biết có một cách là bạn đọc trong cuốn Lập trình Hướng đối tượng của GS.Phạm văn Ất ấy.Dễ hiểu,dễ học và có nhiều ví dụ hay...

Trang 1 / 2 12 LastLast

Bookmarks

Quy định

  • Bạn không thể tạo chủ đề mới
  • Bạn không thể trả lời bài viết
  • Bạn không thể gửi file đính kèm
  • Bạn không thể sửa bài viết của mình
  •