CTDL & Thuật toán
Tổng hợp các bài tập tư duy lập trình, các cấu trúc dữ liệu như Stack, Queue, Cây....Các thuật toán sắp xếp, thăm lăm, quy hoạch động, đệ quy, quay lui, đồ thị...., Một số bài toán Kinh điển như bài toán cái túi, đi tuần, số fibonacci...
Thuật toán tính dãy số Fibonacci bằng 3 cách trong C/C++
Fibonacci là dãy số kinh điển trong toán học được tìm thấy cách đây hơn 800 năm. Đến nay các nhà khoa học phát hiện nhiều trùng hợp thú vị về dãy số này trong tự nhiên. Dãy Fibonacci là dãy vô hạn các số tự nhiên bắt đầu bằng 1 và 1, sau đó các số tiếp theo sẽ bằng tổng của 2 số liền trước nó. Cụ thể, các số...
Tìm hiểu về Thuật toán quay lui (Backtracking)
DANH SÁCH BÀI VIẾT Tìm hiểu thuật toán Quy hoạch động Tìm hiểu về Hàm đệ quy Thuật toán tìm kiếm nhị Tìm hiểu về Thuật toán quay lui (Backtracking) Tìm hiểu thuật toán Loang Tìm hiểu thuật toán chia để trị Tìm hiểu thuật toán tham lam trong lập trình Giải thuật tìm kiếm theo chiều sâu DFS (Depth First Search) Giải thuật tìm kiếm theo chiều rộng BFS (Breadth-first search) Tìm hiểu về thuật toán Sàng nguyên tố...
Tìm hiểu về thuật toán Sàng nguyên tố (sàng Eratosthenes)
DANH SÁCH BÀI VIẾT Tìm hiểu thuật toán Quy hoạch động Tìm hiểu về Hàm đệ quy Thuật toán tìm kiếm nhị Tìm hiểu về Thuật toán quay lui (Backtracking) Tìm hiểu thuật toán Loang Tìm hiểu thuật toán chia để trị Tìm hiểu thuật toán tham lam trong lập trình Giải thuật tìm kiếm theo chiều sâu DFS (Depth First Search) Giải thuật tìm kiếm theo chiều rộng BFS (Breadth-first search) Tìm hiểu về thuật toán Sàng nguyên tố...
Thuật toán sắp xếp chọn(Selection Sort)
Trong bài viết này Blog tuicocach.com sẽ giới thiệu tới các bạn thuật toán sắp xếp chọn. Đây là một trong các thuật toán sắp xếp căn bản thường dùng. DANH SÁCH BÀI VIẾT Thuật toán sắp xếp nhanh (Quick Sort) Thuật toán sắp xếp trộn (Merge Sort) Thuật toán sắp xếp đổi chỗ trực tiếp (Interchange Sort) Thuật toán sắp xếp nổi bọt (Bubble Sort) Thuật toán sắp xếp chọn(Selection Sort) Thuật toán sắp xếp chèn (Insertion sort) Ý tưởng của...
Thuật toán sắp xếp trộn (Merge Sort)
Trong bài viết này Blog tuicocach.com sẽ giới thiệu tới các bạn thuật toán sắp xếp trộn(Merge Sort). Đây là một trong các thuật toán sắp xếp căn bản thường dùng. DANH SÁCH BÀI VIẾT Thuật toán sắp xếp nhanh (Quick Sort) Thuật toán sắp xếp trộn (Merge Sort) Thuật toán sắp xếp đổi chỗ trực tiếp (Interchange Sort) Thuật toán sắp xếp nổi bọt (Bubble Sort) Thuật toán sắp xếp chọn(Selection Sort) Thuật toán sắp xếp chèn (Insertion sort) Ý tưởng...
Thuật toán sắp xếp nhanh (Quick Sort)
Trong bài viết này Blog tuicocach.com sẽ giới thiệu tới các bạn thuật toán sắp xếp nhanh(Quick Sort). Đây là một trong các thuật toán sắp xếp căn bản thường dùng. DANH SÁCH BÀI VIẾT Thuật toán sắp xếp nhanh (Quick Sort) Thuật toán sắp xếp trộn (Merge Sort) Thuật toán sắp xếp đổi chỗ trực tiếp (Interchange Sort) Thuật toán sắp xếp nổi bọt (Bubble Sort) Thuật toán sắp xếp chọn(Selection Sort) Thuật toán sắp xếp chèn (Insertion sort) Ý tưởng...
Cách tìm UCLN và BCNN trong lập trình C/C++
Tiếp tục Series bài viết CTDL & Thuật toán, hôm nay hãy cùng blog TUICOCACH.COM tìm hiểu về thuật toán tìm UCLN và BCNN trong bài viết dưới đây nhé. Giới thiệu bài toán UCLN, BCNN Bài toán tìm ước chung lớn nhất, bội chung nhỏ nhất C/C++ là một bài toán rất hay trong lập trình cơ bản, hầu hết các bạn mới học lập trình đều rất hứng thú với nó. Bài toán...
Tìm hiểu về Hàm đệ quy trong lập trình
DANH SÁCH BÀI VIẾT Tìm hiểu thuật toán Quy hoạch động Tìm hiểu về Hàm đệ quy Thuật toán tìm kiếm nhị Tìm hiểu về Thuật toán quay lui (Backtracking) Tìm hiểu thuật toán Loang Tìm hiểu thuật toán chia để trị Tìm hiểu thuật toán tham lam trong lập trình Giải thuật tìm kiếm theo chiều sâu DFS (Depth First Search) Giải thuật tìm kiếm theo chiều rộng BFS (Breadth-first search) Tìm hiểu về thuật toán Sàng nguyên tố...
Thuật toán tìm kiếm nhị phân trong C/C++
DANH SÁCH BÀI VIẾT Tìm hiểu thuật toán Quy hoạch động Tìm hiểu về Hàm đệ quy Thuật toán tìm kiếm nhị Tìm hiểu về Thuật toán quay lui (Backtracking) Tìm hiểu thuật toán Loang Tìm hiểu thuật toán chia để trị Tìm hiểu thuật toán tham lam trong lập trình Giải thuật tìm kiếm theo chiều sâu DFS (Depth First Search) Giải thuật tìm kiếm theo chiều rộng BFS (Breadth-first search) Tìm hiểu về thuật toán Sàng nguyên tố...
Thuật toán sắp xếp nổi bọt (Bubble Sort)
Trong bài viết này Blog tuicocach.com sẽ giới thiệu tới các bạn thuật toán sắp xếp nổi bọt. Đây là một trong các thuật toán sắp xếp căn bản thường dùng. DANH SÁCH BÀI VIẾT Thuật toán sắp xếp nhanh (Quick Sort) Thuật toán sắp xếp trộn (Merge Sort) Thuật toán sắp xếp đổi chỗ trực tiếp (Interchange Sort) Thuật toán sắp xếp nổi bọt (Bubble Sort) Thuật toán sắp xếp chọn(Selection Sort) Thuật toán sắp xếp chèn (Insertion sort) Ý tưởng...
Thuật toán sắp xếp đổi chỗ trực tiếp (Interchange Sort)
Trong bài viết này Blog tuicocach.com sẽ giới thiệu tới các bạn thuật toán sắp xếp đổi chỗ trực tiếp. Đây là một trong 7 thuật toán sắp xếp căn bản thường dùng. DANH SÁCH BÀI VIẾT Thuật toán sắp xếp nhanh (Quick Sort) Thuật toán sắp xếp trộn (Merge Sort) Thuật toán sắp xếp đổi chỗ trực tiếp (Interchange Sort) Thuật toán sắp xếp nổi bọt (Bubble Sort) Thuật toán sắp xếp chọn(Selection Sort) Thuật toán sắp xếp chèn (Insertion...
Thuật toán đếm số lượng chữ số của số nguyên dương n bằng C / C++
Trong bài viết này chúng ta sẽ thực hiện viết thuật toán cho chương trình đếm các chữ số của số nguyên dương n bằng C/C++. Ví dụ 1234 có 4 chữ số, 297429 có 6 chữ số,.... Ở đây mình sẽ sử dụng 2 cách để tìm số lượng số.... Cách 1: Sử dụng vòng lặp while, do...while Đối với cách này tương đối đơn giản, chúng ta sẽ hiểu như thế...
Thuật toán sắp xếp chèn (Insertion sort)
Trong bài viết này Blog tuicocach.com sẽ giới thiệu tới các bạn thuật toán sắp xếp chèn. Đây là một trong các thuật toán sắp xếp căn bản thường dùng. DANH SÁCH BÀI VIẾT Thuật toán sắp xếp nhanh (Quick Sort) Thuật toán sắp xếp trộn (Merge Sort) Thuật toán sắp xếp đổi chỗ trực tiếp (Interchange Sort) Thuật toán sắp xếp nổi bọt (Bubble Sort) Thuật toán sắp xếp chọn(Selection Sort) Thuật toán sắp xếp chèn (Insertion sort) Ý...
Bài toán Quản lý sinh viên sử dụng cấu trúc dữ liệu Danh sách liên kết đơn
Trong bài viết hôm nay chúng ta sẽ xây dựng chương trình Quản lý sinh viên trên C/C++ sử dụng sanh sách liên kết đơn(Linked List). Quản lý sinh viên sử dụng cấu trúc dữ liệu Linked List Cụ thể trong bài này mình sẽ thực hiện viết chương trình quản lý sinh viên, mỗi sinh viên sẽ bao gồm các thông tin là mã sinh viên, họ tên, điểm trung bình....
Sinh các chuỗi nhị phân có độ dài bằng n trong C/C++ - Thuật toán
Chắc hẳn ai học về giải thuật cũng đã từng nghe qua và làm về bài toán đưa ra chuỗi nhị phân độ dài N rồi, nhưng nếu bạn vẫn chưa hoặc đang tìm hiểu. Vậy, trong bài viết này blog TUICOCACH.COM sẽ cùng các bạn tìm cách giải cũng như làm sao để tối ưu nhất cho thuật toán sinh dãy nhị phân có độ dài N với lập...
Tìm hiểu thuật toán Loang trong lập trình - Chương trình mô phỏng Loang
DANH SÁCH BÀI VIẾT Tìm hiểu thuật toán Quy hoạch động Tìm hiểu về Hàm đệ quy Thuật toán tìm kiếm nhị Tìm hiểu về Thuật toán quay lui (Backtracking) Tìm hiểu thuật toán Loang Tìm hiểu thuật toán chia để trị Tìm hiểu thuật toán tham lam trong lập trình Giải thuật tìm kiếm theo chiều sâu DFS (Depth First Search) Giải thuật tìm kiếm theo chiều rộng BFS (Breadth-first search) Tìm hiểu về thuật toán Sàng nguyên tố...
Tìm hiểu thuật toán tham lam trong lập trình
DANH SÁCH BÀI VIẾT Tìm hiểu thuật toán Quy hoạch động Tìm hiểu về Hàm đệ quy Thuật toán tìm kiếm nhị Tìm hiểu về Thuật toán quay lui (Backtracking) Tìm hiểu thuật toán Loang Tìm hiểu thuật toán chia để trị Tìm hiểu thuật toán tham lam trong lập trình Giải thuật tìm kiếm theo chiều sâu DFS (Depth First Search) Giải thuật tìm kiếm theo chiều rộng BFS (Breadth-first search) Tìm hiểu về thuật toán Sàng nguyên tố...
Tìm hiểu thuật toán chia để trị trong lập trình, ví dụ áp dụng
DANH SÁCH BÀI VIẾT Tìm hiểu thuật toán Quy hoạch động Tìm hiểu về Hàm đệ quy Thuật toán tìm kiếm nhị Tìm hiểu về Thuật toán quay lui (Backtracking) Tìm hiểu thuật toán Loang Tìm hiểu thuật toán chia để trị Tìm hiểu thuật toán tham lam trong lập trình Giải thuật tìm kiếm theo chiều sâu DFS (Depth First Search) Giải thuật tìm kiếm theo chiều rộng BFS (Breadth-first search) Tìm hiểu về thuật toán Sàng nguyên tố...
Tìm hiểu thuật toán vét cạn trong lập trình
Vét cạn là một trong những thuật toán được áp dụng tương đối nhiều trong các bài toán thực tế, vậy thuật toán vét cạn là gì, khi nào cần dùng, làm sao áp dụng thì chúng ta sẽ cùng tìm hiểu trong bài viết này. Thuật toán vét cạn Ý tưởng của vét cạn là tạo ra hết tất cả các lời giải có thể có của một bài toán, và...
Tìm hiểu thuật toán Quy hoạch động
DANH SÁCH BÀI VIẾT Tìm hiểu thuật toán Quy hoạch động Tìm hiểu về Hàm đệ quy Thuật toán tìm kiếm nhị Tìm hiểu về Thuật toán quay lui (Backtracking) Tìm hiểu thuật toán Loang Tìm hiểu thuật toán chia để trị Tìm hiểu thuật toán tham lam trong lập trình Giải thuật tìm kiếm theo chiều sâu DFS (Depth First Search) Giải thuật tìm kiếm theo chiều rộng BFS (Breadth-first search) Tìm hiểu về thuật toán Sàng nguyên tố...
Giải thuật tìm kiếm theo chiều rộng BFS (Breadth-first search)
DANH SÁCH BÀI VIẾT Tìm hiểu thuật toán Quy hoạch động Tìm hiểu về Hàm đệ quy Thuật toán tìm kiếm nhị Tìm hiểu về Thuật toán quay lui (Backtracking) Tìm hiểu thuật toán Loang Tìm hiểu thuật toán chia để trị Tìm hiểu thuật toán tham lam trong lập trình Giải thuật tìm kiếm theo chiều sâu DFS (Depth First Search) Giải thuật tìm kiếm theo chiều rộng BFS (Breadth-first search) Tìm hiểu về thuật toán Sàng nguyên tố...
Duyệt đồ thị, tìm kiếm đường đi dài nhất, đường đi ngắn nhất trong đồ thị
DANH SÁCH BÀI VIẾT Giải thuật tìm kiếm theo chiều rộng BFS (Breadth-first search) Giải thuật tìm kiếm theo chiều sâu DFS (Depth First Search) Duyệt đồ thị, tìm kiếm đường đi dài nhất, đường đi ngắn nhất trong đồ thị Kiểm tra đồ thị liên thông trong bài toán đồ thị lập trình Trong bài viết này chúng ta sẽ cùng làm các bài tập liên quan tới đồ thị là duyệt đồ thị,...
Kiểm tra tính liên thông của đồ thị trong lập trình
DANH SÁCH BÀI VIẾT Giải thuật tìm kiếm theo chiều rộng BFS (Breadth-first search) Giải thuật tìm kiếm theo chiều sâu DFS (Depth First Search) Duyệt đồ thị, tìm kiếm đường đi dài nhất, đường đi ngắn nhất trong đồ thị Kiểm tra tính liên thông của đồ thị trong lập trình Đồ thị liên thông có nghĩa là từ mọi đỉnh bất kì đều sẽ có đường đi trực tiếp hoặc gián tiếp...
Giải thuật tìm kiếm theo chiều sâu DFS (Depth First Search)
DANH SÁCH BÀI VIẾT Tìm hiểu thuật toán Quy hoạch động Tìm hiểu về Hàm đệ quy Thuật toán tìm kiếm nhị Tìm hiểu về Thuật toán quay lui (Backtracking) Tìm hiểu thuật toán Loang Tìm hiểu thuật toán chia để trị Tìm hiểu thuật toán tham lam trong lập trình Giải thuật tìm kiếm theo chiều sâu DFS (Depth First Search) Giải thuật tìm kiếm theo chiều rộng BFS (Breadth-first search) Tìm hiểu về thuật toán Sàng nguyên tố...
Tìm dãy con có tổng trọng số lớn nhất trong lập trình C/C++
XEM THÊM Duyệt đồ thị, tìm kiếm đường đi dài nhất, đường đi ngắn nhất trong đồ thị Kiểm tra đồ thị liên thông trong bài toán đồ thị lập trình Sinh các chuỗi nhị phân có độ dài bằng n trong C/C++ Tìm dãy con có tổng trọng số lớn nhất trong lập trình C/C++ Tính A^n bằng phương pháp chia để trị Quy hoạch động tìm xâu con chung độ dài lớn nhất Trong bài...
Tính A^n bằng phương pháp chia để trị
Tất nhiên để tính A mũ n trong lập trình C/C++ thì ta có thể tính luôn bằng hàm pow, hoặc không dùng hàm thì cũng có thể dùng cách đơn giản hơn là duyệt vòng lặp. Nhưng trong bài viết này chúng ta sẽ sử dụng chia để trị, mục đích là nhằm nắm chắc hơn phương pháp thuật toán này. XEM THÊM Duyệt đồ thị, tìm kiếm đường đi dài...
Quy hoạch động tìm xâu con chung độ dài lớn nhất
Bài toán xâu con chung dài nhất là một bài toán kinh điển cho việc ứng dụng thuật toán quy hoạch động để giải quyết. DANH SÁCH BÀI VIẾT Duyệt đồ thị, tìm kiếm đường đi dài nhất, đường đi ngắn nhất trong đồ thị Kiểm tra đồ thị liên thông trong bài toán đồ thị lập trình Sinh các chuỗi nhị phân có độ dài bằng n trong C/C++ Tìm dãy con có tổng...