Yearly Archives | 2013

[Cây] Một số phép toán trên cây nhị phân tìm kiếm

[qads] Cây nhị phân tìm kiếm (CNPTK) là cây nhị phân trong đó tại mỗi nút, khóa của nút đang xét lớn hơn khóa của tất cả các nút thuộc cây con trái và nhỏ hơn khóa của tất cả các nút thuộc cây con phải. Dưới đây là một ví dụ về cây nhị phân tìm kiếm: Nội dung Cấu trúc cây Thêm phần tử vào cây Nhập cây Duyệt cây Tìm một node […]

Bảng mã ASCII – ASCII table

1. Mã ACSII là gì? ACSII (American Standard Code for Information Interchange – Chuẩn mã trao đổi thông tin Hoa Kỳ), thường được phát âm là át-xơ-ki, là bộ ký tự và bộ mã ký tự dựa trên bảng chữ cái La Tinh được dùng trong tiếng Anh hiện đại và các ngôn ngữ Tây Âu khác. Nó thường được dùng để hiển thị văn bản trong máy tính và các thiết bị thông tin […]

[Thuật toán – C/C++] Quick Sort – Các vấn đề liên quan

Trước tiên chúng ta tìm hiểu ý tưởng thuật toán Ý tưởng: QuickSort chia mảng thành hai danh sách bằng cách so sánh từng phần tử của danh sách với một phần tử được chọn được gọi là phần tử chốt. Những phần tử nhỏ hơn hoặc bằng phần tử chốt được đưa về phía trước và nằm trong danh sách con thứ nhất, các phần tử lớn hơn chốt được đưa về phía sau […]

[Thuật toán – Java] Chuyển biểu thức trung tố sang hậu tố – Java – converts infix to postfix

Các biểu thức đại số được sử dụng hằng ngày đều được biểu diễn dưới dạng trung tố (infix). Cách biểu diễn này rất dễ hiểu với con người vì hầu hết các toán tử (+, -, *, /) đều là toán tử hai ngôi và chúng phân cách giữa hai toán hạng với nhau. Tuy nhiên đối với máy tính, để tính được giá trị của một biểu thức đại số theo dạng này […]

[C/C++] Tính toán với số lớn

Để xử lý số lớn chúng ta sẽ chuyển sang xử lý chuỗi ký tự. Trong code dưới đây các bạn chú ý phuơng thức str.insert(int pos, int n, int ch); chèn n lần ký tự ch vào vị trí pos của chuỗi str; Ngoài ra còn có 2 phương thức khác là : str.insert(int pos, char* s); chèn s (mảng ký tự kết thúc ‘’) vào vị trí pos của str; str.insert(int pos, string […]

[Pascal – TUT] Bài 10: Tệp trong pascal – Kiểu file

1 Khái niệm về tệp: Tệp là một dãy các phần tử cùng kiểu được sắp xếp một cách tuần tự. Tệp dữ liệu được lưu trữ ở bộ nhớ ngoài dưới một tên nào đó. Tệp tập hợp trong nó một số phần tử dữ liệu có cùng cấu trúc giống như mảng nhưng khác mảng là số phần tử của tệp chưa được xác định. [qads] Trong Pascal có 3 loại tệp được […]

[Pascal – TUT] – Bài 11 : Con trỏ trong Pascal

Do trình tự post bài có chút nhầm lẫn nên Bài 10: Tệp trong pascal – Kiểu file đã được viết trước đó, các bạn xem tại đây nhé. Trong quá trình làm việc chúng ta thường phải làm việc với các danh sách dài và tất nhiên chúng ta sẽ nghĩ đến việc dùng mảng ngay lập tức. Tuy nhiên việc dùng mảng không phải lúc nào cũng được, với các danh sách dài […]

[C/C++] Bắt sự kiện chuột trong C trên Ubuntu – Mouse event C on Ubuntu

Để bắt được sự kiện chuột trong ubuntu chúng ta sử dụng thư viện X11/Xlib.h. Cài thư viện này bằng lệnh: sudo apt-get install libx11-dev Đây là một chuơng trình minh họa từ trang http://stackoverflow.com/questions/14553435/how-to-listen-for-mouse-events-in-linux Tuy nhiên thì mình vẫn chưa biết cách sử dụng nó trong đồ họa. Rất mong các bạn chia sẻ về vấn đề này. Tham khảo: Click chuột trong Dev-C++

Lát gạch 2*n

Đề bài: http://vn.spoj.com/problems/LATGACH/ Đầu tiên ta xét hình chữ nhật 2×1 thì có 1 cách xếp đó là xếp 1 viên gạch 2×1. Xét hình chữ nhật 2×2 thì có 2 cách xếp đó là xếp 2 viên 1×2 hoặc 2 viên 2×1. Xét hình chữ nhật 2xi có các trường hợp sau với f(i) là số cách xếp cho hình chữ nhật 2xi. => f(i) = f(i-1) + f(i-2) với f(1) = 1 và […]

[Pascal – TUT] Bài 7: Chương trình con

1. Lợi ích của dùng chương trình con(CTC) – Chương trình có nhiều phân đoạn mỗi phân đoạn thực hiện một chức năng nào đó{ khi đó ta sử dụng ctc để làm các phân đoạn trên} – Trong chương trình, có những đoạn cần phải lập đi, lập lại nhiều lần ở những chỗ khác nhau. Để tránh phải viết lại các đoạn đó người ta thường phân chương trình ra thành nhiều CTC […]