[Stack]- SPOJ ONP – Transfer the expression – Infix to Postfix

Link: http://www.spoj.com/problems/ONP/ Giải thích SPOJ ONP Chuyển cách biểu diễn 1 biểu thức từ infix sang postfix ( các bạn google để hiểu thêm hihi). Thứ tự biểu thức quy định bởi dấu ngoặc đơn. (). Ví dụ: (a+b) —–> ab+ (((a+t)*((b+(a+c))^(c+d)))*(c+d+e)) —–>  a t + b a c + + c d + ^ * c […]

Continue reading


[BFS] – SPOJ PPATH

Link: http://www.spoj.com/problems/PPATH/ Hiểu đề PPATH spoj Bạn đuợc cho 2 số nguyen tố 4 chữ số. Việc của bạn là tìm số bước ngắn nhất để biến số nguyen tố thứ 1 thành số thứ 2. Quy định rang trong mỗi bước bạn chỉ đổi được 1 trong 4 chữ số của số thứ 1 để đợợc 1 số nguyen tố mới. Cứ […]

Continue reading


[BFS] – Dhoom4 – Hackereath

Link đề bài: https://www.hackerearth.com/practice/algorithms/graphs/breadth-first-search/practice-problems/algorithm/dhoom-4/description/ 1. Giải thích đề BFS Dhoom hackerearth Bạn có chìa khóa mang giá trị cho trước và một giá trị khóa cần tìm. Cho bạn danh sách các giá trị. Hỏi bạn có thể nhân lần lượt giá trị chìa khóa lần lượt với các số trong danh sách để được giá […]

Continue reading


Bài 1: Ma trận kề C++/Pascal Lý thuyết đồ thị

Trong lý thuyết đồ thị, việc tổ chức dữ liệu cho từng bài toán, thuật toán rất quan trọng, nó quyết định kích thước dữ liệu bài toán, thời gian thực tế của bài toán. Vì vậy trong bài viết này mình sẽ giới thiệu các bạn một số cách tổ chức dữ liệu trong […]

Continue reading


Bài 6: Thuật toán loang trên ma trận

Thuật toán loang (Thuật toán vết dầu loang) là một trong những thuật toán được dùng khá nhiều trong tin học, điển hình là thuật toán loang trên ma trận này được ứng dụng để đếm số thành phần liên thông trên ma trận. Nó trong các trò chơi nổi tiếng như line 98, trò […]

Continue reading


Bài 4: Thuật toán tìm kiếm theo chiều sâu DFS pascal c++

Thuật toán tìm kiếm theo chiều sâu DFS là thuật toán tìm kiếm trên cây hoặc đồ thị. Thuật toán này khác với BFS ở chỗ BFS duyệt theo chiều rộng (những đỉnh gần đỉnh gốc sẽ được thăm trước), còn DFS duyệt theo chiều sâu (Xuất phát từ đỉnh gốc, từ đỉnh đó phát […]

Continue reading


[Cơ bản] Ứng dụng BFS để giải quyết bài tập đường đi của quân mã trong đồ thị

Như các bạn đã biết, BFS là thuật toán duyệt theo chiều rộng, thuật toán này có thể ra tìm đường đi ngắn nhất, trong mô hình đồ thị cơ bản chúng ta không chỉ dùng bfs trên các đỉnh thông thường, mà chúng ta còn có thể dùng BFS để giải quyết các bài […]

Continue reading


Bài 5: Thuật toán tìm kiếm theo chiều rộng BFS pascal c++

Thuật toán tìm kiếm theo chiều rộng BFS là thuật toán tìm kiếm trong đồ thị bằng cách tìm kiếm dựa trên 2 thao tác chính là: cho trước một đỉnh của đồ thị và thêm các đỉnh kề với nó vào danh sách chờ duyệt. Phương pháp cài đặt này là “lập lịch” để […]

Continue reading