Chuyên Mục: Cấu trúc dữ liệu và giải thuật

Công Thức Tính Diện Tích Hình Hộp Chữ Nhật, Thể Tích Hình Hộp Chữ Nhật

Công Thức Tính Diện Tích Hình Hộp Chữ Nhật, Thể Tích Hình Hộp Chữ Nhật

Hình hộp chữ nhật là một hình không gian có 6 mặt đều là hình chữ nhật với 8 đỉnh và 12 cạnh. Hai mặt của hình hộp song song cùng nhau được coi là các mặt đối diện. Như vậy 6 mặt của hình hộp được chia làm 3 cặp mặt đối diện (trong

Giải Thuật Định Lý Thợ (Master Theorem)

Giải Thuật Định Lý Thợ (Master Theorem)

Giải thuật Định lý thợ (Master Theorem) là gì? Chúng ta sử dụng Định lý thợ (Master Theorem) để giải các công thức đệ quy dạng sau 1 cách hiệu quả: T(n) =aT(n/b) + c.n^k trong đó a> =1 , b> 1 Bài toán ban đầu được chia làm a bài toán con có kích

Giải Thuật Sắp Xếp Chọn (Selection Sort)

Giải Thuật Sắp Xếp Chọn (Selection Sort)

Giải thuật bố trí chọn (Selection Sort) là gì? Giải thuật sắp xếp chọn (Selection Sort) là một giải thuật đơn giản. Giải thuật bố trí này là một giải thuật dựa theo việc so sánh in-place, trong đó danh sách được chia làm hai phần, phần được sắp xếp (sorted list) ở bên trái

Cấu Trúc Dữ Liệu Ngăn Xếp (Stack)

Cấu Trúc Dữ Liệu Ngăn Xếp (Stack)

Ngăn xếp (Stack) là gì? Một ngăn xếp là một cấu trúc dữ liệu trừu tượng (Abstract Data Type – viết tắt là ADT), hầu như được dùng trong tất cả mọi ngôn ngữ lập trình. Đặt tên là ngăn xếp bởi vì nó hoạt động như một ngăn xếp trong đời sống thực, ví

Cấu Trúc Dữ Liệu Danh Sách Liên Kết đôi

Cấu Trúc Dữ Liệu Danh Sách Liên Kết đôi

Danh sách liên kết đôi (Doubly Linked List) là gì? Danh sách liên kết đôi (Doubly Linked List) là một biến thể của Danh sách liên kết (Linked List), trong đấy hoạt động duyệt qua các nút cũng có thể được thực hành theo hai chiều: về trước và về sau 1 cách dễ dàng

Cấu Trúc Dữ Liệu Mảng

Cấu Trúc Dữ Liệu Mảng

Mảng (Array) là một trong số cấu trúc dữ liệu cũ và quan trọng nhất. Mảng cũng có thể có thể lưu trữ một số phần tử cố định và các phần tử này nền có cùng kiểu. Hầu hết các cấu trúc dữ liệu đều sử dụng mảng để tiến hành giải thuật. Dưới

Khái Niệm Cơ Bản Về đệ Qui (Recursion)

Khái Niệm Cơ Bản Về đệ Qui (Recursion)

Đệ qui (Recursion) là gì? Một số ngôn ngữ lập trình cấp phép việc một module hoặc một hàm được gọi tới chính nó. Kỹ thuật này được gọi là Đệ qui (Recursion). Trong đệ qui, một hàm a có thể: gọi trực diện chính hàm a này hoặc gọi một hàm b mà trả

Cấu Trúc Dữ Liệu Hash Table

Cấu Trúc Dữ Liệu Hash Table

Hash Table là gì? Cấu trúc dữ liệu Hash Table là một cấu trúc dữ liệu lưu giữ dữ liệu theo phương pháp liên hợp. Trong Hash Table, dữ liệu được lưu trữ trong định hình mảng, trong đó các giá trị dữ liệu có giá trị chỉ mục riêng. Việc truy cập dữ liệu

Giải Thuật Tìm Kiếm Theo Chiều Sâu

Giải Thuật Tìm Kiếm Theo Chiều Sâu

Giải thuật kiếm tìm theo chiều sâu là gì? Giải thuật tìm kiếm theo phía sâu (Depth First Search – viết tắt là DFS), còn được coi là giải thuật kiếm tìm ưu tiên chiều sâu, là giải thuật duyệt hoặc kiếm tìm trên một cây hoặc một đồ thị và sử dụng stack (ngăn

Shell Sort Trong Cấu Trúc Dữ Liệu Và Giải Thuật

Shell Sort Trong Cấu Trúc Dữ Liệu Và Giải Thuật

Shell Sort là gì? Shell Sort là một giải thuật sắp xếp đem lại hiệu quả cao dựa theo giải thuật sắp xếp chèn (Insertion Sort) . Giải thuật này tránh mọi tình huống phải tráo đổi địa thế của hai thành phần xa nhau trong giải thuật bố trí chọn (nếu như phần tử