Tìm kiếm theo chiều rộng và chiều sâu: Cài đặt từ cơ bản đến nâng cao
Tìm kiếm theo chiều rộng (BFS) là kỹ thuật duyệt đồ thị hoặc lưới bắt đầu từ một điểm, mở rộng đều các nút ở cùng một cấp độ trước khi đi sâu hơn. Thực hiện bằng cấu trúc hàng đợi, mỗi đỉnh chỉ được thêm vào một lần nên không cần hoàn tác trạng thái đã duyệt như trong DFS.
Cài đặt BFS tìm đường đi ngắn nhất
Đoạn mã sau minh họa cách tìm đường ...
Đăng vào ngày 26 tháng 9 lúc 19:29
Chiến lược tìm kiếm DFS và BFS trong giải quyết bài toán không gian trạng thái
1. Khái niệm cốt lõi về tìm kiếm
Trong lập trình thuật toán, tìm kiếm (Search) là chiến lược khám phá hệ thống một không gian các lời giải khả thi để tìm ra một hoặc toàn bộ các cấu hình thỏa mãn điều kiện cho trước. Đây là nền tảng của các bài toán tối ưu hóa và tổ hợp khi không có công thức giải trực tiếp.
Tìm kiếm theo chiều sâu (Depth-Fir ...
Đăng vào ngày 15 tháng 9 lúc 09:50
Thao tác Biến đổi và Kết nối trên Đồ Thị với Spark GraphX
Các thao tác biến đổi đồ thị
Đồ thị trong GraphX cung cấp hai phương thức chính để biến đổi thành phần:
mapVertices(): Ánh xạ lại thuộc tính đỉnh, tạo đồ thị mới
mapEdges(): Biến đổi trọng số cạnh, trả về đồ thị đã cập nhật
println("Biến đổi đỉnh: tăng tuổi thêm 5")
doThi.mapVertices((id, info) => (id, (info._1, info._2 + 5)))
.vertices. ...
Đăng vào ngày 9 tháng 8 lúc 18:20
Kỳ thi Lập trình Viên Mới ABC394: Phân tích Bài Giải
Bài A: Lọc Ký Tự 2
Yêu cầu: Cho chuỗi ký tự đầu vào, in ra chuỗi chỉ chứa các ký tự số 2
Giải pháp:
Xem mã nguồn
#include <iostream>
#include <string>
using namespace std;
int main() {
string str;
cin >> str;
string result;
for(char c : str) {
if(c == '2') result += c;
}
cout << result;
...
Đăng vào ngày 20 tháng 5 lúc 10:03