Tổng hợp khóa học lập trình miễn phí
Trang chủ Cấu trúc dữ liệu và giải thuật

Cấu trúc dữ liệu và giải thuật

Thuật toán Dijkstra - Tìm đường đi ngắn nhất
Dijkstra là một trong những thuật toán rất nổi tiếng trong giới lập trình. Nghe tới những bài toán liên quan tới tìm đường đi ngắn nhất là nghĩ ngay tới thuật toán Dijkstra. Dijkstra là thuật toán được đặt tên theo nhà khoa học máy tính người Phần Lan, người đã phát minh ra nó. Thuật toán này nhằm...
Ngăn xếp stack - cách cài đặt
Chào mừng các bạn quay trở lại với series thuật toán - cấu trúc dữ liệu và giải thuật của VNTALKING. Bài viết hôm nay, chúng ta sẽ cùng nhau tìm hiểu một loại cấu trúc dữ liệu rất phổ biến, đó là ngăn xếp Stack. Khi lập trình, chúng ta thường phải xử lý một lượng lớn dữ liệu...
thuật toán tìm kiếm nhị phân
Các bạn đã chán với thuật toán chưa? Học thuật toán hay mà ^^. Nối tiếp series thuật toán chuyên sâu này, chúng ta sẽ tiếp tục thảo luận về một thuật toán vô cùng phổ biến, nghe tên là bạn thấy quen liền. Đó là thuật toán tìm kiếm nhị phân hay Binary Search Tree. Chúng ta sẽ triển...
Tiếp tục series về thuật toán chuyên sâu, chúng ta cùng nhau tìm hiểu về một loại cấu trúc dữ liệu rất phổ biến, đó là Hàng đợi (Queue). Hàng đợi – Queue là kiểu cấu trúc dữ liệu tuyến tính, việc truy xuất dữ liệu của nó theo nguyên tắc FIFO, tức là dữ liệu vào trước thì lấy...
Thuật toán đảo ngược một danh sách Linked
Tiếp tục trong series thuật toán chuyên sâu, hôm nay chúng ta cùng nhau tìm hiểu một thuật toán khá phổ biến: đó là đảo ngược chuỗi liên kết đơn (Linked List). Vẫn như mọi khi, chúng ta sử dụng Java để triển khai thuật toán. Đảo ngược chuối liên kết (LinkedList) Linked List là một cấu trúc dữ liệu được sử...
binary-tree-level-order.png
Level Order Traversal là gì? Hãy cùng mình thảo luận về nó trong bài viết này nhé! Ngoài ra, mình sẽ in từng cấp độ của tree và mình sẽ sử dụng hai cách tiếp cận chính là Recursive (Đệ quy) và Iterative để xem sự khác biệt về độ phức tạp giữa chúng là gì. Ok, bắt đầu thôi...
thuật toán quicksort
Quay trở lại với series thuật toán của VNTALKING. Hôm nay, mình sẽ giới thiệu tới các bạn một thuật toán rất phổ biến, đó là thuật toán sắp xếp nhanh (Quick Sort). Thuật toán QuickSort là một trong những thuật toán sắp xếp được sử dụng nhiều nhất, đặc biệt là để sắp xếp các lists/arrays có nhiều phần...
Tìm ước chung lớn nhất
Nằm trong series học thuật toán - cấu trúc dữ liệu và giải thuật, chúng ta cùng nhau tìm hiểu các phương pháp để tìm ước chung lớn nhất, code được minh họa bằng Java. Trước hết, chúng ta cùng nhau tìm hiểu lý thuyết trước đã nhé. Định nghĩa ước chung lớn nhất Trước khi hiểu ước chung lớn nhất, bạn...
thuật toán là gì
Có bao giờ bạn đặt câu hỏi: liệu làm lập trình viên có cần phải giỏi thuật toán không? Bài viết này chúng ta cùng nhau bàn luận các thuật toán trong lập trình nhé! Cuộc sống là chuỗi những vấn đề cần phải giải quyết. Khi ta giải quyết vấn đề và càng đi sâu thì càng nảy sinh...
Tổng hợp khóa học lập trình miễn phí

Bài viết quan tâm

​Đăng ký để nhận ​miễn phí khóa học lập trình Nodejs trong 7 ngày [Video].