...
ngtuananh_vn@yahoo
.com
8
Ví dụ tạo danhsáchliênkếtđơncác
số nguyên
typedef struct Node {
int infor;
Node * next;
};
Node *L;
ngtuananh_vn@yahoo
.com
2
Danh sáchliênkết đơn
ngtuananh_vn@yahoo
.com
35
3. ...
ngtuananh_vn@yahoo
.com
5
infor Next
Dữ liệu
Trường liênkết
L
3
Next
7
Next
8
DANH SÁCHLIÊNKẾT ĐƠN
ngtuananh_vn@yahoo
.com
50
TH2: Xóa nút p ở giữa danh sách
2
F
5
L
3
P
4 NIL
q
1. q->next = p->next
2. ... ^next;
End;
Khai báo một con trỏ L
Node * L;
ngtuananh_vn@yahoo
.com
9
Ví dụ tạo danhsáchliênkếtđơncác
sinh viên
typedef struct sinhvien {
char ht[25];
int namsinh;
Node * next;
};
Sinhvien...
...
sau nó trong danh sách.
- Danhsáchliênkết vòng: phần tử cuối danhsáchliênkết với phần tử đầu danh
sách.
1.3. Danhsáchliênkết đơn.
1.3.1. Khái niệm.
Danh sáchliênkếtđơn là một cấu ... danhsáchliênkết gồm có nhiều loại khác
nhau:
- Danhsáchliênkết đơn: mỗi phần tử liênkết với phần tử đứng sau nó trong danh
sách.
- Danhsáchliênkết đôi/kép: mỗi phần tử liênkết với các ... bằng danhsáchliênkết đơn
CHƯƠNG 1: CƠ SỞ LÝTHUYẾT
1. Tổng quan về danhsáchliên kết
1.1. Định nghĩa
Danh sáchliênkết là danhsách mà các phần tử ( Node) liênkết với nhau nhờ
vào vùng liên...
... n của danh sá ch liê n kế t, và Last
trỏ đế n phầ n tử cuối của danh sá ch liê n kế t.
struct Linked_List;
{ First NODEPTR;
Last NODEPTR;
};
II. Các phép toán trên danhsáchliên kết
: ...
CHƯƠNG 5 CáC THUậT TOáN TRÊN CấU TRúC
DANHSáCHLIÊNKếT (LINKED LIST)
I. Khái niệm:
Cấ u trúc danh sá ch liê n kế t là cấ u trúc động, việ c cấ p phá t nút và giả i
phóng nút trê n danh sá ...
}
II.3. Duyệ t danh sách
: Thông thường ta hay duyệ t danh sá ch liê n kế t để thực
hiệ n một công việ c gì đó, như liệ t kê dữ liệ u trong danh sá ch hay đế m số nút
trong danh sá ch
void...
... n của danh sá ch liê n kế t, và Last
trỏ đế n phầ n tử cuối của danh sá ch liê n kế t.
struct Linked_List;
{ First NODEPTR;
Last NODEPTR;
};
II. Các phép toán trên danhsáchliên kết
: ...
}
II.3. Duyệ t danh sách
: Thông thường ta hay duyệ t danh sá ch liê n kế t để thực
hiệ n một công việ c gì đó, như liệ t kê dữ liệ u trong danh sá ch hay đế m số nút
trong danh sá ch
void ... kế t nà y lạ i sao cho danh sá ch liê n kế t
sau khi trộn cũng có thứ tự tă ng dầ n.
Kỹ thuật lập trì nh
97
CHƯƠNG 5 CáC THUậT TOáN TRÊN CấU TRúC
DANHSáCHLIÊNKếT (LINKED LIST)
I....
... n của danh sá ch liê n kế t, và Last
trỏ đế n phầ n tử cuối của danh sá ch liê n kế t.
struct Linked_List;
{ First NODEPTR;
Last NODEPTR;
};
II. Các phép toán trên danhsáchliên kết
: ...
CHƯƠNG 5 CáC THUậT TOáN TRÊN CấU TRúC
DANHSáCHLIÊNKếT (LINKED LIST)
I. Khái niệm:
Cấ u trúc danh sá ch liê n kế t là cấ u trúc động, việ c cấ p phá t nút và giả i
phóng nút trê n danh sá ...
}
II.3. Duyệ t danh sách
: Thông thường ta hay duyệ t danh sá ch liê n kế t để thực
hiệ n một công việ c gì đó, như liệ t kê dữ liệ u trong danh sá ch hay đế m số nút
trong danh sá ch
void...
... 6: Danhsáchliên kết
Giới thiệu - Danhsáchliên kết
11
Danh sáchliênkết vòng : phần tử cuối danhsáchliênkết
với phần tử đầu danh sách:
A B X Z Y
A B C D
Chương 6: Danhsáchliên kết
DSLK ... new_node vào đầu danh sách
38
Chương 6: Danhsáchliên kết
Nội dung
Giới thiệu
Danh sáchliênkếtđơn (Single Linked List)
Danh sáchliênkết đôi (Double Linked List)
Danh sáchliênkết vòng ... Danhsáchliên kết
DSLK đơn – Các thao tác cơ sở
Xóa một node của danh sách
Xóa node đầu danh sách
Xóa node sau node q trong danh sách
Xóa node có khoá k
50
Chương 6: Danhsáchliên kết
DSLK...
... Danhsáchliênkết (Linked List)
1.Khái niệm: Danhsáchliênkết (linked list) là một cấu trúc dữ liệu bao gồm một nhóm các nút (nodes) tao
thành một chuỗi. ... tính.
•
Dễ dàng thêm hoặc xóa các phần tử trong danhsách mà không cần phải cấp phát hoặc tổ chức lại trật
tự của mảng.
•
Cấp phát bộ nhớ động
Nhược điểm:
•
Một danhsáchliênkếtđơn giản không cho phép ... một số phép tính như tìm phần tử cuối cùng, xóa phần tử ngẫu nhiên hay chèn
thêm, tìm kiếm có thể phải duyệt tất cả các phần tử.
Phân loại:
•
Danh sách tuyến tính (Linear list):
•
Danh sách...
...
Hình 18.5 – Danhsáchliênkết gián tiếp.
Chương 18 – Ứng dụng danhsáchliênkết và bảng băm
Giáo trình Cấu trúc dữ liệu và Giải thuật
401
Chương 18 –
ỨNG DỤNG DANHSÁCHLIÊNKẾT VÀ
BẢNG ... tăng 100% do phải chứa thêm các con trỏ liênkết trong cácdanh
sách liên kết. Tuy nhiên, bản thân bảng băm nối kết sẽ có kích thước rất nhỏ mà
vẫn có thể chứa số bản ghi lớn gấp nhiều lần ... cần một danhsáchcác ô sống như là thành phần dữ liệu thứ
hai của một cấu hình Life. Các đối tượng được lưu trong danhsách và bảng băm
của cấu hình Life cùng chứa thông tin về các ô sống, nhưng...
... 1;
}
}
Cấu trúc danhsáchliênkết III.7
III.2. Danhsáchliênkết (DSLK)
III.2.1. Định nghĩa danh sách
Cho kiểu dữ liệu T. Kiểu dữ liệu danhsách TL gồm các phần tử thuộc kiểu ... tượng vào danh sách, hủy
m
ột đối tượng khỏi danh sách, sắp xếp danhsách theo một quan hệ thứ tự nào đó,
…
III.2.2. Các cách tổ chức danh sách
Có hai cách chính để tổ chức danhsách tùy ... việc
truy xuất đến các phần tử của danhsách là tuần tự, nên một số thuật tốn trên danh
sách được cài đặt theo ki
ểu liênkết sẽ bị chậm hơn.
Cấu trúc danhsáchliênkết III.50
new_ele...