Giáo trình Cấu trúc dữ liệu 2: Phần 2 - Trương Hải Bằng (biên soạn)
Số trang: 60
Loại file: pdf
Dung lượng: 1.36 MB
Lượt xem: 18
Lượt tải: 0
Xem trước 6 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Phần 2 Giáo trình Cấu trúc dữ liệu 2 do tác giả Trương Hải Bằng biên soạn tiếp tục giới thiệu đến bạn đọc các nội dung tiếp theo về chương 3 và chương 4. Theo đó, chương 3 giới thiệu đến bạn đọc nội dung về cây đỏ đen, chương 4 giới thiệu về B-tree và bộ nhớ ngoài. Giáo trình trình bày kết hợp giữa nội dung và hình vẽ minh họa với sau mỗi chương đều có tóm tắt từng chương giúp cho các bạn sinh viên ngành Công nghệ thông tin và bạn đọc dễ dàng nghiên cứu và học tập.
Nội dung trích xuất từ tài liệu:
Giáo trình Cấu trúc dữ liệu 2: Phần 2 - Trương Hải Bằng (biên soạn) Chúng ta khảo sát một cách giải quyết vấn đề của cây không cân 3 bằng: đó là cây đỏ đen, là cây tìm kiếm nhị phân có thêm một vài CHƯƠNG 3 – CÂY ĐỎ ĐEN đặc điểm . Có nhiều cách tiếp cận khác để bảo đảm cho cây cân bằng: chẳng hạn cây 2-3-4. Tuy vậy, trong phần lớn trường hợp, cây đỏ đen là cây cân bằng hiệu quả nhất, ít ra thì khi dữ liệu được lưu trữ trong1. GIỚI THIỆU bộ nhớ chứ không phải trong những tập tin. Trước khi khảo sát cây đỏ đen, hãy xem lại cây không cân bằngCây tìm kiếm nhị phân thông thường có những thuận lợi lớn về mặt được tạo ra như thế nào.lưu trữ và truy xuất dữ liệu trong phép toán tìm kiếm thêm vào hayloại bỏ một phần tử. Do đó, cây tìm kiếm nhị phân xem ra là một Những node này tự sắp xếp thành một đường không phân nhánh.cấu trúc lưu trữ dữ liệu tốt. Bởi vì mỗi node lớn hơn node đã được chèn vào trước đó, mỗi node là con phải. Khi ấy, cây bị mất cân bằng hoàn toàn. Nếu ta chènTuy nhiên trong một số trường hợp cây tìm kiếm nhị phân có một số những mục (item) theo thứ tự giảm dần, mỗi node sẽ là con trái củahạn chế. Nó hoạt động tốt nếu dữ liệu được chèn vào cây theo thứ tự node cha của chúng - cây sẽ bị mất cân bằng về phía bên kia.ngẫu nhiên. Tuy nhiên, nếu dữ liệu được chèn vào theo thứ tự đãđược sắp xếp sẽ không hiệu quả. Khi các trị số cần chèn đã được sắp Độ phức tạp:xếp thì cây nhị phân trở nên không cân bằng. Khi cây không cânbằng, nó mất đi khả năng tìm kiếm nhanh (hoặc chèn hoặc xóa) một Khi cây một nhánh, sẽ trở thành một danh sách liên kết, dữ liệu sẽ làphần tử đã cho. một chiều thay vì hai chiều. Trong trường hợp này, thời gian truy xuất giảm về O(N), thay vì O(logN) đối với cây cân bằng. Để bảo đảm thời gian truy xuất nhanh O(logN) của cây, chúng ta cần phải bảo đảm cây luôn luôn cân bằng (ít ra cũng là cây gần cân bằng). Điều này có nghĩa là mỗi node trên cây phải có xấp xỉ số node con bên phải bằng số node con bên trái. Một cách tiếp cận giải quyết vấn đề cân bằng lại cây: đó là cây đỏ đen-là cây tìm kiếm nhị phân được bổ sung một số đặc điểm. Trong cây đỏ đen, việc cân bằng được thực thi trong khi chèn, xóa. Khi thêm một phần tử thì thủ tục chèn sẽ kiểm tra xem tính chất cân bằng của cây có bị vi phạm hay không. Nếu có, sẽ xây dựng lại cấu trúc cây. Bằng cách này, cây luôn luôn được giữ cân bằng. Hình 3.1 Các node được chèn theo thứ tự tăng dần 125 1262. ĐỊNH NGHĨA CÂY ĐỎ ĐEN Thời gian tìm kiếm: O( log n )Cây đỏ đen là một cây nhị phân tìm kiếm( BST) tuân thủ các quy tắc 3. PHÉP QUAYsau: (hình 3.2)Mọi node phải là đỏ hoặc đen. Để cân bằng cây, cần phải tái sắp xếp node về mặt vật lý. Nếu tất cả các node nằm bên trái node gốc, ta cần phải di chuyển một vài nodeNode gốc và các node lá phải luôn luôn đen. qua bên phải. Điều này làm được nhờ các phép quay. Trong phầnNếu một node là đỏ, những node con của nó phải đen. này, chúng ta sẽ học phép quay là gì và ...
Nội dung trích xuất từ tài liệu:
Giáo trình Cấu trúc dữ liệu 2: Phần 2 - Trương Hải Bằng (biên soạn) Chúng ta khảo sát một cách giải quyết vấn đề của cây không cân 3 bằng: đó là cây đỏ đen, là cây tìm kiếm nhị phân có thêm một vài CHƯƠNG 3 – CÂY ĐỎ ĐEN đặc điểm . Có nhiều cách tiếp cận khác để bảo đảm cho cây cân bằng: chẳng hạn cây 2-3-4. Tuy vậy, trong phần lớn trường hợp, cây đỏ đen là cây cân bằng hiệu quả nhất, ít ra thì khi dữ liệu được lưu trữ trong1. GIỚI THIỆU bộ nhớ chứ không phải trong những tập tin. Trước khi khảo sát cây đỏ đen, hãy xem lại cây không cân bằngCây tìm kiếm nhị phân thông thường có những thuận lợi lớn về mặt được tạo ra như thế nào.lưu trữ và truy xuất dữ liệu trong phép toán tìm kiếm thêm vào hayloại bỏ một phần tử. Do đó, cây tìm kiếm nhị phân xem ra là một Những node này tự sắp xếp thành một đường không phân nhánh.cấu trúc lưu trữ dữ liệu tốt. Bởi vì mỗi node lớn hơn node đã được chèn vào trước đó, mỗi node là con phải. Khi ấy, cây bị mất cân bằng hoàn toàn. Nếu ta chènTuy nhiên trong một số trường hợp cây tìm kiếm nhị phân có một số những mục (item) theo thứ tự giảm dần, mỗi node sẽ là con trái củahạn chế. Nó hoạt động tốt nếu dữ liệu được chèn vào cây theo thứ tự node cha của chúng - cây sẽ bị mất cân bằng về phía bên kia.ngẫu nhiên. Tuy nhiên, nếu dữ liệu được chèn vào theo thứ tự đãđược sắp xếp sẽ không hiệu quả. Khi các trị số cần chèn đã được sắp Độ phức tạp:xếp thì cây nhị phân trở nên không cân bằng. Khi cây không cânbằng, nó mất đi khả năng tìm kiếm nhanh (hoặc chèn hoặc xóa) một Khi cây một nhánh, sẽ trở thành một danh sách liên kết, dữ liệu sẽ làphần tử đã cho. một chiều thay vì hai chiều. Trong trường hợp này, thời gian truy xuất giảm về O(N), thay vì O(logN) đối với cây cân bằng. Để bảo đảm thời gian truy xuất nhanh O(logN) của cây, chúng ta cần phải bảo đảm cây luôn luôn cân bằng (ít ra cũng là cây gần cân bằng). Điều này có nghĩa là mỗi node trên cây phải có xấp xỉ số node con bên phải bằng số node con bên trái. Một cách tiếp cận giải quyết vấn đề cân bằng lại cây: đó là cây đỏ đen-là cây tìm kiếm nhị phân được bổ sung một số đặc điểm. Trong cây đỏ đen, việc cân bằng được thực thi trong khi chèn, xóa. Khi thêm một phần tử thì thủ tục chèn sẽ kiểm tra xem tính chất cân bằng của cây có bị vi phạm hay không. Nếu có, sẽ xây dựng lại cấu trúc cây. Bằng cách này, cây luôn luôn được giữ cân bằng. Hình 3.1 Các node được chèn theo thứ tự tăng dần 125 1262. ĐỊNH NGHĨA CÂY ĐỎ ĐEN Thời gian tìm kiếm: O( log n )Cây đỏ đen là một cây nhị phân tìm kiếm( BST) tuân thủ các quy tắc 3. PHÉP QUAYsau: (hình 3.2)Mọi node phải là đỏ hoặc đen. Để cân bằng cây, cần phải tái sắp xếp node về mặt vật lý. Nếu tất cả các node nằm bên trái node gốc, ta cần phải di chuyển một vài nodeNode gốc và các node lá phải luôn luôn đen. qua bên phải. Điều này làm được nhờ các phép quay. Trong phầnNếu một node là đỏ, những node con của nó phải đen. này, chúng ta sẽ học phép quay là gì và ...
Tìm kiếm theo từ khóa liên quan:
Giáo trình Cấu trúc dữ liệu Cấu trúc dữ liệu Cơ sở dữ liệu Cây đỏ đen Bộ nhớ ngoài Công nghệ thông tinGợi ý tài liệu liên quan:
-
52 trang 411 1 0
-
62 trang 390 3 0
-
Đề thi kết thúc học phần học kì 2 môn Cơ sở dữ liệu năm 2019-2020 có đáp án - Trường ĐH Đồng Tháp
5 trang 371 6 0 -
Đề 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 302 0 0 -
Top 10 mẹo 'đơn giản nhưng hữu ích' trong nhiếp ảnh
11 trang 291 0 0 -
Báo cáo thực tập thực tế: Nghiên cứu và xây dựng website bằng Wordpress
24 trang 286 0 0 -
Giáo trình Cơ sở dữ liệu: Phần 2 - TS. Nguyễn Hoàng Sơn
158 trang 282 0 0 -
96 trang 275 0 0
-
74 trang 275 0 0
-
13 trang 273 0 0