Category Archives: Lập trình

Cách rất tốt để tiêu pha/phí tuổi trẻ …

Các câu hỏi phỏng vấn [42]

Cho một cây nhị phân với cấu trúc đỉnh như sau: viết hàm void foo(BTNode* root) nhận vào con trỏ đến gốc cây và in ra các node trên cây theo thứ tự inorder mà chỉ được dùng O(1)-không gian. (Do đó, các loại giải pháp dùng recursion hay dùng stack là không được phép.) […]

Chủ đề Lập trình | Tagged , , | 3 phản hồi »

Danh sách liên kết và danh sách nhảy cóc

Bài giảng cho lớp cấu trúc dữ liệu. Bạn nào rảnh đọc thì góp ý giùm, nhất là phần C++. Bài trước: Lớp Vector và phân tích khấu hao Bài sau: cây nhị phân và cây tìm kiếm nhị phân. 1. Singly linked lists The UBVector class and dynamic arrays in general have several disadvantages: […]

Cũng thuộc về chủ đề C++, Cấu trúc dữ liệu | Tagged , , , | 6 phản hồi »

Lớp Vector và phân tích khấu hao

Bài giảng cho lớp cấu trúc dữ liệu. Bạn nào rảnh đọc thì góp ý giùm, nhất là phần C++. Bài trước: tìm kiếm và sắp xếp Bài sau: danh sách liên kết và danh sách nhảy cóc. 1. Implementing a UBVector class We have used C++’s built-in vector class quite extensively thus far. In […]

Cũng thuộc về chủ đề C++, Cấu trúc dữ liệu | Tagged , , , | 2 phản hồi »

Tìm kiếm và sắp xếp

Bài giảng cho lớp cấu trúc dữ liệu. Bạn nào rảnh đọc thì góp ý giùm, nhất là phần C++. Bài trước: thuật toán tồi tệ nhất trong lịch sử nhân loại Bài sau: lớp Vector và phân tích khấu hao. 1. Binary search Searching for a key (int, say) in a vector of integers […]

Cũng thuộc về chủ đề Cấu trúc dữ liệu, Thuật Toán | Tagged , , , | 16 phản hồi »

Thuật toán tồi tệ nhất trong lịch sử nhân loại

Đặt tít để câu view. Số là học kỳ này tôi dạy lớp cấu trúc dữ liệu. Đây là lớp undergrad đầu tiên tôi dạy từ trước đến nay, cho sinh viên năm 1 năm 2 nên viết bài giảng khá chi tiết. Có bài giảng này mới viết, có vẻ thích hợp cho blog […]

Cũng thuộc về chủ đề Thuật Toán | Tagged , , | 9 phản hồi »

Thơ Scheme

Posted to comp.lang.scheme on January 17, 1996, for Scheme’s twentieth birthday:

Cũng thuộc về chủ đề Vui - Giải Trí | Tagged , | 1 phản hồi »

C++ : Cout cái gì?

Chương trình sau đây sẽ không in ra cái ta muốn xem. Đố: Tại sao? Và sửa lại như thế nào?

Cũng thuộc về chủ đề Vui - Giải Trí | Tagged , , | 4 phản hồi »

Chép và dán

Tôi cần syntax highlight cho powerpoint presentations. PPT không có chức năng này. (Tại sao, Microsoft?) Ví dụ, tôi muốn có một slide trông như sau: Google chỉ cho một số cách. Cách mà hiện nay tôi thấy tương đối nhẹ nhàng bao gồm những bước sau đây: Chép và dán mã nguồn (từ vi/emacs) […]

Chủ đề Lập trình | Tagged , , | 11 phản hồi »

Hỏi: kỹ thuật map chuỗi thành hàm

Một tác vụ thường gặp trong nhiều chương trình là tác vụ sau đây. Ví dụ trong C++. Với mỗi chuỗi nhập std::string str khác nhau, ta cần gọi một hàm tương ứng. Ví dụ, nếu str == “sin” thì ta gọi hàm sin, str == “abc” thì ta gọi hàm foo(), còn nếu str […]

Chủ đề Lập trình | Tagged , , , | 10 phản hồi »

Nhạc khi lập trình

Chủ đề Lập trình | Tagged , | 4 phản hồi »

Các câu hỏi phỏng vấn [40]

Một sinh viên khoa tôi mới đi phỏng vấn tháng rồi. (Anh ta sẽ làm việc ở Groupon.) Có câu hỏi sau đây rất hay. Viết wrapper functions Malloc() và Free() dùng malloc() và free() sao cho Malloc() luôn trả về một con trỏ “memory word aligned”, nôm na là con trỏ trỏ đến địa […]

Cũng thuộc về chủ đề Dành cho du học sinh | Tagged , , | 11 phản hồi »

PM 3: Thuật toán Boyer-Moore

PM 2: Pattern matching bằng automaton đơn định PM 4: Thuật Toán Apostolico-Crochemore Thuật toán KMP được thiết kế khoảng 1969-1970, mặc dù bài báo KMP phải đến 1977 mới ra bản in. Năm 1974, Robert S. Moyer và J. Strother Moore (và độc lập với họ, cả R. W. Gosper) đã đề xuất một […]

Cũng thuộc về chủ đề Thuật Toán | Tagged , , , | Phản hồi »

Các câu hỏi phỏng vấn [39]

Viết một thủ tục (bằng C hay Python) làm tác vụ sau đây. Cho một chuỗi ký tự p[0..m-1], tính chuỗi số ms[0..m-1], trong đó ms[i] bằng chiều dài của hậu tố (suffix) chung dài nhất của hai chuỗi p[0..m-1] và p[0..i]. Tất nhiên, yêu cầu là viết mã gọn và chạy nhanh. Lưu ý, […]

Cũng thuộc về chủ đề Python, Vui - Giải Trí | Tagged , | 4 phản hồi »

PM 2: Pattern matching bằng automaton đơn định

PM 1: Thuật toán Knuth-Morris-Pratt PM 3: Thuật toán Boyer-Moore 1. Phép xây dựng DFA cơ bắp Chúng ta đang xét bài toán tìm tất cả các xuất hiện của chuỗi p[0..m-1] trong chuỗi s[0..n-1], với bộ ký tự là Σ. Thuật toán KMP thật ra cũng chỉ là mô phỏng một automaton đơn định […]

Cũng thuộc về chủ đề Thuật Toán | Tagged , , | 1 phản hồi »

PM 1: Thuật toán Knuth-Morris-Pratt

PM 2: Pattern matching bằng automaton đơn định Pattern matching là một trong những bài toán cơ bản và quan trọng nhất của ngành máy tính. Tìm patterns trong các chuỗi-DNA là bài toán cơ bản của sinh tin học. Các phần mềm quét virus hiện đại có mấy chục triệu “patterns” là các “chữ […]

Cũng thuộc về chủ đề Thuật Toán | Tagged , , , , , | 12 phản hồi »